WESNOTH(6)
๐ WESNOTH(6) โ Battle for Wesnoth ๐
okay so bestie, you opened the manual for Battle for Wesnoth, and the man page header literally says WESNOTH(6) at the top, which is giving "section 6, games, we're in our gaming era" energy. Come sit, we're doing this together. ๐ซถ
๐ธ NAME ๐ธ
wesnoth โ Battle for Wesnoth, a turn-based fantasy strategy game
โจ SYNOPSIS โจ
wesnoth [OPTIONS] [PATH_TO_DATA]
๐ DESCRIPTION ๐
Battle for Wesnoth is a turn-based fantasy strategy game. No cap.
So here's the vibe: you defeat all enemy leaders using a well-chosen cadre of troops, and you gotta manage your resources of gold and villages while you do it. Every single unit has its own strengths and weaknesses, so to win you deploy your forces to their best advantage while denying your foes the chance to do the same. It's giving chess but make it fantasy. ๐ง
As units gain experience, they acquire new abilities and become more powerful โ glow-up arc, fr fr. You can play in your own language, test your skill against a smart computer opponent, or join Wesnoth's large community of online players. And if you're that girl, you can create your own custom units, scenarios or campaigns, and share them with others. iconic behavior ๐
๐ OPTIONS ๐
--all-translationsโ shows every translation in the in-game language selection list, even the ones that are deemed insufficiently complete. Bestie, let them cook.--bunzip2 infile.bz2โ decompresses a file which should be in bzip2 format and stores it without the.bz2suffix. Theinfile.bz2will be removed. ๐๏ธ--bzip2 infileโ compresses a file in bzip2 format, stores it asinfile.bz2and removesinfile.-c[id_campaign],--campaign[=id_campaign]โ goes directly to the campaign with idid_campaign. A selection menu will appear if no id was specified. Lowkey convenient.--campaign-difficulty[=difficulty]โ The difficulty of the specified campaign (1to max). If none specified, the campaign difficulty selection widget will appear.--campaign-scenario id_scenarioโ The id of the scenario from the specified campaign. The default is the first scenario.--campaign-skip-storyโ Skip[story]screens and dialog through the end of the start event. For when you've already seen the cutscene, no offense to the writers. ๐ญ--clockโ Adds the option to show a clock for testing the drawing timer. โฐ--config-dir nameโ Deprecated, use--userdata-dir.--config-pathโ Deprecated, use--userdata-path.--core id_coreโ overrides the loaded core with the one whose id is specified.--data-dir directoryโ overrides the data directory with the one specified--data-pathโ prints the path of the data directory and exits. ๐-d,--debugโ enables additional command mode options in-game (see the wiki page athttps://www.wesnoth.org/wiki/CommandModefor more information about command mode). iykyk.--debug-luaโ enables some Lua debugging mechanisms ๐--strict-luaโ disallow deprecated Lua API calls-D,--diff left-file right-fileโ diffs the two WML files; does not preprocess them first (to do that, run them through-pfirst). Outputs the diff as DiffWML on standard output or to the file indicated by--output.-e[file],--editor[=file]โ start the in-game map editor directly. If file is specified, equivalent to-l --load.--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. ๐-f,--fullscreenโ runs the game in full screen mode.--gunzip infile.gzโ decompresses a file which should be in gzip format and stores it without the.gzsuffix. Theinfile.gzwill be removed.--gzip infileโ compresses a file in gzip format, stores it asinfile.gzand removesinfile.-h,--helpโ displays a summary of command line options to standard output, and exits. Our savior, honestly. ๐ซถ-l,--load fileโ loads the savegame file from the standard save game directory. If the-eor--editoroption is used as well, starts the editor with the map from file open. If it is a directory, the editor will start with a load map dialog opened there.-L,--language langโ uses language lang (symbol) this session. Example:--language ang_GB@latin--log-level=domain1,domain2,...โ sets the severity level of the log domains.allcan be used to match any log domain. Available levels:error,warning,info,debug,none. By default thewarninglevel is used for most domains, but deprecation defaults tononeunless combined with the-doption.--log-preciseโ shows the timestamps in log output with more precision.--log-strictโ sets the strict level of the logger. Any messages sent to log domains of this level or more severe will cause the unit test to fail regardless of the victory result. Only relevant when used with-u. ๐--logdomains[=filter]โ lists defined log domains (only the ones containing filter if used) and exits--no-log-to-fileโ prevents redirecting logged output to a file. Log files are created in thelogsdirectory under the userdata folder.--log-to-fileโ log output is written to a file. Cancels the effect of--no-log-to-filewhether implicit or explicit.--wnoconsoleโ For Windows, when used with--no-log-to-file, results in output being written tocerr/coutinstead ofCONOUT. Otherwise, does nothing.--max-fps fpsโ the number of frames per second the game can show, the value should be between1and1000, the default is the monitor's refresh rate.-m,--multiplayerโ runs a multiplayer game. There are additional options that can be used together with--multiplayeras explained below. ๐--mp-testโ load the test mp scenarios.--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. ๐--nodelayโ runs the game without any delays for graphic benchmarking. This is automatically enabled by--nogui.--noaddonsโ disables loading of user addons.--nocacheโ disables caching of game data.--noguiโ runs the game without the GUI. Only available in combination with--multiplayeror--screenshotor--plugin.--nobannerโ suppress the startup banner.--nomusicโ runs the game without music. ๐คซ--noreplaycheckโ don't try to validate replay of unit test. Only relevant when used with-u.--nosoundโ runs the game without sounds and music. ๐--output fileโ output to the specified file. Applicable to diffing operations.--password passwordโ uses password when connecting to a server, ignoring other preferences. Unsafe. Bestie I am begging you, be careful with this one.--plugin scriptโ (experimental) load a script which defines a Wesnoth plugin. Similar to--script, but Lua file should return a function which will be run as a coroutine and periodically woken up with updates.-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--output.-p,--preprocess source-file/folder target-directoryโ preprocesses a specified file/folder. For each file(s) a plain.cfgfile and a processed.cfgfile 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:-p ~/wesnoth/data/campaigns/tutorial ~/result. For details regarding the preprocessor visit:https://wiki.wesnoth.org/PreprocessorRef#Command-line_preprocessor.--preprocess-defines=DEFINE1,DEFINE2,...โ comma separated list of defines to be used by the--preprocesscommand. IfSKIP_COREis in the define list the"data/core"directory won't be preprocessed.--preprocess-input-macros source-fileโ used only by the--preprocesscommand. Specifies a file that contains[preproc_define]s to be included before preprocessing.--preprocess-output-macros[=target-file]โ used only by the--preprocesscommand. 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--preprocess-input-macros. This switch should be typed before the--preprocesscommand.-r XxY,--resolution XxYโ sets the screen resolution. Example:-r 800x600.--render-image image outputโ takes a valid wesnoth 'image path string' with image path functions, and outputs to a.pngfile. Image path functions are documented athttps://wiki.wesnoth.org/ImagePathFunctionWML. ๐ผ๏ธ-R,--reportโ initializes game directories, prints build information suitable for use in bug reports, and exits.--rng-seed numberโ seeds the random number generator with number. Example:--rng-seed 0.--screenshot map outputโ saves a screenshot of map to output without initializing a screen. ๐ธ--script fileโ (experimental) file containing a Lua script to control the client.-s[host],--server[=host]โ connects to the specified host if any, otherwise connect to the first server in preferences. Example:--server server.wesnoth.org.--showguiโ runs the game with the GUI, overriding any implicit--nogui.--strict-validationโ validation errors are treated as fatal errors.-t[scenario_id],--test[=scenario_id]โ runs the game in a small test scenario. The scenario should be one defined with a[test]WML tag. The default istest. A demonstration of the[micro_ai]feature can be started withmicro_ai_test.--translations-over percentโ Set the standard for deeming a translation is complete enough to show in the in-game language list to percent. Valid values are0to100.-u,--unit scenario-idโ runs the specified test scenario as a unit test. Implies--nogui.--unsafe-scriptsโ makes thepackagepackage 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 thewesnothexecutable. ๐ญ bestie no.
-S,--use-schemapath โ sets the WML schema that-V,--validateis gonna use. yeah bestie, schema first, validation second ๐--userconfig-dirname โ sets the user config directory to name, living under$HOME(or"My Documents\My Games"if you're on Windows ๐ช). You can also drop in an absolute path if you want your config somewhere totally outside$HOMEor"My Documents\My Games". On Windows you can even go relative to the process working directory by starting your path with.\or..\. Defaults? Under X11 it's$XDG_CONFIG_HOMEor$HOME/.config/wesnoth, and on other systems it's the userdata path. iykyk โจ--userconfig-pathโ just prints the path of the user config directory and dips. no drama, no game launch ๐ธ--userdata-dirname โ sets the userdata directory to name, under$HOME(or"My Documents\My Games"for Windows). Absolute path? Totally allowed, even outside$HOMEor"My Documents\My Games". And on Windows, same deal as above: relative paths starting with.\or..\work relative to the process working directory ๐--userdata-pathโ prints the path of the userdata directory and bounces. iconic behavior, honestly ๐--usernameusername โ uses username when you connect to a server, and ignores all your other preferences. like, it said what it said, no cap ๐ญ--validatepath โ validates a file against the WML schema. vibe check, but for files ๐ฅ--validate-addonaddon_id โ validates the WML of the given addon as you play. multitasking queen โจ--validate-coreโ validates the core WML as you play. same energy, core edition ๐--validate-schemapath โ validates a file as a WML schema. schema-ception, we love to see it ๐ฆ--validcacheโ assumes that the cache is valid. ๐จ (dangerous) โ the manpage literally says dangerous, so like, don't come crying to me if it's not actually valid bestie ๐-v,--versionโ shows the version number and exits. short, sweet, slays ๐--simple-versionโ shows the version number and nothing else, then exits. minimalism is a lifestyle ๐-w,--windowedโ runs the game in windowed mode. for when fullscreen is giving too much main character energy ๐ช--with-replayโ replays the game you loaded with the--loadoption. rewind era, we're so back โญ
๐ฎ Options for --multiplayer ๐ฎ
okay so the side-specific multiplayer options are marked with number. that number? it has to be replaced by a side number. it's usually 1 or 2, but honestly it depends on how many players are possible in the scenario you picked. read the room (the scenario) ๐
--ai-confignumber:value โ picks a configuration file to load for the AI controller of this side. robot bestie setup ๐ค--algorithmnumber:value โ picks a non-standard algorithm for the AI controller on this side. The algorithm is defined by an[ai]tag โ could be a core one in"data/ai/ais"or"data/ai/dev", or one defined by an addon. Available values include:idle_aiandexperimental_ai. experimental? in this economy? ๐ญ--controllernumber:value โ picks the controller for this side. Available values:human,aiandnull. choose your fighter โจ--eravalue โ use this to play in the selected era instead of the Default era. The era is chosen by an id. Eras are described in thedata/multiplayer/eras.cfgfile. ๐--exit-at-endโ exits once the scenario is over, without showing the victory/defeat dialog (the one that normally makes you click End Scenario). Also used for scriptable benchmarking. no goodbyes, just gone ๐จ--ignore-map-settingsโ do not use map settings, use default values instead. map said what it said, we're ignoring it ๐--labellabel โ sets the label for AIs. name tags but for robots ๐ท๏ธ--multiplayer-repeatvalue โ repeats a multiplayer game value times. Best to use with--noguifor scriptable benchmarking. loop it, bestie ๐--parmnumber:name:value โ sets additional parameters for this side. This parameter depends on the options used with--controllerand--algorithm. It should only be useful for people designing their own AI. (not yet documented completely) โ so like, mysterious behavior, we respect it ๐--scenariovalue โ selects a multiplayer scenario by id. The default scenario id ismultiplayer_The_Freelands. that's the one, no cap ๐--sidenumber:value โ selects a faction of the current era for this side. The faction is chosen by an id. Factions are described in thedata/multiplayer.cfgfile. pick your people ๐ซถ--turnsvalue โ sets the number of turns for the chosen scenario. By default no turn limit is set. unlimited turns, unlimited potential, lowkey terrifying โจ
๐ช EXIT STATUS ๐ช
Normal exit status is 0. An exit status of 1 means there was an (SDL, video, fonts, etc) initialization error. An exit status of 2 means something went wrong with the command line options. so like, check your flags bestie ๐ญ
When you're running unit tests (with -u), the exit status plays by different rules:
- Exit status
0โ the test passed โ - Exit status
1โ the test failed ๐ - Exit status
3โ the test passed, but produced an invalid replay file ๐ - Exit status
4โ the test passed, but the replay produced errors ๐ฆ
those last two (3and4) are only returned if--noreplaycheckis not passed. so if you passed it, don't expect them. periodt ๐
โ๏ธ AUTHOR โ๏ธ
Written by David White <davidnwhite@verizon.net>.
Edited by Nils Kneuper <crazy-ivanovic@gmx.net>, ott <ott@gaon.net> and Soliton <soliton.de@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 iconic ๐
ยฉ๏ธ 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. like literally none, don't @ me ๐
๐ SEE ALSO ๐
and that's the whole page bestie!! ๐ this one's from wesnoth version 2022, dated 2022, and it's WESNOTH(6) โ go forth and --validate responsibly, mwah ๐โจ๐ฆ
๐ฆ where this page comes from
- alpine 3.24: wesnoth-doc 1.18.7-r0 ยท GPL-2.0-only
- nixos 26.05: wesnoth 1.18.7
- nixpkgs unstable: wesnoth 1.18.8
- opensuse-leap 16.0: wesnoth 1.18.2-bp160.1.15 ยท EPL-1.0 AND GPL-2.0-or-later
- opensuse-leap 16.0: wesnoth 1.18.2-bp160.1.15 ยท EPL-1.0 AND GPL-2.0-or-later
- opensuse-leap 16.0: wesnoth 1.18.2-bp160.1.15 ยท EPL-1.0 AND GPL-2.0-or-later
- opensuse-leap 16.0: wesnoth 1.18.2-bp160.1.15 ยท EPL-1.0 AND GPL-2.0-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms