ID:147468
 
I have a code i made was wondering if it would work. I cant check it because i cant host right now.Im trying to boot the person logging in if there is already a ip in the world as same as is Unless he's a Admin.
mob
Login()
..()
if((src.key in Admin))
..()
else
if(usr.client.address in world)
src << "AutoBoot-You are already Logged in On same computer"
del(src)
Turles9000 wrote:
I have a code i made was wondering if it would work. I cant check it because i cant host right now.Im trying to boot the person logging in if there is already a ip in the world as same as is Unless he's a Admin.
mob
Login()
..()
if((src.key in Admin))
..()
else
if(usr.client.address in world)
src << "AutoBoot-You are already Logged in On same computer"
del(src)

I have a question. What is:

if((src.key in Admin)) == ?????


Two parenthesies? You should use:

if(Admin.Find(src.key))


About your IP problem. Me and my brother have a router, and we both appear to have the same IP. When we want to play the same game on the same server, we can't. Do you know why? The owner has that little "IP Code" in his/her game.
In response to SSJ4_Gohan_Majin
SSJ4_Gohan_Majin wrote:
> if((src.key in Admin)) == ?????
>


That's correct, and in my opinion works better than the find proc. And, though it may keep some legit players out because of routers, it also keeps A LOT of non-legit multi-keyers out.
In response to SSJ4_Gohan_Majin
SSJ4_Gohan_Majin wrote:
Turles9000 wrote:
I have a code i made was wondering if it would work. I cant check it because i cant host right now.Im trying to boot the person logging in if there is already a ip in the world as same as is Unless he's a Admin.
mob
Login()
..()
if((src.key in Admin))
..()
else
if(usr.client.address in world)
src << "AutoBoot-You are already Logged in On same computer"
del(src)

I have a question. What is:

> if((src.key in Admin)) == ?????
>

Two parenthesies? You should use:

> if(Admin.Find(src.key))
>

About your IP problem. Me and my brother have a router, and we both appear to have the same IP. When we want to play the same game on the same server, we can't. Do you know why? The owner has that little "IP Code" in his/her game.

Yea, I hate IP "codes", It makes it a pain to play a game when you are on the same network with a sibling. I just skip games that use it as they are most likely full of trolls anyway.
In response to Goku72

That's correct, and in my opinion works better than the find proc.

What is the immediate difference between the two? I've always used Find.
I would make the code like this, As it will allow a player to prove to an admin that he is not multi-keying and give the admin the power to allow the connection.

note: this is compleately untested code. It is just an example.

var/savefile/allow = new("allow/[client]")

verb/mob/admin/allowkey(N as mob in world)
allow["address"] = N.client.address


mob
Login()
..()
if((src.key in Admin))
..()
else
if(allow["address"])
..()
else if(src.client.address in world)
src << "AutoBoot-You are already Logged in On same computer"
del(src)
I dont want to allow people to double key because even though i had the same problem with me and my brother not allowed to play the same game we did cheat if we had the chance.
In response to Xzar
I dislike systems that black the same IP for the same reason. I've involved most of my family in BYOND and it's not uncommon for us to tie up all 3 of our computers in a HrH session. :)

If you want to check for multikeying on one computer, you could always check the inactivity values of the clients. If separate clients from the same IP are all active at the same time, Then they are playing from separate computers on a LAN.

Hey i was wondering since it checked the ip after i logged in , in this line if(usr.client.address in world) wont it see your ip logged in and boot you.
In response to Shadowdarke
Shadowdarke wrote:
I dislike systems that black the same IP for the same reason. I've involved most of my family in BYOND and it's not uncommon for us to tie up all 3 of our computers in a HrH session. :)

If you want to check for multikeying on one computer, you could always check the inactivity values of the clients. If separate clients from the same IP are all active at the same time, Then they are playing from separate computers on a LAN.


yeah but me and my brother cheated on games before.
In response to Turles9000
Than learn how you cheated, and prevent it from being done in your game. Also, look at all the aspects to prevent cheating. I remember a bug in DWO that would allow you to get as much money as you cared to accept. Took some time, but you could be come filthy rich in under and hour at lvl 12(well, lvl1 if someone teleported you.)This has been fixed though, nolonger an issue. But this bug came from not thinking about the possiblitys of users with bad ideas.
In response to Scoobert
Yeah but i would have to disable the dropping of items and alot of Different functions to fix the different ways of cheating in the game by multi-keying.
In response to Shadowdarke
Shadowdarke wrote:
I dislike systems that black the same IP for the same reason. I've involved most of my family in BYOND and it's not uncommon for us to tie up all 3 of our computers in a HrH session. :)

If you want to check for multikeying on one computer, you could always check the inactivity values of the clients. If separate clients from the same IP are all active at the same time, Then they are playing from separate computers on a LAN.

yea, I know, I hate ip blocking systems. I like your idea much better then mine. using the inactivity values is a very good idea.
In response to Turles9000
I can cheat using just one key.

here is an example.

find a nice loc where no one is drop items then logout, login with other guy get items.

or using a friend via phone or IM, Tell them to meet me at XYZ and use them to tranfer items.
In response to Turles9000
Turles9000 wrote:
Hey i was wondering since it checked the ip after i logged in , in this line if(usr.client.address in world) wont it see your ip logged in and boot you.

Of course not. client.address is a string, and a string won't be part of world.contents. To check on IP addresses in use, you need to maintain a list of active addresses or loop through other clients.

Lummox JR
In response to Xzar
Yeah but you can only have 1 character on my game and you will have to ask me to delete save if you want to restart and Most people dont have real life friends that play byond anyway.
In response to Turles9000
Actualy, a lot of people have friends on byond. Anywho, transfering items is not cheating. If you want to prevent cheating, make sure your systems are cheat proof.
In response to Scoobert
What I say you do, is check the IP during cheat-critical points in the game, instead of disallowing them to play entirely. IE, in your death proc, have it check the killer's IP against the killee's IP, and don't award any gold or EXP if they are identical.
In response to Enigmaster2002
You shouldnt get exp from PVP battle anyways because people will cheat like hell. It just isnt a good idea.
In response to Scoobert
Well, I just dropped an example is all.
Page: 1 2