ID:138212
 
Im having a huge problem with some dude who dont have a life. This looser keeps signing into my game and spamming inapproriate language. Each time a ban the key he just comes back with another. He is ruining it for all the other players who enjoy the game. I would really appreciate a way to ban an ip address. I have a terrible temper hes lucky i dont assasinate him.
On 2/1/01 7:27 pm ebonshadow wrote:
Im having a huge problem with some dude who dont have a life. This looser keeps signing into my game and spamming inapproriate language. Each time a ban the key he just comes back with another. He is ruining it for all the other players who enjoy the game. I would really appreciate a way to ban an ip address. I have a terrible temper hes lucky i dont assasinate him.

You should be able to check the value of mob.client.address. So if he is bothering you, just track that value and filter it at login.

For most dialup providers the ip will change with each session, but he would have to be pretty persistent to keep up with it.
On 2/1/01 7:27 pm ebonshadow wrote:
Im having a huge problem with some dude who dont have a life. This looser keeps signing into my game and spamming inapproriate language. Each time a ban the key he just comes back with another. He is ruining it for all the other players who enjoy the game. I would really appreciate a way to ban an ip address. I have a terrible temper hes lucky i dont assasinate him.

Banning IP can possibly be effective over time, but the most effective deterrent I know of it what a friend calls the 'curse' command.

If you set someone as cursed, then what you do in your game is you make it so they are only visible to themselves (give them no icon, then use the image() proc so that only they see their icon), and anything they say, no one else can hear. Plus, you make all their attacks fail and stuff like that.

This can be more effective than banning them, because they may not figure out what is going on, and sometimes these people just leave when no one seems to be paying attention to them.

[edit]
And/or you could consider what my friend did...when someone was cursed, random amounts of lag was added to their connection...so basically the game got really sucky for them to play.

You can't do that exactly with BYOND, but you could put random long delays on all their movements and such.
In response to Tom H.
On 2/1/01 8:31 pm Tom H. wrote:
On 2/1/01 7:27 pm ebonshadow wrote:
Im having a huge problem with some dude who dont have a life. This looser keeps signing into my game and spamming inapproriate language. Each time a ban the key he just comes back with another. He is ruining it for all the other players who enjoy the game. I would really appreciate a way to ban an ip address. I have a terrible temper hes lucky i dont assasinate him.

You should be able to check the value of mob.client.address. So if he is bothering you, just track that value and filter it at login.

For most dialup providers the ip will change with each session, but he would have to be pretty persistent to keep up with it.

Ok thanks.
On 2/1/01 7:27 pm ebonshadow wrote:
Im having a huge problem with some dude who dont have a life. This looser keeps signing into my game and spamming inapproriate language. Each time a ban the key he just comes back with another. He is ruining it for all the other players who enjoy the game. I would really appreciate a way to ban an ip address. I have a terrible temper hes lucky i dont assasinate him.

Dantom, maybe this is the point where you should instate a key limit. Something around 5 keys or so, more if you pay for hosting.

Of course, when you make anything DBZ related, you usually get less-than-savoury characters playing them, but that's obviously not your fault.


But like Tom said, there is a way to ban by IP address by looking at the client.address variable.

Eg.

var/list/bad_ips = new

world/New()
..()
var/savefile/F = new ("game.sav")
F >> bad_ips

world/Del()
..()
var/savefile/F = new ("game.sav")
F << bad_ips

mob/GM/verb/add_custom_bad_ip(ip as text)
bad_ips += ip

mob/GM/verb/add_player_bad_ip(mob/M)
if(M.key) bad_ips += M.client.address

mob/GM/verb/show_bad_ips()
var/X
for(X in bad_ips)
usr << X

mob/Login()
..()
spawn(1)
if(bad_ips.Find(src.client.address))
del src

Hmm, I'll probably add that into the s_admin library. Or make it its own library.
In response to Tom H.
On 2/1/01 8:31 pm Tom H. wrote:
You should be able to check the value of mob.client.address. So if he is bothering you, just track that value and filter it at login.

