Topic: [SUGGESTION] Teeworld Anticheat System.
Hello!
I have spent some time in similar(although 3D) fps UrbanTerror, and recently discovered TeeWorlds.
Upon playing fourth match of TW in my life, to my huge surprise, I suspected one player using aimbot.
At least he behaved exactly as aimbotter in Urbanterror, except this time it was 2D TW...
I have also read discussion and thoughts about Aimbots in TW and impossibility of building it, because its open source software.
This is not correct. Open source does not mean impossibility of protection. If you are interested, I can briefly explain a concept that can be used on TW, similar to those used in UrbanTerror; to punish aimbotters.
I hope as efficient banning rolls out, player will take it more serious, knowing the consequences.
General:
The word "trust" here defines to "human trust", not "trusted computing".
Common priniples:
Only main server should be trusted(first).
Main server should carry trusted list and be able to add trusted subservers, run by known or trusted people/clans.
Trusted clans/people should have forum or other facility of allowing demos from players on suspected aimbots or cheats.
Trusted clans/people should vote for or against claiming of cheat. Demo and vote result should be stored as proof.
Trusted clans/people should provide their weekly IP ban list to main server. Primary IP field should be used for filtering.
IP list should contain: IP(Range), Gid, Provided By, Date/Time, Comment. Gid is still stored to help prevent case, where several players exist on one IP. Because GID can be spoofed it should not be taken very seriously. One false "not me, not my GID" claim and IP should be permbanned, with fact added.
With provider migration to IPv6, GID may loose its role.
No single client should be trusted.
Client should provide IP to connected server upon connection for logging.
Client should be modified to provide hardware id(GID), hash based on several numerable hardware parts. It is for informational use only(check how many people play under same IP, yet different GID).
Client should be modified to allow demo recording and playback. Demos should be stored to local folder(~/teeworlds/demos) and should be easy recordable(example F12 key).
Client "choose server" window should allow to visually distinguish between trusted and untrusted(private) servers.
Common method of banning:
Client(a) suspects another client(ch) of cheating.
Client(a) starts demoing.
Client(a) finishes demo record.
Client(a) issues votekick for client(ch) if too obvious.
Client(a) reviews demo with help of built-in tool. If confirmed..:
Client(a) informs clan server admins(csa) and publishes demo.
Clan server admin(csa) and other players review demo and vote on forum. If confirmed..:
Clan server admin(csa) adds new ban, taking client(ch) IP and GID from server.
Additional features:
- Server should be upgraded to allow temporal, additional rcon accounts with own password and limited capabilities, for the purpose of additional (trial) moderation.
- Client and server should be modified to allow variable (30 second, defined by server) pause between issuing a vote kick by any client sharing same IP. PURPOSE: Disable ability to mass spam kick.
- Server should have an option to inform admin: if massvote happens at his server(trigger); if player with suspected GID(although IP does not match the ban list) appears on server; if mulitple connection attempts from known banned IP happen.
- Server attibutes should be extended to include "Admin email:" on purpose of informing administrator of server misuse. Client "choose server" window or upper ingame menu should allow to show this data.
- Client should include console command to display targeting vector (point a - player, point b - cursor) and some markings on the border of screen, marking other player locations if they are beyond the screen limits. This would be some kind of equivalent to "/r_shownormals 1" for q3 engine - show vector to confirm if player is constantly aimbotting. This option should be harddisabled on servers and allowed only for pure local client demo replay.
RFC.
PS:
Let cheaters burn in hell.
Cheating, if allowed to spread, becomes common sense and ruins game balance and general interest in project.
I hope we can correct this.