14 Feb 12, 06:49PM
(12 Feb 12, 09:43PM)tempest Wrote: Re "advanced" banning:
Mac address is not an option - it's unique, but the server never receives the client's Mac address, only that of the last switch/router/... in the chain, i.e. it's useless.
Unique IDs wouldn't be a reliable option even if the game was closed-source. Everything that happens on the client, and everything sent over the client's network interface, can be modified.
Gonna disagree on a few points here.
Firstly, it would be easy to have the client send their MAC address to the server. The issue with this is that MAC addresses are easy to spoof, and so that's barely a level of security.
Secondly, Unique IDs would be a reliable option, even with an open source game. Here's how:
1. Client registers on the AC website. They get a randomly generated (and very long) id from the site.
2. Every time the client wants to play on any server (or even to query the masterserver), they send their ID (this will be done automatically, you don't need to type it in or anything silly like this. Think of it as being similar to an SSH certificate).
3. The server checks the ID with the masterserver. The masterserver lets the server know if the player is blacklisted based on the ID.
These IDs would be impossible to guess, because they would be randomly generated and extremely long.
It doesn't matter if multiple people share the same ID, because if one of them hacks, they all get blacklisted.
The only issue with this system is finding a way to stop people from getting a new ID: meaning if some hacker asks for a new ID, the system should be able to do an IP check or something similar to keep them from getting one.