#summary Full list of command line switches for hedgewars, hwengine and server #labels Documentation,Engine,Frontend = Command-line options = == Frontend == The frontend in Hedgewars refers to the main and all the other menus before an actual game has started. It does *not* refer to the part where the actual game takes place (see “Engine” for this). Symtax: `hedgewars [OPTION …] [CONNECTSTRING]` All command-line arguments are optional. When invoked without any command-line arguments, the Hedgewars frontend will start normally with standard directory locations. `OPTION` is a sequence of one or more options (seperated by spaces. There are options that enable to load the data directory and the configuration directory in non-standard locations. The following options are available: * {{{--data-dir=[path containing 'hedgewars/Data']}}}: Data directory * {{{--config-dir=[path containing 'Demos' 'Saves' etc.]}}}: Configuration directory * {{{--help:}}}: Display help about command-line arguments and exit the program thereafter The program exits if either one of the folders is not correct; quotes are optional, but needed if your path contains spaces. Specify `CONNECTSTRING` if you want Hedgewars to join a server and possibly even a room on start. This must be a `hwplay` URL (see [HWPlaySchemeSyntax] to learn more about this). === Examples === This is an example on GNU/Linux on a shell (the dollar sign is not part of the input): {{{ $ /usr/bin/hedgewars --data-dir="/opt/local/share/" --config-dir=".hedgewars/tesing config/" }}} This starts Hedgewars with the data directory `/opt/local/share/` and the configuration directory `.hedgewars/testing config/` (relative to the current working directory). Another example: {{{ $ /usr/bin/hedgewars hwplay://example.org }}} Makes Hedgewars join an alternative server `example.org` on start. == Engine == The engine is the program which runs the actual game. It is possible to start a replay or save file directly from the console issuing the standalone {{{hwengine}}} utility with a very simple syntax. === Standard usage === {{{hwengine [options] }}} By default, `hwengine` will look in the current folder for game assets, if you wish to use another directory you should set the `--prefix` and `--user-prefix` options. See below for even more commands. The replay file can be stored anywhere. Note that, as always, engine can only load replay files generated from the same Hedgewars version. === Advanced usage === It is possible to specify almost any settings by adding additional arguments: * {{{--prefix [path to Hedgewars data folder]}}} - Sets the path to the system game data folder * {{{--user-prefix [path to custom Hedgewars folder]}}} - Sets the path to the custom data folder to find game content * {{{--locale [language file]}}} - Sets the game language (en.txt for sample) * {{{--nick [string]}}} - Represents the user nickname * {{{--width [size]}}} - Starts the game with the given width (in pixels) * {{{--height [size]}}} - Starts the game with the given height (in pixels) * {{{--volume [level]}}} - Sets the volume level, possible values range from 0-100 (negative is muted) * {{{--nomusic}}} - Disables music * {{{--nosound}}} - Disables sound effects * {{{--fullscreen}}} - Starts game in fullscreen * {{{--showfps}}} - Shows a fps counter in the top right * {{{--altdmg}}} - Uses an alternative damage indicator * {{{--low-quality}}} - Lowers the game quality * {{{--stereo [type]}}} - Sets stereoscopic rendering type (1 to 14) * {{{--help}}} - Shows a list of command line options and exits the program directly after ==== More advanced usage ==== Generally you don't need to set these options but here they are for full documentation: * {{{--frame-interval [interval]}}} - Sets minimum interval (in ms) between each frame. Eg, 40 would make the game run at most 25 fps * {{{--raw-quality [flags]}}} - (For advanced users only). Manually specifies the reduced quality flags, see below. * {{{--stats-only}}} - Outputs the round information without launching the game, useful for statistics only * {{{--fullscreen-width [size]}}} - Starts the game with the given width (in pixels) when fullscreen * {{{--fullscreen-height [size]}}} - Starts the game with the given height (in pixels) when fullscreen Note: any modification to the command line arguments should be reflected in the autostart `.desktop` file, `game.cpp`, `GameInterfaceBridge.m`. `--prefix location` is usually hardcoded at compile time, but should you changed the installation directory, then you can use this flag to override it; alternatively you can just specify `--user-prefix`. Personal game data is by default contained in one of the following directories: * _Windows_: {{{%USERPROFILE%\Hedgewars}}} * _GNU/Linux_: {{{~/.hedgewars}}} * _Mac OS X_: {{{~/Library/Application Support/Hedgewars}}} `--raw-quality value` is determined by combining the values of the flags you wish to enable. Up-to-date variables (in hexadecimal) are online here: [https://hg.hedgewars.org/hedgewars/file/default/hedgewars/uConsts.pas#l62 uConsts.pas] * {{{qLowRes = 1}}} * {{{rqBlurryLand = 2}}} * {{{rqNoBackground = 4}}} * {{{rqSimpleRope = 8}}} * {{{rq2DWater = 16}}} * {{{rqAntiBoom = 32}}} * {{{rqKillFlakes = 64}}} * {{{rqSlowMenu = 128}}} * {{{rqPlainSplash = 256}}} * {{{rqClampLess = 512}}} * {{{rqTooltipsOff = 1024}}} * {{{rqDesyncVBlank = 2048}}} E.g., to have blurry land and simple rope, you would use the number 10 (2+8). There are some internal commands, such as `--internal`, `--port [int]`, that are not meant for command-line usage. If you want to get your hands dirty and see how the engine interprets commands, you can check out the source code: [https://hg.hedgewars.org/hedgewars/file/default/hedgewars/ArgParsers.inc ArgParsers.inc] == Server == The server can be configured to run on non standard port or to run as separate process. * {{{--port=PORT}}} or {{{-p PORT}}}: Server listens on `PORT` * {{{--dedicated=BOOL}}} or {{{-d BOOL}}}: Spawn a separate process (`BOOL` is either “True” or “False”) * {{{--help}}}: Shows a short text explaining the command-line arguments and exists the program thereafter.