Your company here — click to reach over 10,000 unique daily visitors

wesnothd - Man Page

Battle for Wesnoth multiplayer network daemon


wesnothd [-dv] [-c path] [-p port] [-t number] [-T number]
wesnothd -V


Manages Battle for Wesnoth multiplayer games. See https://www.wesnoth.org/wiki/ServerAdministration on what commands the server accepts via the wesnoth client (/query ...) or the fifo.


-c path--config path

tells wesnothd where to find the config file to use. See the section Server Config below for the syntax. You can reload the config with sending SIGHUP to the server process.

-d,  --daemon

runs wesnothd as a daemon.

-h,  --help

tells you what the command line options do.


sets the severity level of the log domains. all can be used to match any log domain. Available levels: errorwarninginfodebug. By default the error level is used and the info level for the server domain.

-p port--port port

binds the server to the specified port. If no port is specified, port 15000 will be used.

-t number--threads number

sets the maximum number of waiting worker threads for network I/O to n (default: 5, max: 30).

-T number--max-threads number

sets the maximum number of worker threads that will be created. If set to 0 there will be no limit (default: 0).

-V,  --version

shows version number and exits.

-v,  --verbose

turns debug logging on.

Server Config

The general syntax is





Global keys


If set to no (default), shut_down and restart requests are ignored unless they come from the fifo. Set it to yes to allow remote shutdown via a /query by an administrator.


Full or relative path to a (gzip compressed) file that the server can read and write. Bans will be saved to this file and read again on server start.


Determines whether the rooms file should be read and written to in compressed form. Defaults to yes.


The number of allowed connections from the same IP. 0 means infinite. (default: 5)


Whether to prevent users who are not registered with the user_handler being used from logging in. (default: false)


Names/nicks that are not accepted by the server. * and ? from wildcard patterns are supported. See glob(7) for more details. Default values (used if nothing is specified) are: *admin*,*admln*,*server*,ai,ai?,computer,human,network,player.


The path to the fifo you can echo server commands into (same as /query ... from wesnoth). If not specified defaults to the compile-time path (default: /var/run/wesnothd/socket).


The number of allowed messages in messages_time_period. (default: 4)


The time period (in seconds) message flooding is detected in. (default: 10 seconds)


The message of the day.


Determines who can create new rooms on the server. Available values are everyone, registered, admin and nobody, and give the permission respectively to everyone, registered users, admin users or disables new room creation. Default value is everyone.


The password used to gain admin privileges (via /query admin password).


The directory where the server stores game replays. (Don't forget the trailing /!) Defaults to `' which means the directory wesnothd was started in.


The command that the server uses to start a new server process via the restart command. (Can only be issued via the fifo. See the allow_remote_shutdown setting.)


Path to a file where the room info should be stored. This file is read on server startup and written to later. If empty or not set, rooms are not loaded and not saved.


Defines whether the server will automatically save replays of games. (default: false)


Enable use of TLS. If true, requires 3 following options to be set too.


TLS full certificate chain in .pem format


private key for TLS in .pem format


TLS DH parameters, as .pem file. Generate with openssl dhparam -out filename.pem 4096


A comma separated list of version strings to be accepted by the server. * and ? from wildcard patterns are supported. (defaults to the corresponding wesnoth version)
Example: versions_accepted="*" accepts any version string.


The ID of the server when using the database functionality to store game information. Generally is the major.minor version of accepted clients, such as 1.16 or 1.17.

Global tags

[redirect] A tag to specify a server to redirect certain client versions to. Is not used if versions_accepted is not set.


The address of the server to redirect to.


The port to connect to.


A comma separated list of versions to redirect. Behaves the same way as versions_accepted in regard to wildcard patterns.

[ban_time] A tag to define convenient keywords for temporary ban time lengths.


The name used to reference the ban time.


The time length definition. The format is: %d[%s[%d%s[...]]] where %s is s (seconds), m (minutes), h (hours), D (days), M (months) or Y (years) and %d is a number. If no time modifier is given minutes (m) are assumed. Example: time="1D12h30m" results in a ban time of 1 day, 12 hours and 30 minutes.

[proxy] A tag to tell the server to act as a proxy and forward the connected client's requests to the specified server. Accepts the same keys as [redirect].

[user_handler] Configures the user handler. If no [user_handler] section is present in the configuration the server will run without any nick registration service. All additional tables that are needed for the forum_user_handler to function can be found in table_definitions.sql in the Wesnoth source repository. Requires mysql support enabled. For cmake this is ENABLE_MYSQL and for scons this is forum_user_handler.


The hostname of the database server


The name of the database


The name of the user under which to log into the database


This user's password


The name of the table in which your phpbb forum saves its user data. Most likely this will be <table-prefix>_users (e.g. phpbb3_users).


The name of the table in which wesnothd will save its own data about users.


The name of the table in which wesnothd will save its own data about games.


The name of the table in which wesnothd will save its own data about the players in a game.


The name of the table in which wesnothd will save its own data about the modifications used in a game.


The name of the table in which your phpbb forum saves its user group data. Most likely this will be <table-prefix>_user_group  (e.g. phpbb3_user_group).


The name of the table in which to store login/logout times. Also used for matching IPs to users and vice versa.


The name of the table in which your phpbb forum saves its topic (thread) information. Most likely this will be <table-prefix>_topics  (e.g. phpbb3_topics).


The name of the table in which your phpbb forum saves its user bans data. Most likely this will be <table-prefix>_banlist  (e.g. phpbb3_banlist).


The ID of the forum group to be considered as having moderation authority.

Exit Status

Normal exit status is 0 when the server was properly shutdown. An exit status of 2 indicates an error with the command line options.


Written by David White <davidnwhite@verizon.net>. Edited by Nils Kneuper <crazy-ivanovic@gmx.net>, ott <ott@gaon.net>, Soliton <soliton.de@gmail.com> and Thomas Baumhauer <thomas.baumhauer@gmail.com>. This manual page was originally written by Cyril Bouthors <cyril@bouthors.org>.
Visit the official homepage: https://www.wesnoth.org/

See Also


Referenced By


2022 Battle for Wesnoth multiplayer network daemon