wesnoth/doc/man/wesnoth.6
Vas N 9cc5911bc8 Make the --data-dir explanation clearer
Previously, one might naively assume that the data dir
is the directory that's literally named "data".

In reality, the data dir should have subdirectories
data/
fonts/
audio/
etc.
2025-03-23 08:37:36 +00:00

512 lines
15 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 WESNOTH 6 "2022" "wesnoth" "Battle for Wesnoth"
.
.SH NAME
wesnoth \- Battle for Wesnoth, a turn-based fantasy strategy game
.
.SH SYNOPSIS
.
.B wesnoth
[\fIOPTIONS\fR]
[\fIPATH_TO_DATA\fR]
.
.SH DESCRIPTION
.
Battle for
.B Wesnoth
is a turn-based fantasy strategy game.
Defeat all enemy leaders using a well-chosen cadre of troops, taking
care to manage your resources of gold and villages. All units have
their own strengths and weaknesses; to win, deploy your forces to
their best advantage while denying your foes the chance to do the
same. As units gain experience, they acquire new abilities and
become more powerful. Play in your own language and test your skill
against a smart computer opponent, or join Wesnoth's large community
of online players. Create your own custom units, scenarios or
campaigns, and share them with others.
.
.SH OPTIONS
.
.TP
.B --addon-info
Shows a button on the add-ons manager to query the add-ons server for various information.
.TP
.B --all-translations
Show all translations in the in-game language selection list,
even if they are deemed insufficiently complete.
.TP
.BI -c[ id_campaign ],\ --campaign[ =id_campaign ]
goes directly to the campaign with id
.IR id_campaign .
A selection menu will appear if no id was specified.
.TP
.BI --campaign-difficulty[ =difficulty ]
The difficulty of the specified campaign (1 to max). If none specified,
the campaign difficulty selection widget will appear.
.TP
.BI --campaign-scenario \ id_scenario
The id of the scenario from the specified campaign. The default is the first scenario.
.TP
.B --campaign-skip-story
Skip [story] screens and dialog through the end of the
.B start
event.
.TP
.B --clock
Adds the option to show a clock for testing the drawing timer. Also adds the option for showing the GUI Test Dialog.
.TP
.BI --core \ id_core
Overrides the loaded core with the one whose id is specified.
.TP
.BI --data-dir \ directory
Overrides the data directory with the one specified. The data directory is the one that contains subdirectories 'data', 'fonts', 'images' and others.
.TP
.B --data-path
prints the path of the data directory and exits.
.TP
.B -d, --debug
enables additional command mode options in-game
(see the wiki page at https://www.wesnoth.org/wiki/CommandMode for more
information about command mode).
.TP
.B --debug-lua
enables some Lua debugging mechanisms
.TP
.B --strict-lua
disallow deprecated Lua API calls
.TP
.BI -D,\ --diff \ left-file \ right-file
diffs the two WML files; does not preprocess them first (to do that, run them through
.B -p
first). Outputs the diff as DiffWML on standard output or to the file indicated by
.IR --output .
.TP
.BI -e[ file ],\ --editor[ =file ]
start the in-game map editor directly. If
.I file
is specified, equivalent to
.B -l
.BR --load .
.TP
.B --fps
displays the number of frames per second the game is currently running
at in a corner of the screen as well as writes these values to a file
in the userdata directory.
.TP
.B -f, --fullscreen
runs the game in full screen mode.
.TP
.B -h, --help
displays a summary of command line options to standard output, and exits.
.TP
.BI -l,\ --load \ file
loads the savegame
.I file
from the standard save game directory. If the
.B -e
or
.B --editor
option is used as well, starts the editor with the map from
.I file
open. If it is a directory, the editor will start with a load map dialog opened there.
.TP
.BI -L,\ --language \ lang
uses language
.I lang
(symbol) this session.
Example:
.B --language ang_GB@latin
.TP
.BI --log- level = domain1 , domain2 , ...
sets the severity level of the log domains. The wildcard
.B *
may be used to match a subset of domains, e.g. gui/* or conf* or * (the latter matches all domains).
Available levels:
.BR error ,\ warning ,\ info ,\ debug ,\ none .
By default, the
.B warning
level is used for most domains, but
.B deprecation
defaults to
.B none
unless combined with the
.B -d
option.
This option can be specified multiple times.
.TP
.B --log-precise
shows the timestamps in log output with more precision.
.TP
.BI --log-strict \ level
sets the strict
.I level
of the logger. Any messages sent to log domains of this
.I level
or more severe will cause the unit test to fail regardless
of the victory result. Only relevant when used with
.BR -u .
.TP
.BI --logdomains[ =filter ]
lists defined log domains (only the ones containing
.I filter
if used) and exits
.TP
.B --no-log-to-file
prevents redirecting logged output to a file. The environment variable WESNOTH_NO_LOG_FILE can also be set as an alternative. Log files are created in the logs directory under the userdata folder.
.TP
.B --log-to-file
log output is written to a file. Cancels the effect of --no-log-to-file whether implicit or explicit.
.TP
.B --no-log-sanitize
disables the anonymization that's normally applied when logging, for example replacing usernames with USER.
.TP
.B --wnoconsole
For Windows, when used with --no-log-to-file, results in output being written to cerr/cout instead of CONOUT. Otherwise, does nothing.
.TP
.BI --max-fps \ fps
the number of frames per second the game can show, the value should be between
.B 1
and
.BR 1000 ,
the default is the monitor's refresh rate.
.TP
.B -m, --multiplayer
runs a multiplayer game. There are additional options that can be used
together with
.B --multiplayer
as explained below.
.TP
.B --mp-test
load the test mp scenarios.
.TP
.B --new-widgets
there is a new WIP widget toolkit, this option enables it. This is very experimental, don't fill bug reports since most are known. Parts of the library are deemed stable and will work without this switch.
.TP
.B --noaddons
disables loading of user addons.
.TP
.B --nocache
disables caching of game data.
.TP
.B --nogui
runs the game without the GUI. Only available in combination with
.B --multiplayer
or
.B --screenshot
or
.BR --plugin .
.TP
.B --nobanner
suppress the startup banner.
.TP
.B --nomusic
runs the game without music.
.TP
.B --noreplaycheck
don't try to validate replay of unit test. Only relevant when used with
.BR -u .
.TP
.B --nosound
runs the game without sounds and music.
.TP
.BI --output \ file
output to the specified file. Applicable to diffing operations.
.TP
.BI --password \ password
uses
.I password
when connecting to a server, ignoring other preferences. Unsafe.
.TP
.BI --plugin \ script
load a
.I script
which defines a Wesnoth plugin. Lua file should return a function which will be run as a coroutine and periodically woken up with updates.
.TP
.BI -P,\ --patch \ base-file \ patch-file
applies a DiffWML patch to a WML file; does not preprocess either of the files.
Outputs the patched WML to standard output or to the file indicated by
.IR --output .
.TP
.BI -p,\ --preprocess \ source-file/folder \ target-directory
preprocesses a specified file/folder. For each file(s) a plain .cfg file and a processed .cfg
file will be written in specified target directory. If a folder is specified, it will
be preprocessed recursively based on the known preprocessor rules. The common macros
from the "data/core/macros" directory will be preprocessed before the specified resources.
Example:
.B -p ~/wesnoth/data/campaigns/tutorial ~/result.
For details regarding the preprocessor visit:
https://wiki.wesnoth.org/PreprocessorRef#Command-line_preprocessor.
.TP
.BI --preprocess-string \ source-string
preprocesses a given string and writes the output to stdout.
.TP
.BI --preprocess-defines= DEFINE1 , DEFINE2 , ...
comma separated list of defines to be used by the
.B --preprocess
or
.B --preprocess-string
command. If
.B SKIP_CORE
is in the define list the "data/core" directory won't be preprocessed.
.TP
.BI --preprocess-input-macros \ source-file
used only by the
.B --preprocess
or
.B --preprocess-string
command. Specifies a file that contains
.BR [preproc_define] s
to be included before preprocessing.
.TP
.BI --preprocess-output-macros[ =target-file ]
used only by the
.B --preprocess
command (But not by the
.B --preprocess-string
command). Will output all preprocessed macros in the target file. If the file is not specified
the output will be file '_MACROS_.cfg' in the target directory of preprocess's command. The
output file can be passed to
.BR --preprocess-input-macros .
This switch should be typed before the
.B --preprocess
command.
.TP
.BI -r\ X x Y ,\ --resolution\ X x Y
sets the screen resolution. Example:
.B -r
.BR 800x600 .
.TP
.BI --render-image \ image \ output
takes a valid wesnoth 'image path string' with image path functions, and outputs to a .png file. Image path functions are documented at https://wiki.wesnoth.org/ImagePathFunctionWML.
.TP
.BI -R,\ --report
initializes game directories, prints build information suitable for use in bug reports, and exits.
.TP
.BI --rng-seed \ number
seeds the random number generator with
.IR number .
Example:
.B --rng-seed
.BR 0 .
.TP
.BI --screenshot \ map \ output
saves a screenshot of
.I map
to
.I output
without initializing a screen.
.TP
.BI -s[ host ],\ --server[ =host ]
connects to the specified host if any, otherwise connect to the first server in preferences. Example:
.B --server
.BR server.wesnoth.org .
.TP
.B --showgui
runs the game with the GUI, overriding any implicit
.BR --nogui .
.TP
.B --strict-validation
validation errors are treated as fatal errors.
.TP
.BI -t[ scenario_id ],\ --test[ =scenario_id ]
runs the game in a small test scenario. The scenario should be one defined with a
.B [test]
WML tag. The default is
.BR test .
A demonstration of the
.B [micro_ai]
feature can be started with
.BR micro_ai_test .
.TP
.BI --translations-over \ percent
Set the standard for deeming a translation is complete enough to show in the
in-game language list to
.IR percent .
Valid values are 0 to 100.
.TP
.BI -u,\ --unit \ scenario-id
runs the specified test scenario as a unit test. Implies
.BR --nogui .
.TP
.B --unsafe-scripts
makes the
.B package
package available to lua scripts, so that they can load arbitrary packages. Do not do this with untrusted scripts! This action gives lua the same permissions as the wesnoth executable.
.TP
.BI -S,\ --use-schema \ path
sets the WML schema for use with
.BR -V,\ --validate .
.TP
.BI --userdata-dir \ name
sets the userdata directory to
.I name
under $HOME or "My Documents\\My Games" for windows.
You can also specify an absolute path for the userdata directory outside
the $HOME or "My Documents\\My Games". On Windows it is also possible to
specify a directory relative to the process working directory by using path
starting with ".\\" or "..\\".
.TP
.B --userdata-path
prints the path of the userdata directory and exits.
.TP
.BI --username \ username
uses
.I username
when connecting to a server, ignoring other preferences.
.TP
.BI --validate \ path
validates a file against the WML schema.
.TP
.BI --validate-addon \ addon_id
validates the WML of the given addon as you play.
.TP
.B --validate-core
validates the core WML as you play.
.TP
.BI --validate-schema \ path
validates a file as a WML schema.
.TP
.B --validcache
assumes that the cache is valid. (dangerous)
.TP
.B -v, --version
shows the version number and exits.
.TP
.B --simple-version
shows the version number and nothing else, then exits.
.TP
.B -w, --windowed
runs the game in windowed mode.
.TP
.B --with-replay
replays the game loaded with the
.B --load
option.
.
.SH Options for --multiplayer
.
The side-specific multiplayer options are marked with
.IR number .
.I number
has to be replaced by a side number. It usually is 1 or 2 but depends on
the number of players possible in the chosen scenario.
.TP
.BI --ai-config \ number : value
selects a configuration file to load for the AI controller for this side.
.TP
.BI --algorithm \ number : value
selects a non-standard algorithm to be used by the AI controller for
this side. The algorithm is defined by an
.B [ai]
tag, which can be a core one either in "data/ai/ais" or "data/ai/dev"
or an algorithm defined by an addon. Available values include:
.B idle_ai
and
.BR experimental_ai .
.TP
.BI --controller \ number : value
selects the controller for this side. Available values:
.BR human ,
.B ai
and
.BR null .
.TP
.BI --era \ value
use this option to play in the selected era instead of the
.B Default
era. The era is chosen by an id. Eras are described in the
.B "data/multiplayer/eras.cfg"
file.
.TP
.B --exit-at-end
exits once the scenario is over, without displaying victory/defeat dialog which normally requires the user to click End Scenario.
This is also used for scriptable benchmarking.
.TP
.B --ignore-map-settings
do not use map settings, use default values instead.
.TP
.BI --label \ label
sets the
.I label
for AIs.
.TP
.BI --multiplayer-repeat \ value
repeats a multiplayer game
.I value
times. Best to use with
.B --nogui
for scriptable benchmarking.
.TP
.BI --parm \ number : name : value
sets additional parameters for this side. This parameter depends on the
options used with
.B --controller
and
.BR --algorithm .
It should only be useful for people designing their own AI. (not yet
documented completely)
.TP
.BI --scenario \ value
selects a multiplayer scenario by id. The default scenario id is
.BR multiplayer_The_Freelands .
.TP
.BI --side \ number : value
selects a faction of the current era for this side. The faction is
chosen by an id. Factions are described in the data/multiplayer.cfg
file.
.TP
.BI --turns \ value
sets the number of turns for the chosen scenario. By default no turn limit is set.
.
.SH EXIT STATUS
.
Normal exit status is 0.
An exit status of 1 indicates an (SDL, video, fonts, etc) initialization error. An
exit status of 2 indicates an error with the command line options.
.br
When running unit tests
.RB (with \ -u ),
the exit status is different. An exit
status of 0 indicates that the test passed,
and 1 indicates that the test failed. An exit status of 3 indicates that the test passed, but produced an invalid
replay file. An exit status of 4 indicates that the test passed, but the replay produced errors. These latter
two are only returned if
.B --noreplaycheck
is not passed.
.
.SH AUTHOR
.
Written by David White <davidnwhite@verizon.net>.
.br
Edited by Nils Kneuper <crazy-ivanovic@gmx.net>, ott <ott@gaon.net> and Soliton <soliton.de@gmail.com>.
.br
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 wesnothd (6)