Currently when an IP (range) is banned, ALL players connecting from that IP or IPs in that range are banned.
This is no good for, ie, school computers or dynamic/dialup connections, as an innocent player ends up banned. This has happened.
Following on from
FS#25 and
FS#26 , this should be:
/ban exception [<account>] [<ip>] [<player>]
(where at least one argument must be given.)
<ip> must be a FULL a.b.c.d IP.
Further, this command should check the ban file for a specific ban on that account/ip/player. Only if not found, is the exception added.
Additionally, when a specific ban is added on that account/ip/player, all relevant exceptions are automatically removed from the ban file.
ban exception (<Ip Address without wildchar> | /a <Account Name> | <Character Name>)
Some examples:*
# will ban any IP addresses like 123.123.123.*
ban add 123.123.123.*
# will add an exception for the IP Address 123.123.123.123
ban exception 123.123.123.123
# will add an exception for the character "dummy"
# If the character "dummy" is not banned, he will be able to connect from address 123.123.123.100
ban exception dummy
# will add an exception for the account "account0"
# If this account is not banned (nor the character name he is using), he will be able to connect from address 123.123.123.100
ban exception /a account0
#--------------------- BAN FILE ---------------------------
# ban explicit ip address
/i a.b.c.d ticks_init ticks_left
# exception for the player zappa (I surely don't want to ban Zappa ;-))
/-n a.b.c.d zappa
# exception for the account frank
/-a a.b.c.d frank
# ban a sub network (not really a sub network - only the last byte maybe a wildchar)
/i a.b.c.* ticks_init ticks_left
# exception for a.b.c.e in a.b.c.* subnetwork
/-i a.b.c.* a.b.c.e
# exception for the player aaaarrrggh in a.b.c.* subnetwork
/-n a.b.c.* aaaarrrggh
# exception for the account arrggghhhh in a.b.c.* subnetwork
/-a a.b.c.* arrggghhhh
# ban the player oups
/n oups ticks_init ticks_left
# ban the account spuo
/a spuo ticks_init ticks_left
# old ban player burp
burp _ ticks_init ticks_left
# old ban ip address f.g.h.i
_ f.g.h.i ticks_init ticks_left
#-------------------------------------------------------