BanG, and other famous ban systems these days have several layers: (In proper order of checking) PermissionID ban -- "Moderator alert" For the record, only subgame servers even look at Permission ID, but this is still important. Mods and SMods use a different *kill ID, Permission ID. Both Machine and Permission ID's may be found in the registry, incidentally, as keys D1 and D2, in that order, under LOCAL_MACHINE/Software/ Both MachineID and PermissionID must be different or else online moderators will get big red warning messages whenever you enter the zone. Change in memory with PokeDWORD(4914080, NewPermissionID); PokeDWORD(4915000, NewPermissionID); Password packet floods -- "Busy signal" Initially, you are given a grace period and once it is exceeded, the message "The server is busy processing login requests..." is returned. After this period (intentional?), connections from your IP are restricted to about 3 times a minute, to any zone on the network. Invalid names -- "Invalid name" You cannot enter with the name ^Banned, for instance. Printable characters, exclusively, are allowed. Spaces are clipped from the end of your name. Invalid TimeZoneBias -- ^Banned ID #0 The TZB must be: + Divisible by 30. + Greater than or equal to -720. + Less than or equal to 720. TZB may be changed via the system tray or by PokeWORD(4911604, NewTZB); Invalid MachineID -- ^Banned ID #0 Machine ID must be a positive number greater than 0. '*1337' may or may not be declared invalid. UserID ban -- ^Banned Once you are banned, you cannot use that name ever again. MachineID ban -- ^Banned Same as IDBlock.txt Machine ID is your volume C:\ serial number, pre-computed every time you start subspace or leave a zone. Some argue JeffP wrote this flaw intentionally to make it easy to unban yourself. He definately wrote the CD-check to be hacked: he disagreed with the CD-check, and has said so repeatedly. Machine ID, therefore, may be PokeDWORD(4923356, NewMachineID); SysOp *kill bans use this ID. IP [range] ban -- ^Banned Same as IPBlock.txt Your IP is assigned to you when you connect to the internet. Your ISP will assign you this number from a small range of values, which leaves the possibility to tag players by their internet connection. To get around this, sign up for NetZero or AOL for free. If you cannot do this on your computer, set up a subspace proxy on another machine with a dial-up connection. Registration form hostname ban -- "It looks like you are getting in, then it kicks you" This was my idea. You use the registration form-provided hostname to identify IP-banned players. It cannot be spoofed client-side with a process patcher unless you modify the client's code in memory. It is overcome with a custom-coded proxy server or some truly elite client hacking. NetBIOS hostname ban -- "It looks like you are getting in, then it kicks you" This one is a bit of a stretch in my opinion, but BanG queries your machine for a NetBIOS name. It is overcome with a firewall such as ZoneAlarm. Ban updating -- N/A There are also some additional features, like updating the IP range when players trigger the registration form hostname ban, etc. To get around this, be sure that every one of these checks has been passed before logging in. Tricks -- N/A Using a really long name or a confusing one like 'the mod', will make it more difficult to trace you. Furthermore, hopping arenas by macro'ing ?go %freq%selfname%red etc may help. Alias checks are now possible on SSC, after a lot of prodding, so if you want to keep your scores be sure that your Machine ID, TZB and IP do not match any of your other names. When you enter as ^Banned with a generic check (they don't know WHICH cheater you are), that reads "BanID # 0", you are getting close - randomize everything again and double-check the generic checks. Future bans -- N/A While I offer ways around existing bans, new ones may appear; for instance, I proposed a design earlier this year where timestamps sent to zones would be stored for 24 hours, and players banned in that period would need to reboot in order to unban themselves. This check would have to be bypassed with a proxy, or some SpeedCheat derivative. I am unaware of any other alternative ban schemes, and with the arrival of Continuum it is doubtful that any more attention will be paid to SubSpace's ban problems. When you are hacking other games, or Continuum or whatever, please note that ban ID's tend to reside near the login packet with your name and password; they also LOOK random, but they will not change between sessions with the server. Okay! Now that you see how advanced ban capability has become these days, certainly you will recognize the difficulty in getting around any serious block. This has become almost a hobby for me, since the first time I developed a MacID randomizer. And I hope that by quenching the thirst for this kind of documentation, players will play more legally and respect the staff a bit more... =)