WESNOTHD(6)

NAME
wesnothd - Battle for Wesnoth multiplayer network daemon

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

DESCRIPTION
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.

OPTIONS

-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.

--log-level=domain1,domain2,...
    sets the severity level of the log domains. all can be used to match any log domain. Available levels: error, warning, info, debug. 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:

[tag]

    key="value"

    key="value,value,..."

[/tag]

  Global keys:

allow_remote_shutdown
    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.

ban_save_file
    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.

compress_stored_rooms
    Determines whether the rooms file should be read and written to in compressed form. Default value is yes.

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

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

disallow_names
    Names/nicks that are not accepted by the server. * and ? from wild-card 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.

fifo_path
    The path to the fifo you can echo server commands into (same as /query ... from wesnoth). The compile-time path is used by default if it is not specified (default: /var/run/wesnothd/socket).

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

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

motd
    The message of the day.

new_room_policy
    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.

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

replay_save_path
    The directory where the server stores game replays. (Don't forget the trailing /!) It is set to `' by default, which means the directory wesnothd was started in.

restart_command
    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.)

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

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

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

tls_fullchain
    TLS full certificate chain in .pem format

tls_private_key
    private key for TLS in .pem format

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

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

id  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.

    host
        The address of the server to redirect to.

    port
        The port to connect to.

    version
        A comma separated list of versions to redirect. Behaves the same way as versions_accepted in regard to wild-card patterns.

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

    name
        The name used to reference the ban time.

    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.

    db_host
        The host name of the database server

    db_name
        The name of the database

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

    db_password
        This user's password

    db_users_table
        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).

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

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

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

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

    db_user_group_table
        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).

    db_connection_history_table
        The name of the table in which to store log-in/log-out times. Also used for matching IPs to users and vice versa.

    db_topics_table
        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).

    db_banlist_table
        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).

    mp_mod_group
        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.

AUTHOR
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/

COPYRIGHT
Copyright © 2003-2024 David White <davidnwhite@verizon.net>
This is Free Software; this software is licensed under the GPL version 2, as published by the Free Software Foundation. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO
wesnoth(6)