SPRING-HEADLESS(6) | Games | SPRING-HEADLESS(6) |
spring-headless - An open source RTS game engine - Headless Engine
spring-headless [--safemode] [-s|--server IP_OR_HOSTNAME] [-p|--projectiledump] [--benchmark TIME [--benchmarkstart TIME]] [-i|--isolation] [--isolation-dir PATH] [-n|--name STRING] [-C|--config FILE] SCRIPT
spring-headless --list-ai-interfaces
spring-headless --list-skirmish-ais
spring-headless --list-def-tags
spring-headless --list-config-vars
spring-headless [-h|--help]
spring-headless --sync-version
spring-headless [-V|--version]
Spring is a versatile 3D RTS game engine. Using extensively Lua for scripting game-specific code to make nearly every aspect of the engine customizable, from GUI, to unit AI, to pathfinding.
It is mainly designed around online multiplayer games but can also be played in single-player mode against AIs.
This is the engine version without graphics or sound output. It still runs the full simulation, while spring-dedicated basically only redirects network traffic. It is useful for testing and simulating AI only games at high speeds on systems without graphics and sound output support.
-h, --help
-V, --version
--sync-version
--nocolor
--quiet
--safemode
-s, --server::'IP_OR_HOSTNAME'
-i, --isolation
--isolation-dir::'PATH'
--write-dir::'PATH'
-n, --name::'NAME'
-C, --config::'FILE'
--list-ai-interfaces
--list-skirmish-ais
--list-def-tags
--list-ceg-classes
--list-config-vars
-g, --game::'GAME'
-m, --map::'MAP'
~/.config/spring/
The default data-directory (see section DATA DIR).
~/.config/spring/springsettings.cfg
Contains the users settings for the engine, for things like graphic and sound.
/etc/spring/datadir
Contains the : separated paths to additional data-dirs (see section DATA DIR).
SPRING_LOG_SECTIONS Selective functionality to change the verbosity (separated by ,).
SPRING_WRITEDIR Define custom primary write DATA DIR. Place where spring saves logs, settings, ...
SPRING_DATADIR Adds additional DATA DIRs Spring will search for files (separated by :).
SPRING_ISOLATED If defined, Spring will stop searching files outside of the binaries directory. If it is set to a valid directory path, it will be used as the isolation directory. See the --isolation and the --isolation-dir options.
SPRING_NOCOLOR Same as spring --nocolor.
Can either be a:
An all-in-one-folder setup, which allows to run Spring without installation. To do so all relevant files (binaries & basecontent) must be in a single folder, esp. spring(.exe), libunitsync.so/unitsync.dll and springsettings.cfg. Spring will then use the all-in-one-folder for writing and won’t do so anywhere else on the system, but it may open other files & directories for reading.
Not to confuse with Portable Mode, this mode disables all automatic Data Dir scanning and limit reading & writing to a single folder. This is very useful when games want to run separate from other Spring games. Isolation mode can be enabled by placing an empty isolated.txt next to the spring executable or by setting SPRING_ISOLATED env var.
Data directories are searched for content, and among other things, may contain:
Sorted by priority the engine may use multiple data directories, but it will use only the one with the highest priority as writable, to write cache & log files to. The hierarchy the engine loads DATA DIRs in can be grouped in 3 sections:
priority | section | normal | portable | isolation |
high | custom user write | -e directory defined via --write-dir SPRING_WRITEDIR envvar | -e directory defined via --write-dir SPRING_WRITEDIR envvar | -e directory defined via --write-dir SPRING_WRITEDIR envvar |
automatic scanned | -e CONFIG_HOME ETC_DIRS USR_SHARE | -e INSTALL_DIR CONFIG_HOME ETC_DIRS USR_SHARE | ISOLATION_DIR | |
low | custom user read | -e SPRING_DATADIR envvar SpringData configtag | -e SPRING_DATADIR envvar SpringData configtag | -e SPRING_DATADIR envvar SpringData configtag |
CONFIG_HOME
*nix/MacOSX:
~/.spring
Windows:
C:/.../My Documents/Spring/
C:/.../All Users/Applications/Spring/
INSTALL_DIR Location of spring-headless binary.
ETC_DIRS Additional : separated DATA DIRs defined in /etc/spring/datadir.
USR_SHARE
MacOSX: .../Spring.app/Contents/Resources/share/games/spring/base/
Windows: Install directory
ISOLATION_DIR
Mode B (--isolation-dir): supplied dir
Spring can load configurations from multiple files and merge them. So similar to DATA DIRs there is one file where the engine writes to and multiple read-only files.
It scans following directories for config files :
priority | scanned directories |
exclusive | file defined via --config (when defined only this is loaded) |
high | write DATA DIR |
-e (skipped in Isolated mode) *nix/MacOSX: ~/.springrc Windows: C:\Users\USER\AppData\Local\springsettings.cfg | |
low | all read DATA DIRs |
(The one with highest priority will be used for writing.)
The filename of such config files can be as following:
priority | filenames |
high | springsettings-%Engine_Version%.cfg |
springsettings.cfg | |
springrc-%Engine_Version% (*nix/MacOSX only) | |
low | springrc (*nix/MacOSX only) |
(An example for a versioned config file is "springsettings-94.1.cfg".)
More information about Spring can be found at link: https://springrts.com
Spring was written by the Spring developers.
This manual page was written by Marco Amadori <marco.amadori@gmail.com[1]>, for the Debian project (and may be used by others).
03/02/2021 | Spring package |