Next: , Previous: , Up: Reference   [Contents][Index]


4.15 Advanced settings

4.15.1 base64-decode

Command-line option: --base64-decode

If specified, program will take stdin and base64 decode it to stdout. This is for testing purpose (for network messages for instance). Will decode in standard base64 encoding using characters + and / but also the url-compliant version using - and /, see RFC 4648 for details.

4.15.2 base64-encode

Command-line option: --base64-encode

If specified, program will take stdin and base64 encode it to stdout. This is for testing purpose (for network messages for instance). Will *not* use standard base64 encoding using characters + and / but - and _ instead to be url-compliant, see RFC 4648 for details.

4.15.3 bench

Command-line option: --bench

Runs a benchmarking test which will report an approximative performance estimation of the game on your computer. The result is in an arbitrary unit, but it is logarithmic, and works the way the audio decibels do. That is, 30 is 10 times greater than 20. 10 is supposed to be a reference of a computer that can reasonnably run the game. So if you get 40, you are 1000 times powerfull enough. Negative values can technically show up on very slow computers.

4.15.4 bench-value

Command-line option: --bench-value=<value>
Environment variable: LW6_BENCH_VALUE
XML key: bench-value

Type: integer

Default value: 20

Contains the current bench value of the computer running the game. This is used internally to choose the right map settings. You can override this value and use your own but... use at your own risk. Pretending you have a faster computer than what you really have can lead to confusion.

4.15.5 bin-id

Command-line option: --bin-id=<value>
Environment variable: LW6_BIN_ID
XML key: bin-id

Type: integer

Default value: 0

The internal ’bin-id’ value. Note that this is not necessarly equal to the value returned by ’show-build-bin-id’. When they are different, it is assumed this is because of a software upgrade.

4.15.6 check

Command-line option: --check

Running the game with ’–check’ is almost like running ’–test’, the difference is that ’–check’ will not run tests which involve graphics or sound backends, so it’s adapted to pure console mode. This can be usefull for automated checks on a build farm, or if you want to check things in a headless (pure console) environment.

4.15.7 commands-per-sec

Command-line option: --commands-per-sec=<value>
Environment variable: LW6_COMMANDS_PER_SEC
XML key: commands-per-sec

Type: integer

Default value: 10 Min value: 1 Max value: 1000

Defines the number of commands per second. When a command is generated, orders are actually sent to the game engine, for instance, ’this cursor moved there’. So this option will affect game responsiveness, setting this to a high value will make the game more responsive but consume bandwidth on network games.

4.15.8 cunit

Command-line option: --cunit

Running the game with ’–cunit’ is almost like running ’–test’, the difference is that ’–cunit’ will use CUnit interactive interface, allowing the user to cherry-pick some tests, and avoid running the whole suite just for one test. This can be usefull for debugging, when individual test binaries are not available.

4.15.9 daemon

Command-line option: --daemon

Start the game in daemon mode, this is typically used with the server mode, if you want the process to be detached from the console and executed in the background.

4.15.10 debug-layer-id

Command-line option: --debug-layer-id=<value>
Environment variable: LW6_DEBUG_LAYER_ID
XML key: debug-layer-id

Type: integer

Default value: 0 Min value: 0 Max value: 6

A team id which will be used for debugging purposes, for instance when displaying gradient.

4.15.11 debug-team-id

Command-line option: --debug-team-id=<value>
Environment variable: LW6_DEBUG_TEAM_ID
XML key: debug-team-id

Type: integer

Default value: 0 Min value: 0 Max value: 9

A team id which will be used for debugging purposes, for instance when displaying gradient.

4.15.12 demo

Command-line option: --demo

Start the game in demo mode. 2 bots play against each other forever.

4.15.13 dialog-timeout

Command-line option: --dialog-timeout=<value>
Environment variable: LW6_DIALOG_TIMEOUT
XML key: dialog-timeout

Type: integer

Default value: 3600 Min value: 0 Max value: 86400

Timeout, in seconds, after which a dialog will automatically be closed, wether user clicked on it or not. Mostly used for testing, to avoid program being stall on a visual prompt. 0 will simply disable this feature and wait forever. Note that some platforms might not support this. Interfaces using Gtk do support it.

4.15.14 dirty-read

Command-line option: --dirty-read=<value>
Environment variable: LW6_DIRTY_READ
XML key: dirty-read

Type: integer

Default value: 2 Min value: 0 Max value: 2

How to handle dirty reads and locks when displaying stuff. If set to 0, there will be no dirty reads at all, a lock (mutex) will be set whenever it’s needed. If set to 1, display might be done with inconsistent data, however the data itself won’t be modified while displaying. If set to 2, displayed data can (and will) be modified while the rendering thread is running.

