Files
assaultcube-/config/servercmdline.txt
T
ac-stef 0b656d2380 add server-side player vita database
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...
2017-06-27 15:15:23 +02:00

104 lines
5.4 KiB
Plaintext

// example servercmdline.txt file (1.2)
// to use this file, add -Cconfig/servercmdline.txt to your servers commandline
//
// * you can't use cubescript here!
// * everything after '//' in a line will be ignored
// * one commandline parameter per line only
// * you have to use the '-' characters for the switches
// * you can separate the switch and it's argument by whitespace
//
// see docs/commandline.html for full parameter descriptions
// example MOTD:
-o \f3server using example cmdline file (config/servercmdline.txt)\n\f2feel free to change this :)
// commonly used commandline switches:
// -o // MOTD
// -n // server description
// -n1 // custom server description prefix
// -n2 // custom server description suffix
// -f // port, 1..65534, default 28763
// -c // max client number, 1..16, default 6
// -D // number of demos to keep in RAM, default 5
// -Y // 32-byte private server key (you should maybe include that from another config file and remove it from the server after startup)
// -m // masterserver URL (no parameter uses default URL), if not set, the server will be LAN-only
// the switches o, n, n1 and n2 support coloring and character escaping; 'o' also supports escaped newlines
// the available colors are: 0: green, 1: blue, 2: yellow, 3: red, 4: gray, 5: white, 6: dark brown, 7: dark red
// example multiline MOTD: -o line 1\nline 2\nline 3
// example colored server description: -n \f3red\f1blue
// change these, if you don't like the defaults:
// -k // kickthreshold, -1..-100, default -5
// -kA // kickthreshold (in seconds) for being AFK, > 30, default 45
// -kB // time in minutes a banned player will stay banned, default 20
// -y // banthreshold, -1..-100, default -6
// -H // server logfile path, default logs/
// -r // server maprot file, default config/maprot.cfg
// -A // server parameter file, default config/serverparameters.cfg
// -U // vitapath, path & filename prefix to store the server vita database at, default: config/servervita
// -X // server passwords file, default config/serverpwd.cfg
// -B // server IP blacklist file, default config/serverblacklist.cfg
// -G // server geoip file, default config/geoip.cfg
// -K // server nickname blacklist file, default config/nicknameblacklist.cfg
// -g // server forbidden words file, default config/forbidden.cfg
// -P // voting permission string (read docs/commandline.html)
// k kick players
// b ban players (and remove bans)
// m change mastermode (open/private)
// f force a player to the other team
// a enable/disable autoteam
// s shuffle the teams
// r record a demo of the next game (if autorecording is disabled)
// c clear all demos on server
// d change server description
// e vote for coopedit mode
// p vote for a gamemode that is not supported by the map (default: no one can)
// w vote to kick/ban without clear reasons
// default: fkBMASRCDEW (lowercase: a user can vote for it; uppercase: admin role is required to vote)
// -M // sendmap permission string (read docs/commandline.html)
// c create new map (initial map upload)
// u update existing map (same or newer revision)
// r revert existing map to older revision
// d delete map (default: no one can)
// default: CRU (lowercase: any user is allowed to do it; uppercase: admin role is required)
// -Z // sendmap/incoming limit in MB (default = 10MB)
// -I // serverinfo text filename prefix, default config/serverinfo
// -O // MOTD text filename prefix, default config/motd
// rarely used switches:
// -p // serverpassword, for passworded servers
// -N // syslog identity string
// -F // syslog facility, 0..7, default 6
// -x // adminpasswd, don't use, use serverpwd.cfg instead
// -W // demopath, path & file prefix to store recorded demos at
// -V // verbose logging (enable this via commandline, until you're sure, there are no errors in your config left)
// -C // import commandline options from file (can be used recursively)
// -l // If set to 0, disable game status logging from server logs
// -T // Add timestamps to every line of the console and file logs.
// -LF // Sets the logging level for file logs (0..5), default 2 (Win & Mac) or 5 (Linux)
// -LS // Sets the logging level for syslog logging (0..5), default 2 (Linux) or 5 (Win & Mac)
// The following levels can be selected (-LF & -LS):
// 0 DEBUG: logs all messages
// 1 VERBOSE: logs all messages of level VERBOSE and above (same as console log, when using the -V switch)
// 2 INFO: logs all messages of level INFO and above (same as console without -V switch)
// 3 WARNING: log only messages of level WARNING and above
// 4 ERROR: log only messages of level ERROR
// 5 do not write to the log
// these switches control the naming of demos (see -W)
// --demofilenameformat="%Mmin_%G_%w_%H_%n" // default: "%w_%h_%n_%Mmin_%G"
// --demotimestampformat="%H%M_%Y%m%d" // default: "%Y%m%d_%H%M"
// --demotimelocal=1 // default: 0
// don't use these switches, unless you really know what you're doing:
// -u // uprate
// -i // ip, only for machines with multiple network interfaces