wesnoth/doc/man/wesnothd.6
2025-02-17 13:17:59 -06:00

294 lines
9.1 KiB
Groff

.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 2 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program; if not, write to the Free Software
.\" Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
.\"
.
.TH WESNOTHD 6 "2022" "wesnothd" "Battle for Wesnoth multiplayer network daemon"
.
.SH NAME
.
wesnothd \- Battle for
.B Wesnoth
multiplayer network daemon
.
.SH SYNOPSIS
.
.B wesnothd
.RB [\| \-dvw \|]
.RB [\| \-c
.IR path \|]
.RB [\| \-p
.IR port \|]
.br
.B wesnothd
.B \-V
.
.SH 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.
.
.SH OPTIONS
.
.TP
.BI -c\ path ,\ --config \ path
tells wesnothd where to find the config file to use. See the section
.B SERVER CONFIG
below for the syntax. You can reload the config with sending SIGHUP to the server process.
.TP
.B -d, --daemon
runs wesnothd as a daemon.
.TP
.B -h, --help
tells you what the command line options do.
.TP
.BI --log- level = domain1 , domain2 , ...
sets the severity level of the log domains.
.B all
can be used to match
any log domain. Available levels:
.BR error ,\ warning ,\ info ,\ debug .
By default the
.B error
level is used and the
.B info
level for the
.B server
domain.
.TP
.BI -p\ port ,\ --port \ port
binds the server to the specified port. If no port is specified, port
.B 15000
will be used.
.TP
.B -V, --version
shows version number and exits.
.TP
.B -v, --verbose
turns debug logging on.
.
.SH SERVER CONFIG
.
.SS The general syntax is:
.
.P
[\fItag\fR]
.IP
\fIkey\fR="\fIvalue\fR"
.IP
\fIkey\fR="\fIvalue\fR,\fIvalue\fR,..."
.P
[/\fItag\fR]
.
.SS "Global keys:"
.
.TP
.B allow_remote_shutdown
If set to \fBno\fR (default), shut_down and restart requests are ignored unless they come from the fifo.
Set it to \fByes\fR to allow remote shutdown via a /query by an administrator.
.TP
.B 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.
.TP
.B connections_allowed
The number of allowed connections from the same IP. \fB0\fR means infinite. (default: \fB5\fR)
.TP
.B deny_unregistered_login
Whether to prevent users who are not registered with the
.B user_handler
being used from logging in. (default: false)
.TP
.B disallow_names
Names/nicks that are not accepted by the server. \fB*\fR and \fB?\fR from wildcard patterns are supported. See
.BR glob (7)
for more details.
Default values (used if nothing is specified) are:
.BR *admin*,*admln*,*moderator*,*server*,ai,ai?,computer,human,network,player .
.TP
.B fifo_path
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: \fB/var/run/wesnothd/socket\fR).
.TP
.B 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.
.TP
.B max_messages
The number of allowed messages in \fBmessages_time_period\fR. (default: \fB4\fR)
.TP
.B messages_time_period
The time period (in seconds) message flooding is detected in. (default: \fB10\fR seconds)
.TP
.B motd
The message of the day.
.TP
.B passwd
The password used to gain admin privileges (via \fB/query admin \fIpassword\fR).
.TP
.B replay_save_path
The directory where the server stores game replays. (Don't forget the trailing /!) Defaults to `' which means the directory wesnothd was started in.
.TP
.B restart_command
The command that the server uses to start a new server process via the \fBrestart\fR command. (Can only be issued via the fifo. See the \fBallow_remote_shutdown\fR setting.)
.TP
.B save_replays
Defines whether the server will automatically save replays of games. (default: \fBfalse\fR)
.TP
.B tls_enabled
Enable use of TLS. If true, requires 3 following options to be set too.
.TP
.B tls_fullchain
TLS full certificate chain in .pem format
.TP
.B tls_private_key
private key for TLS in .pem format
.TP
.B tls_dh
TLS DH parameters, as .pem file. Generate with \fBopenssl dhparam -out filename.pem 4096\fR
.TP
.B versions_accepted
A comma separated list of version strings to be accepted by the server. \fB*\fR and \fB?\fR from wildcard patterns are supported.
(defaults to the corresponding wesnoth version)
.br
Example: \fBversions_accepted="*"\fR accepts any version string.
.
.SS "Global tags:"
.
.P
.B [redirect]
A tag to specify a server to redirect certain client versions to. Is not used if
.B versions_accepted
is not set.
.RS
.TP
.B host
The address of the server to redirect to.
.TP
.B port
The port to connect to.
.TP
.B version
A comma separated list of versions to redirect. Behaves the same way as
.B versions_accepted
in regard to wildcard patterns.
.RE
.P
.B [ban_time]
A tag to define convenient keywords for temporary ban time lengths.
.RS
.TP
.B name
The name used to reference the ban time.
.TP
.B 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:
.B time="1D12h30m"
results in a ban time of 1 day, 12 hours and 30 minutes.
.RE
.P
.B [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
.BR [redirect] .
.RE
.P
.B [user_handler]
Configures the user handler. If no
.B [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
.B 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
.B ENABLE_MYSQL
and for scons this is
.B forum_user_handler.
.RS
.TP
.B db_host
The hostname of the database server
.TP
.B db_name
The name of the database
.TP
.B db_user
The name of the user under which to log into the database
.TP
.B db_password
This user's password
.TP
.B 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).
.TP
.B db_extra_table
The name of the table in which wesnothd will save its own data about users.
.TP
.B db_game_info_table
The name of the table in which wesnothd will save its own data about games.
.TP
.B db_game_player_info_table
The name of the table in which wesnothd will save its own data about the players in a game.
.TP
.B db_game_content_info_table
The name of the table in which wesnothd will save its own data about game content (scenario/era/modifications) used in a game.
.TP
.B 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).
.TP
.B db_tournament_query
The SQL query to find tournaments to announce on login. Should return tournament \fBtitle\fR, \fBstatus\fR and \fBurl\fR.
.TP
.B db_connection_history_table
The name of the table in which to store login/logout times. Also used for matching IPs to users and vice versa.
.TP
.B 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).
.TP
.B 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).
.TP
.B mp_mod_group
The ID of the forum group to be considered as having moderation authority.
.TP
.B forum_admin_group
The ID of one of the forum groups to be considered as having admin authority on the add-ons server.
.TP
.B site_admin_group
The ID of one of the forum groups to be considered as having admin authority on the add-ons server.
.RE
.
.SH 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.
.
.SH 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>.
.br
Visit the official homepage: https://www.wesnoth.org/
.
.SH COPYRIGHT
.
Copyright \(co 2003-2025 David White <davidnwhite@verizon.net>
.br
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.
.
.SH SEE ALSO
.
.BR wesnoth (6)