Rather than having the username limitations hard coded, I have moved it into the ini file. I have added some examples to the code and also to the ini. This is only and example and can be expanded on by others.
256 lines
8.8 KiB
Text
256 lines
8.8 KiB
Text
; 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=""
|
|
|
|
|
|
[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", "ssl" and "tls"
|
|
connection=tcp
|
|
|
|
; Auth type: currently supported method are "plain" and "login"
|
|
auth=plain
|
|
|
|
; 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 activatin 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 a player can stay inactive, with his client hot even responding to pings, before is
|
|
; considered disconnected; default is 15
|
|
max_player_inactivity_time=15
|
|
|
|
; 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]
|
|
|
|
; 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
|