4.15.15 display-background

Command-line option: --display-background=<value>
Environment variable: LW6_DISPLAY_BACKGROUND
XML key: display-background

Type: boolean

Default value: true

Decides wether the background animation/image should be displayed at all.

4.15.16 display-console

Command-line option: --display-console=<value>
Environment variable: LW6_DISPLAY_CONSOLE
XML key: display-console

Type: boolean

Default value: false

Defines wether the interactive system console must be displayed. Note that console support must have been enabled at compilation time. It might not be available on your computer, for instance if you are running a system such as Microsoft Windows.

4.15.17 display-cursors

Command-line option: --display-cursors=<value>
Environment variable: LW6_DISPLAY_CURSORS
XML key: display-cursors

Type: boolean

Default value: true

Debugging option which can be set to ’false’ to disable the display of cursors when playing.

4.15.18 display-debug-gradient

Command-line option: --display-debug-gradient=<value>
Environment variable: LW6_DISPLAY_DEBUG_GRADIENT
XML key: display-debug-gradient

Type: boolean

Default value: false

Set this to ’true’ to display the gradient, this is usefull to debug the core algorithm or understand how it works.

4.15.19 display-debug-zones

Command-line option: --display-debug-zones=<value>
Environment variable: LW6_DISPLAY_DEBUG_ZONES
XML key: display-debug-zones

Type: boolean

Default value: false

Set this to ’true’ to display the zones, this is usefull to debug the core algorithm or understand how it works.

4.15.20 display-fighters

Command-line option: --display-fighters=<value>
Environment variable: LW6_DISPLAY_FIGHTERS
XML key: display-fighters

Type: boolean

Default value: true

Debugging option which can be set to ’false’ to disable the display of fighters when playing.

4.15.21 display-fps

Command-line option: --display-fps=<value>
Environment variable: LW6_DISPLAY_FPS
XML key: display-fps

Type: boolean

Default value: false

Set this to ’true’ to display the number of frames per second. When this gets too low... play a smaller map, buy a new computer or contribute and hack Liquid War 6 so that it runs faster!

4.15.22 display-hud

Command-line option: --display-hud=<value>
Environment variable: LW6_DISPLAY_HUD
XML key: display-hud

Type: boolean

Default value: true

Decides wether the hud (informations while playing) should be displayed.

4.15.23 display-log

Command-line option: --display-log=<value>
Environment variable: LW6_DISPLAY_LOG
XML key: display-log

Type: boolean

Default value: true

Set this to ’false’ to disable the display of error messages on the screen. Mote that you can miss valuable informations.

4.15.24 display-map

Command-line option: --display-map=<value>
Environment variable: LW6_DISPLAY_MAP
XML key: display-map

Type: boolean

Default value: true

Debugging option which can be set to ’false’ to disable map (level) display when playing.

4.15.25 display-menu

Command-line option: --display-menu=<value>
Environment variable: LW6_DISPLAY_MENU
XML key: display-menu

Type: boolean

Default value: true

Debugging option which can be set to ’false’ to disable the display of menus.

4.15.26 display-meta

Command-line option: --display-meta=<value>
Environment variable: LW6_DISPLAY_META
XML key: display-meta

Type: boolean

Default value: true

Set to ’false’ to disable the display of meta information, this includes the help, tootips and breadcrumbs in menus.

4.15.27 display-mouse

Command-line option: --display-mouse=<value>
Environment variable: LW6_DISPLAY_MOUSE
XML key: display-mouse

Type: boolean

Default value: true

Set this to ’false’ to always hide the mouse pointer.

4.15.28 display-mps

Command-line option: --display-mps=<value>
Environment variable: LW6_DISPLAY_MPS
XML key: display-mps

Type: boolean

Default value: false

Set this to ’true’ to display the number of moves per second. In theory the game should maintain this constant but in practise it can get low if your computer is too slow or too busy.

4.15.29 display-preview

Command-line option: --display-preview=<value>
Environment variable: LW6_DISPLAY_PREVIEW
XML key: display-preview

Type: boolean

Default value: true

Decides wether a map preview should be displayed when choosing a level.

4.15.30 display-progress

Command-line option: --display-progress=<value>
Environment variable: LW6_DISPLAY_PROGRESS
XML key: display-progress

Type: boolean

Default value: true

Decides wether a progress bar should be displayed when a long operation is realized as a background task.

4.15.31 display-score

Command-line option: --display-score=<value>
Environment variable: LW6_DISPLAY_SCORE
XML key: display-score

