WESNOTHD(6)

πŸ“¦
version 1.19.24 Β· 2 versions
, in fedora 43, fedora 44, nixos 26.05, nixpkgs unstable

πŸ’– WESNOTHD β€” the Battle for Wesnoth multiplayer network daemon πŸ’–

okay bestie, welcome to the manual page for wesnothd, straight out of section 6 of the manual. this is the daemon that runs all the multiplayer games. sit down, grab a strawberry πŸ“, and let's get into it.


✨ NAME ✨

wesnothd β€” the Battle for Wesnoth multiplayer network daemon. that's it, that's the whole name. iconic. πŸ‘‘


🌈 SYNOPSIS 🌈

wesnothd [-dvw] [-c path] [-p port]
wesnothd -V

look at her. two whole ways to launch her. main character energy fr fr πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

she manages Battle for Wesnoth multiplayer games, periodt. 🫢

if you wanna know what commands the server actually accepts β€” whether you're sliding them in via the wesnoth client with /query ... or through the fifo β€” you gotta go read https://www.wesnoth.org/wiki/ServerAdministration. that's the wiki, she's got the lore. ✨


πŸŽ€ OPTIONS πŸŽ€

  • -c path, --config path β€” tells wesnothd where to find the config file she should use. the syntax lives down in the SERVER CONFIG section below, keep scrolling babe. and ooh, bonus: you can reload the config any time by sending SIGHUP to the server process. hot. πŸ”₯
  • -d, --daemon β€” runs wesnothd as a daemon.
  • -h, --help β€” literally just tells you what the command line options do. help queen. πŸ™ˆ
  • --log-level=domain1,domain2,... β€” sets the severity level of the log domains. you can use all to match, like, any log domain. the available levels are: error, warning, info, debug. by default the error level is used, and the info level for the server domain. okay so she has preferences, respect them. πŸ’…
  • -p port, --port port β€” binds the server to the specified port. if no port is specified, port 15000 will be used. default slay. ⭐
  • -V, --version β€” shows the version number and exits. she's out, bye. πŸ‘‹
  • -v, --verbose β€” turns debug logging on. she's gonna be so chatty and we love that for her. 😭

🌸 SERVER CONFIG 🌸

the general syntax is:

[tag]

       key="value"

       key="value,value,..."

[/tag]

tags in, tags out. the way that this is structured? immaculate. ✨

🌟 Global keys 🌟

  • allow_remote_shutdown β€” if you set it to no (which is the 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. yes this is a whole security vibe check, treat it like one. 🚨
  • ban_save_file β€” full or relative path to a (gzip compressed) file that the server can read and write. bans get saved to this file and read again when the server starts. she remembers everything, no cap. πŸ’€
  • 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 wildcard patterns are supported. see glob(7) for more details. the default values (used if nothing is specified) are: *admin*,*admln*,*moderator*,*server*,ai,ai?,computer,human,network,player. yes, the admln typo is in there, leave her alone, she's canon. 😭
  • fifo_path β€” the path to the fifo you can echo server commands into (same as /query ... from wesnoth). if not specified it defaults to the compile-time path (default: /var/run/wesnothd/socket).
  • id β€” the ID of the server when using the database functionality to store game information. generally this is the major.minor version of accepted clients, like 1.16 or 1.17.
  • max_messages β€” the number of allowed messages in messages_time_period. (default: 4)
  • messages_time_period β€” the time period (in seconds) that message flooding is detected in. (default: 10 seconds)
  • motd β€” the message of the day. say hi to everyone, it's polite. πŸ’–
  • 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 /!) defaults to ' 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.)
  • 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 wildcard patterns are supported. (defaults to the corresponding wesnoth version)

example: versions_accepted="*" accepts any version string. wild. 🌈

πŸ’œ 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 wildcard 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 the 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 hostname 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_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.
    • 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_tournament_query β€” the SQL query to find tournaments to announce on login. should return tournament title, status and url.
    • 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.
    • 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.
    • forum_admin_group β€” the ID of one of the forum groups to be considered as having admin authority on the add-ons server.
    • site_admin_group β€” the ID of one of the forum groups to be considered as having admin authority on the add-ons server.

🧚 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. so if you see a 2, bestie, it's the command line, not her. πŸ™ˆ


πŸ‘‘ 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/ β€” go say hi, they're lovely. 🫢


Copyright Β© 2003-2025 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. read it and weep, but like, legally. 🫑


πŸ”₯ SEE ALSO πŸ”₯


and that's the whole page bestie!! this manual page for wesnothd is from 2022 and lives in section 6 of the manual, and honestly? she ate. πŸ’–βœ¨ go forth and host multiplayer games, you gorgeous nerd. πŸ¦‹πŸŒΈ