The server keeps track of every player ID that ever connected successfully. This database stores the last names and IPs used by the player and the last countries the connections came from. Some stats are counted, like "time connected" and "total tks". Most importantly, the database stores rights (like admin) and restrictions (like ban). All rights and restrictions are kept as dates (or timecodes), so, for example, if your ban date is in the future, you are banned - and if it's in the past, you can play. The collected stats are meant to help server owners at managing players - especially, if they want to give someone admin rights. The database is periodically saved to a file and read from that file on startup. The default file is config/servervita.cfg and one backup is kept in config/servervita_bak.cfg. During server start, if the regular file can't be loaded, the backup is tried instead. While the server is running, it checks periodically for a file named config/servervita_update.cfg, and if the file exists, it is renamed to a backup filename including a timecode and read and merged into the database. The automatic rename makes sure, that a file is only read once. Using such updates, a server owner can easily give several people admin rights or for example, add clan tags for a whole list of IDs. (Yes, the database also stores a clan tag for every ID...) The database also stores two short comments for every ID. One can only be read by server admins, but the other one is public. The public reason, for example, can state a reason for a ban. One database record takes up 264 bytes of RAM. During autosave, accounts, that have not been used for a specified time (default 12 months), will not be written. After a server restart, those old records will be gone. Currently, there is no process in place, to also clean up old records from RAM. Maybe, that'll be added later...
License ======= The AssaultCube source code is mainly based on the cube game/engine and uses the same license (z-lib like). See README_CUBEENGINE.txt In addition AssaultCube contains code from pCube (Cube pro mod) and Sauerbraten (Cube successor) and other sources. AssaultCube Authors ================== Adrian 'driAn' Henke drian at sprintf.org Andrew 'Arghvark' Davis arghvark at gmail.com Lee 'Eihrul' Salzman stef Cube Engine Authors =================== Wouter 'Aardappel' van Oortmerssen, Lee 'Eihrul' Salzman and others. See README_CUBEENGINE.txt and http://www.cubeengine.com pCube Authors ============= Adrian 'driAn' Henke and others. http://p.cubers.net Sauerbraten Authors =================== Wouter 'Aardappel' van Oortmerssen, Lee 'Eihrul' Salzman, Mike 'Gilt' Dysart and others. http://www.sauerbraten.org Cheat Protection ================ The cheat protection described in README_CUBEENGINE.txt is not used in AssaultCube. Binaries compiled from source are compatible with the official binaries. This means, the client can easily be hacked, on the other hand, you can compile AssaultCube for different platforms and fix bugs yourself. You MUST NOT connect to servers that are not yours with a modified client that contains changes that were not made for platform-compatibility or to fix bugs. This would be cheating. Thank you for supporting fair play gaming.