Type: boolean

Default value: true

Decides wether the score screen should be displayed.

4.15.32 display-splash

Command-line option: --display-splash=<value>
Environment variable: LW6_DISPLAY_SPLASH
XML key: display-splash

Type: boolean

Default value: true

Set this to ’false’ to disable the display of the splash screen at game startup.

4.15.33 display-url

Command-line option: --display-url=<value>
Environment variable: LW6_DISPLAY_URL
XML key: display-url

Type: boolean

Default value: false

Set this to ’true’ to display the URL (homepage) of the game. This is mostly used when doing screenshots, so that generated images contain a link to the homepage.

4.15.34 executed-again

Command-line option: --executed-again=<value>
Environment variable: LW6_EXECUTED_AGAIN
XML key: executed-again

Type: boolean

Default value: false

This environment variable/keyword is used to detect wether the program has been launched by itself with an internal execv call. This is used as a workarround to set some environment variables (DYLD_LIBRARY_PATH on Mac OS X for instance) before the program is run, as sometimes using setenv() inside the program does not work.

4.15.35 gfx-cpu-usage

Command-line option: --gfx-cpu-usage=<value>
Environment variable: LW6_GFX_CPU_USAGE
XML key: gfx-cpu-usage

Type: float

Default value: 0.75 Min value: 0 Max value: 1

Percentage of the CPU which will be used by the display thread. It’s wise to leave some time to other threads to execute. The OS does it naturally, but setting this helps the whole process by explicitely pausing (sleep call) the display thread. You could change this to a low value if you have lagging games but smooth display.

4.15.36 gfx-debug

Command-line option: --gfx-debug=<value>
Environment variable: LW6_GFX_DEBUG
XML key: gfx-debug

Type: boolean

Default value: false

Enables dedicated graphics debugging tools. This is different from ’debug’ mode which is global, this one is really graphics specific.

4.15.37 io-per-sec

Command-line option: --io-per-sec=<value>
Environment variable: LW6_IO_PER_SEC
XML key: io-per-sec

Type: integer

Default value: 20 Min value: 1 Max value: 1000

Defines the number of calls to input/output functions per second. This can affect speed of menus but also cursors, but won’t change the speed of the game itself. It’s a cosmectic, comfort option.

4.15.38 jpeg-quality

Command-line option: --jpeg-quality=<value>
Environment variable: LW6_JPEG_QUALITY
XML key: jpeg-quality

Type: integer

Default value: 85 Min value: 0 Max value: 85

Quality used by libjpeg when creating screenshot images. The same value you would give to Gimp before exporting an image as a JPEG.

4.15.39 loader-sleep

Command-line option: --loader-sleep=<value>
Environment variable: LW6_LOADER_SLEEP
XML key: loader-sleep

Type: float

Default value: 0.5

Defines how long the loader thread should wait between two polls. Default value should fit in most cases.

4.15.40 local-bench-delta

Command-line option: --local-bench-delta=<value>
Environment variable: LW6_LOCAL_BENCH_DELTA
XML key: local-bench-delta

Type: integer

Default value: 0 Min value: -70 Max value: 20

A value which is added to bench before starting a local game. This is typically zero or negative, as adding to bench is like pretending your computer is faster than it really is.

4.15.41 log-level

Command-line option: --log-level=<value>
Environment variable: LW6_LOG_LEVEL
XML key: log-level

Type: integer

Default value: 3 Min value: 0 Max value: 4

Defines the log level, that is, how verbose the program will be regarding logs and console output. 0 (ERROR) is the minimum, only errors are reported. 1 (WARNING) means errors + warnings. 2 (NOTICE) displays most important messages. 3 (INFO) is the default, the log file will contain all messages but debug stuff. 4 (DEBUG) logs everything, including debug informations.

4.15.42 log-timeout

Command-line option: --log-timeout=<value>
Environment variable: LW6_LOG_TIMEOUT
XML key: log-timeout

Type: integer

Default value: 5000

Delay, in msec, for which a log message will stay displayed on the screen.

4.15.43 magic-number

Command-line option: --magic-number=<value>
Environment variable: LW6_MAGIC_NUMBER
XML key: magic-number

Type: integer

Default value: 14741

This ’magic’ number probably requires an explanation. It’s used to estimate how big a map can be built. The calculus is very approximative, basically bench_value*magic_number=total_fighters_on_map*rounds_per_sec*moves_per_round with total_fighters_on_map depending on various parameters such as map size but also how many fighters are on the map. The map loader will try and adjust the map size so that it is just big enough not to saturate your CPU while being as high-res as possible. The magic number in itself has no real meaning, the higher it gets, the more optimized it means the game is. Normally you shouldn’t change this but if you find the map resizing is too agressively pessimistic, or if for some reason bench returns bogus values, you can modify it.