For most dialup providers the ip will change with each session, but he would have to be pretty persistent to keep up with it.

Is there a way of storing a range of IP address? That might help with dynamic IP Assignment. For example, if I could ban everyone in a Class C IP Address then that might work for some troublemakers.
In response to Tom H.
For most dialup providers the ip will change with each session, but he would have to be pretty persistent to keep up with it.

I personally know that my own provider has 3 separate IP's for me. So basically that means that I have three strikes. =)

Considering I'm a part of the largest ISP in Canada, I'm fairly certain that most American providers wouldn't have more than 5 or 6 IP's per person.

So no matter what, eventually you'll totally ban someone.
In response to Spuzzum
On 2/6/01 9:46 am Spuzzum wrote:



Considering I'm a part of the largest ISP in Canada, I'm fairly certain that most American providers wouldn't have more than 5 or 6 IP's per person.So no matter what, eventually you'll totally ban someone.







Actually I think most dialup ISPs don't assign IPs per person, but more like a block of IPs to a block of customers. Back when I was on dialup, my IP fell into a block like w.x.y.z where w, x, and y were constant and z could range from about 2 to 254 depending on how many other people were dialed up at the same time. I'll bet that larger ISPs probably do them in larger blocks. Them Canadian ISPs must have some other wacky method of assigning IPs... ;-)
In response to Air Mapster
Actually I think most dialup ISPs don't assign IPs per person, but more like a block of IPs to a block of customers. Back when I was on dialup, my IP fell into a block like w.x.y.z where w, x, and y were constant and z could range from about 2 to 254 depending on how many other people were dialed up at the same time. I'll bet that larger ISPs probably do them in larger blocks.


My IP is always w.x.y.z too, and z changes to one of a few numbers. Then again, I don't check my IP all that much, so I might actually access one hell of a lot more numbers. =)

Well, then, a maximum of 255 strikes. I suppose Look (the merger company that took over Internet Direct, my former provider (and current provider, technically)) has a lot of servers scattered across a lot of areas. But after a while, you'd start to get repeats of old IPs, if similar circumstances occur when you log on.


Them Canadian ISPs must have some other wacky method of assigning IPs... ;-)

Maybe, but probably not. I probably just interpreted it wrong. I'm usually connected for 8 hour stretches, so my IP rarely changes during those times. =)

Besides, if we used a different system, we wouldn't be able to connect to the internet. It'd be the canadanet up here. And if I couldn't connect, I couldn't talk with all you nice, wonderful, amazing, incredible Americans! Wait, am I damning you with faint praise? Erm, probably. =)
In response to Ebonshadow
For most dialup providers the ip will change with each session, but he would have to be pretty persistent to keep up with it.

The thing is, Im pretty sure (But hey, Im no expert) that since the IP is assigned to a group of users you would effectivly block the person (Unless there persistant enough to get a new ISP) but you would also block a heap of other people.
Im not saying that you'll get heaps of people blocked but Im sure that there would be a few people complaining that they were banned for no good reason.
In response to Dog Man
On 2/7/01 12:31 am DogMan wrote:
For most dialup providers the ip will change with each session, but he would have to be pretty persistent to keep up with it.

The thing is, Im pretty sure (But hey, Im no expert) that since the IP is assigned to a group of users you would effectivly block the person (Unless there persistant enough to get a new ISP) but you would also block a heap of other people.
Im not saying that you'll get heaps of people blocked but Im sure that there would be a few people complaining that they were banned for no good reason.

Yup, but it's quite unlikely that, even in the same area, two people will connect to the same IP at a later date. It's possible, but rare. And even so, BYOND is oriented at smaller, non-megagames. Like in the 100-200 users online figure. That would mean that, reasonably, you'd get maybe 30000 players playing your game, EVER. Some of those 30000 people might share the same ISP, but it's unlikely, if you have a sampling from throughout the States, Canada, or even the world.