; Servatrice configuration file ; ; This is the main configuration file for Servatrice; while using a configuration is not mandatory, ; you may want to customize some aspects of your servatrice instance, like its name, port or the way ; users can authenticate to the server. [server] ; This is the name that servatrice exposes to the users; the default value is pretty boring name="My Cockatrice server" ; Multiple servatrice servers can run on the same host using the same database; each server instance ; must have a different id; the default id is 1 id=1 ; The TCP port number servatrice will listen on for clients; default is 4747 port=4747 ; Servatrice can scale up to serve big number of users using more than one parallel thread of execution; ; If your server is hosting a lot of players and they frequently report of being unable to login or ; long delays (lag), you may want to try increasing this value; default is 1. number_pools=1 ; When database is enabled, servatrice writes the server status in the "update" database table; this ; setting defines every how many milliseconds servatrice will update its status; default is 15000 (15 secs) statusupdate=15000 ; Do you want servatrice to write important events and errors to a logfile? Default is 1 (yes). writelog=1 ; Choose a name for the log file, if enabled; you can specify an absolute path or a path relative to ; the servatrice executable; the default file name is server.log (in the same path as servatrice) logfile=server.log ; You may want to silence some commonly recurring messages in the logfile. This setting can contain a ; comma-separed list of words; if any message that is about to be logged contains at least one of these words, ; it won't be logged. Default is empty; example: "kittens,ponies,faires" logfilters="" ; Set the time interval in seconds that servatrice will use to communicate with each connected client ; to verify the client has not timed out. Defaults is 1 seconds clientkeepalive=1 ; Maximum time in seconds a player can stay inactive with there client not even responding to pings, before is ; considered disconnected; default is 15 max_player_inactivity_time=15 ; More modern clients generate client IDs based on specific client side information. Enable this option to ' require that clients report the client ID in order to log into the server. Default is false requireclientid=false [authentication] ; Servatrice can authenticate users connecting. It currently supports 3 different authentication methods: ; * none: no authentication, accept every user; ; * password: require users to specify a common password to log in; ; * sql: authenticate users against the "users" table of the database; ; Please note that only the "sql" method permits to have registered users and store their data on the server. method=none ; if the chosen authentication method is password, here you can define the password your users will use to log in password=123456 ; Accept only registered users? default is 0 (accept unregistered users) regonly=0 [users] ; The minimum length a username can be minnamelength=6 ; The maximum length a username can be maxnamelength=12 ; If a username should be allowed to contain lowercase chars [a-z] allowlowercase=true ; If a username should be allowed to conatain uppercase chars [A-Z] allowuppercase=true ; If a username should be allowed to contain numbers [0-9] allownumerics=true ; Define punctuation allowed in usernames allowedpunctuation=_.- ; If a username can begin with punctuation defined in allowedpunctuation allowpunctuationprefix=false [registration] ; Servatrice can process registration requests to add new users on the fly. ; Enable this feature? Default false. ;enabled=false ; Require users to provide an email address in order to register. Newly registered users will receive an ; activation token by email, and will be required to input back this token on cockatrice at the first login ; to get their account activated. Default true. ;requireemail=true [smtp] ; Connectin type: currently supported method are "tcp" and "ssl"; tls is autodetected if available connection=tcp ; Accept all certificates: in ssl mode, enable this if your server is using an invalid/self signed certificate acceptallcerts=false; ; Hostname or IP addres of the smtp server host=localhost ; Smtp port number of the smtp server. Usual values are 25 or 587 for tcp, 465 for ssl port=25 ; Username: this typically matches the "from" email address username=root@localhost ; Password for the username password=foobar ; Sender email address: the "from" email address email=root@localhost ; Sender email name name="Cockatrice server" ; Email subject subject="Cockatrice server account activation token" ; Email body. You can use these tags here: %username %token ; They will be substituted with the actual values in the email ; body="Hi %username, thank our for registering on our Cockatrice server\r\nHere's the activation token you need to supply for activating your account:\r\n\r\n%token\r\n\r\nHappy gaming!" [database] ; Database type. Valid values are: ; * none: no database; ; * mysql: mysql or compatible database; type=none ; Prefix used in he database for table names; default is cockatrice prefix=cockatrice ; Database connection parameter: server hostname or IP hostname=localhost ; Database connection parameter: database name database=servatrice ; Database connection parameter: database user user=servatrice ; Database connection parameter: database user's password password=foobar [rooms] ; A servatrice server can expose to the users different "rooms" to chat and create games. Rooms can be defined ; with two different methods: ; config: rooms are defined in this configuration (see the following example) ; sql: rooms are defined in the "rooms" table of the database method=config ; Example configuration for a server with rooms configured in the configuration file. Number of rooms defined roomlist\size=1 ; Room name for the room number 1 roomlist\1\name="General room" ; Room description for the room number 1 roomlist\1\description="Play anything here." ; Wether to make users autojoin this room when connected to the server roomlist\1\autojoin=true ; Message displayed to each user when he joins room number 1 roomlist\1\joinmessage="This message is only here to show that rooms can have a join message." ; Number of game types allowed (defined) in the room number 1 roomlist\1\game_types\size=3 ; Name of the three game types for the room number 1 roomlist\1\game_types\1\name="GameType1" roomlist\1\game_types\2\name="GameType2" roomlist\1\game_types\3\name="GameType3" [game] ; Maximum time in seconds all players in a game can stay inactive before the game is automatically closed; ; default is 120 max_game_inactivity_time=120 [security] ; You may want to restrict the number of users that can connect to your server at any given time. enable_max_user_limit=false ; Maximum number of users that can connect to the server, default is 500. max_users_total=500 ; Maximum number of users that can connect from the same IP address; useful to avoid bots, default is 4 max_users_per_address=4 ; You may want to allow an unlimited number of users from a trusted source. This setting can contain a ; comma-separed list of IP addresses which will allow an unlimited number of connections from each of the ; IP addresses listed (ignoring the max_users_per_address). Default is "127.0.0.1,::1"; example: "192.73.233.244,81.4.100.74" trusted_sources="127.0.0.1,::1" ; Servatrice can avoid users from flooding rooms with large number of messages in an interval of time. ; This setting defines the length in seconds of the considered interval; default is 10 message_counting_interval=10 ; Maximum size in characters of all messages in an interval before new messages gets dropped; default is 1000 max_message_size_per_interval=1000 ; Maximum number of messages in an interval before new messages gets dropped; default is 10 max_message_count_per_interval=10 ; Maximum number of games a single user can create; default is 5 max_games_per_user=5 ; Servatrice can avoid users from flooding games with large number of game commands in an interval of time. ; This setting defines the length in seconds of the considered interval; default is 10 command_counting_interval=10 ; Maximum number of game commands in an interval before new commands gets dropped; default is 20 max_command_count_per_interval=20 [logging] ; Servatrice can log user messages to the database table cockatrice_log. ; These messages can come from different sources; each source can be enabled separately. ; Log user messages inside chat rooms log_user_msg_room=false ; Log user messages inside games log_user_msg_game=false ; Log user messages in private chats log_user_msg_chat=false ; Log user messages coming from other servers in the network log_user_msg_isl=false ; EXPERIMENTAL - NOT WORKING YET ; The following settings are relative to the server network functionality, that is not yet complete. ; Avoid enabling it unless you are willing to test it and help its development. [servernetwork] ; Servatrice servers can connect themselves and build a network. This settins enable the ability of servatrice ; of waiting for other server's connections and connect to other servers. Other servers can be defined in the ; "servers" table of the database. Default is 0 (disabled) active=0 ; The TCP port number servatrice will listen on for other servers; default is 14747 port=14747 ; Server-to-server communication needs a valid certificate in PEM format. Enter its filename in this setting ssl_cert=ssl_cert.pem ; Filename of the private key for the server-to-server certificate ssl_key=ssl_key.pem