4.15.44 max-local-bench-value

Command-line option: --max-local-bench-value=<value>
Environment variable: LW6_MAX_LOCAL_BENCH_VALUE
XML key: max-local-bench-value

Type: integer

Default value: 800

Even if your computer is very fast, this parameter will be used to tame the optimism of the test, and do not load maps in very high detail. It’s believed at some point, it’s best to keep your extra power to deal with unordinary situations rather than waste it on useless details. Game should be fun with that setting, but if you really want to use your shiny CPU at its maximum, raise this.

4.15.45 max-network-bench-value

Command-line option: --max-network-bench-value=<value>
Environment variable: LW6_MAX_NETWORK_BENCH_VALUE
XML key: max-network-bench-value

Type: integer

Default value: 200

On network games, we need to be sure everyone can play in correct conditions, therefore maps won’t be loaded with more details than this, by default. You’re free to increase this parameter but it can cause your games to be unjoignable by some people.

4.15.46 memory-bazooka-eraser

Command-line option: --memory-bazooka-eraser=<value>
Environment variable: LW6_MEMORY_BAZOOKA_ERASER
XML key: memory-bazooka-eraser

Type: boolean

Default value: true

The memory eraser is a tool which will systematically fill allocated memory with ’M’, and overwrite all allocated bytes with ’F’ before freeing memory. It will even handle realloc calls. This is usefull to track bugs. Indeed, with this option enabled, freshly allocated memory will never contain zeroes unless one calls calloc, and if you ever free some memory zone before being done with it, it will be filled with junk and therefore not be usable. The memory bazooka must be big enough if you want this feature to actually work.

4.15.47 memory-bazooka-size

Command-line option: --memory-bazooka-size=<value>
Environment variable: LW6_MEMORY_BAZOOKA_SIZE
XML key: memory-bazooka-size

Type: integer

Default value: 99991

The memory bazooka is a brute-force tool, conceived after a full night spent tracking some memory leak. The idea is to keep a track of all allocated pointers, when the data was allocated (timestamp), where in the code (file, line), and even point out what data there is in that place. A memory bazooka report at the end of the game will just show what’s left. There should be nothing. This parameter is here to avoid wasting CPU cycles on a feature which is very debug-oriented and does not really make sense for the casual user. Set it to 0 for best performance, something like 100 might just be helpfull, but 1000000 is the right way to seriously debug code.

4.15.48 net-log

Command-line option: --net-log=<value>
Environment variable: LW6_NET_LOG
XML key: net-log

Type: boolean

Default value: false

Activates network log, that is, logs everything sent/received over the network, except data which is sent through a third party library such as libCurl. This is mostly for debugging purpose, it can lead to rather big log files.

4.15.49 net-per-sec

Command-line option: --net-per-sec=<value>
Environment variable: LW6_NET_PER_SEC
XML key: net-per-sec

Type: integer

Default value: 500 Min value: 1 Max value: 1000

Defines the number of calls to network functions per second. This can technically change the network transfers speed, the higher the number, the faster it should be, but at the same time it can technically be more CPU greedy.

4.15.50 network-bench-delta

Command-line option: --network-bench-delta=<value>
Environment variable: LW6_NETWORK_BENCH_DELTA
XML key: network-bench-delta

Type: integer

Default value: -5 Min value: -70 Max value: 20

A value which is added to bench before starting a network game. This is typically a negative value, lower than the one added to local game. This is because network games can be more CPU greedy.

4.15.51 network-reliability

Command-line option: --network-reliability=<value>
Environment variable: LW6_NETWORK_RELIABILITY
XML key: network-reliability

Type: integer

Default value: 1000 Min value: 1 Max value: 1000000000

The program assumes network is non-reliable, however the problem with those assumptions is that when you test, network is always reliable, even with non-garanteed protocols like UDP. This option will force the program to actually ignore some calls to send or recv functions, simulating a network disfunction. This is to ensure the internal mecanisms correcting network problems do work for good, on daily regular use. It’s not possible to set it to a perfect behavior, never dropping any packet, however using the default settings you probably won’t even notice the performance drop induced by having to fix problems. The highest the number is, the most reliable network will look, the algorithm is simply to drop one message out of X.

4.15.52 open-relay

Command-line option: --open-relay=<value>
Environment variable: LW6_OPEN_RELAY
XML key: open-relay

Type: boolean

Default value: false

