To avoid people bypassing server bans, and generally track their presence in game without collecting much information, I think we should have a “Client ID” system.
How this works is basically, every time the user joins a server, the client that the user is playing on broadcasts a unique identification code to the server host, and it creates a profile of that player.
The profile includes:
Steam ID History
When the player first connects, all this data is collected and saved. When the player logs in again, if any of his current data matches with a saved profile, the profile gets the new info added to it to create a history and any stuff associated with the old account gets transfered.
This prevents people from just equipping a VPN, creating new steam accounts, and just changing character to evade bans, or having more than one user per server, essentially creating a reliable mechanic.
This can be bypassed using these steps:
Creating new steam account
Constantly playing with VPN
Fresh install of unturned on PC (never installed before)
But let’s be honest, no one is ever going to go that far to bypass a ban.
Very few things utilize IP banning, and its lack of use is for good reason.
IP bans are not at all efficient and hurt innocent players. Nobody wins when IP bans are used. It hurts everyone.
If you wanted something effective suggesting hardware bans would’ve made more sense, imo, but I don’t think that’s the best solution either.
The easiest way for people to avoid cheaters would be to play on official servers, as then cheaters would actually lose money (albeit a relatively negligible amount). Implementing better anti-cheat tools for servers to use would also be effective in curbing cheaters.
A way for servers to sync their ban lists (or blacklists) together would also help. Let community servers use the ban list official servers use. Let “mods” exist that’s really just a global ban list, or whatever.