spring-dedicated(6) Dedicated Server

SYNOPSIS

spring-dedicated [-i|--isolation] [--isolation-dir PATH] [-C|--config FILE] SCRIPT

spring-dedicated --list-config-vars

spring-dedicated [-h|--help]

spring-dedicated --sync-version

spring-dedicated [-V|--version]

DESCRIPTION

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 dedicated, GUI-less server for hosting multiplayer games. You need to feed it a start script in order to have it host a game. Start script are generated by lobby clients (SpringLobby) or autho-hosts (Spads, Springie). This is the most leight-weight version of the engine, which basically only redirects network traffic, while spring-headless still runs a full blown simulation of the game.

OPTIONS

-h, --help

Print the options help message and exit

-V, --version

Display program version and exit

--sync-version

Display program sync version (for online gaming) and exit

--nocolor

Disables colorized stdout

--quiet

Ignore unreccognized arguments

-i, --isolation

Limit the data-dir (games & maps) scanner to one directory (see --isolation-dir and the SPRING_ISOLATED env var)

--isolation-dir::'PATH'

Specify the isolation-mode data-dir (see --isolation and the SPRING_ISOLATED env var)

--write-dir::'PATH'

Specify the directory used for all saving.

-C, --config::'FILE'

Exclusive configuration file

--list-config-vars

Dump all default config vars in JSON-format to STDOUT

-g, --game::'GAME'

instantly start the GAME with a minimal setup. Requires --map to be present, too. Sets the modoption minimalsetup = 1

-m, --map::'MAP'

Requires --game to be set, too. see --game

FILES

~/.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).

ENVIROMENT VARIABLES

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.

SCRIPT

Can either be a:

• Spring URL (spring://[username[:password]@]host[:port])

• start script (often named script.txt)

• replay file (*.sdfz)

• save game (*.ssf)

PORTABLE MODE

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.

ISOLATION MODE

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 DIRS

Data directories are searched for content, and among other things, may contain:

• config files

• logs

• games

• maps

• AIs

• cache

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

Config directories in user's home.

*nix/MacOSX:

${XDG_CONFIG_HOME-"~/.config"}/spring

~/.spring

Windows:

C:/.../My Documents/My Games/Spring/

C:/.../My Documents/Spring/

C:/.../All Users/Applications/Spring/

INSTALL_DIR Location of spring-dedicated binary.

ETC_DIRS Additional : separated DATA DIRs defined in /etc/spring/datadir.

USR_SHARE

*nix/MacOSX: /usr/.../share/spring & binary dir if is Data Dir

MacOSX: .../Spring.app/Contents/Resources/share/games/spring/base/

Windows: Install directory

ISOLATION_DIR

Mode A (--isolation): INSTALL_DIR

Mode B (--isolation-dir): supplied dir

CONFIG FILES

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".)

HOMEPAGE

More information about Spring can be found at link: m[blue]https://springrts.comm[]

AUTHOR

Spring was written by the Spring developers.

This manual page was written by Marco Amadori <m[blue][email protected]m[][1]>, for the Debian project (and may be used by others).