Enables forwarding of abritrary network messages. If open relay is forbidden, the game will only forward messages when physical sender and logical sender are the same. This is to say if messages come from A for C and is sent by A to B, B will forward it to C. But if message comes from X to C and is sent by A to B, then B won’t forward it. In practice, it means without open relay, messages can only be forwarded once.

4.15.53 pilot-lag

Command-line option: --pilot-lag=<value>
Environment variable: LW6_PILOT_LAG
XML key: pilot-lag

Type: integer

Default value: 10

Maximum lag, in rounds, until the game engine is slowed down. This will typically be usefull if your computer is too slow for the map resolution and the game speed you set up.

4.15.54 quick-start

Command-line option: --quick-start

Start the game just like if the player had requested a quick start, without showing any menu.

4.15.55 reset

Command-line option: --reset

Clears the config file so that the game will run with defaults next time. The idea is to get rid of traces of previous executions. The difference with ’–defaults’ is that ’–reset’ does not run the game, while ’–defaults’ does.

4.15.56 reset-config-on-upgrade

Command-line option: --reset-config-on-upgrade=<value>
Environment variable: LW6_RESET_CONFIG_ON_UPGRADE
XML key: reset-config-on-upgrade

Type: boolean

Default value: true

If set, then a reset (config file set to defaults) is run every time you upgrade the game.

4.15.57 screenshots-per-min

Command-line option: --screenshots-per-min=<value>
Environment variable: LW6_SCREENSHOTS_PER_MIN
XML key: screenshots-per-min

Type: integer

Default value: 12

Defines the number of screenshots / node info per minute. This can a quite costly operation, but still it must not be too low else screenshots are too outdated.

4.15.58 server

Command-line option: --server

Start the game in server mode, without requiring any graphics backend. Server mode is usefull if you just want to start a network node without hosting any real game on it. It can be used to list existing nodes and sessions or as a bounce server in case some clients can’t contact each other because firewalled. If you only want to start a server game on your computer, don’t use this option, just start the game normally and start a game server by clicking on the GUI buttons.

4.15.59 simulate-basic

Command-line option: --simulate-basic

Simulates some fights using the basic colors red, green, yellow and blue. Will output on the console a percentage based on scores obtained by the teams. This is typically for map designers and/or people who want to fiddle with team profiles, if some team is really stronger than another one, it should appear in these percentages.

4.15.60 simulate-full

Command-line option: --simulate-full

Simulates some fights using all available colors. This can be very long, it will run approximatively 1000 games consecutively, you can look in the log file to see the progress. Will output on the console a percentage based on scores obtained by the teams. This is typically for map designers and/or people who want to fiddle with team profiles, if some team is really stronger than another one, it should appear in these percentages.

4.15.61 target-fps

Command-line option: --target-fps=<value>
Environment variable: LW6_TARGET_FPS
XML key: target-fps

Type: integer

Default value: 60 Min value: 1 Max value: 1000

Defines how many frames will be displayed per second. Of course this is a maximum value, if your hardware can’t keep up with this value, display will just be slow, no matter what value you define here. Note that you might really wish to have something rather low here, to keep network and ’logic’ function responsiveness. Passed 60 frames per second, speed is really only for visual comfort, as Liquid War 6 is now so fast-paced that it requires 200 frames/sec to outperform opponents.

4.15.62 trap-errors

Command-line option: --trap-errors=<value>
Environment variable: LW6_TRAP_ERRORS
XML key: trap-errors

Type: boolean

Default value: false

If set to true, will trap segmentation fault and floating point errors, and display messages about those in a custom box instead of the default one

4.15.63 trojan

Command-line option: --trojan=<value>
Environment variable: LW6_TROJAN
XML key: trojan

Type: boolean

Default value: false

Make the program act like a (stupid) trojan horse, trying to fake messages, sending various inconsistent informations. This is to check the normal version of the program is able to detect such a fake and kick it out of the game. It’s of no use for regular players, be sure to unset this if you want to play for good.

4.15.64 z-decode

Command-line option: --z-decode

If specified, program will take stdin and z-decode it to stdout. This is for testing purpose (for network messages for instance). Z-decoding, here means verifying there a Z at the beginning, base64 decode and pass the content through Zlib inflating. I content is not Z-prefixed, will be returned as is.

4.15.65 z-encode

Command-line option: --z-encode

If specified, program will take stdin and z-encode it to stdout. This is for testing purpose (for network messages for instance). Z-encoding, here means passing the message through Zlib deflating then base64 encoding and prefix it with a Z.


Next: , Previous: , Up: Reference   [Contents][Index]