SPRING-DEDICATED(6)
β¨ NAME β¨
spring-dedicated β an open source RTS game engine, but make it the Dedicated Server π (yes this is SPRING-DEDICATED(6), section 6, Games, we're here bestie)
πΈ 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 π
okay so Spring? It's a versatile 3D RTS game engine π and the way it uses Lua extensively for scripting game-specific code so that nearly every aspect of the engine is customizable β from the GUI, to unit AI, to pathfinding β it's giving full creative control and we're obsessed β¨
It's mainly designed around online multiplayer games, but lowkey it can also be played in single-player mode against AIs π
Now THIS one β spring-dedicated β is the dedicated, GUI-less server for hosting multiplayer games π no window, no vibes, just hosting. You need to feed it a start script in order to have it host a game. Start scripts 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. iykyk π
π 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 (yes, that spelling, it's iconic, we don't touch it) π-i,--isolationβ Limit the data-dir (games & maps) scanner to one directory (see--isolation-dirand theSPRING_ISOLATEDenv var) πΈ--isolation-dir::'PATH'β Specify the isolation-mode data-dir (see--isolationand theSPRING_ISOLATEDenv 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--mapto be present, too. Sets the modoptionminimalsetup = 1π₯-m,--map::'MAP'β Requires--gameto 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--isolationand the--isolation-diroptions. π§SPRING_NOCOLORβ Same asspring --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: π
π₯ high priority β custom user write
- normal β
-e directory defined via --write-dir,SPRING_WRITEDIRenvvar - portable β
-e directory defined via --write-dir,SPRING_WRITEDIRenvvar - isolation β
-e directory defined via --write-dir,SPRING_WRITEDIRenvvar
π₯ automatic scanned
- normal β
-e CONFIG_HOME,ETC_DIRS,USR_SHARE - portable β
-e INSTALL_DIR,CONFIG_HOME,ETC_DIRS,USR_SHARE - isolation β
ISOLATION_DIR
π₯ low priority β custom user read
- normal β
-e SPRING_DATADIRenvvar,SpringDataconfigtag - portable β
-e SPRING_DATADIRenvvar,SpringDataconfigtag - isolation β
-e SPRING_DATADIRenvvar,SpringDataconfigtag
πΈ 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 ποΈ
okay so Spring can load configurations from multiple files and merge them π so basically, just like the DATA DIRs situation, there's one file the engine writes to and a whole bunch of read-only files. the write file gets all the attention, the read files just sit there being supportive besties π«Ά
It scans the following directories for config files:
- exclusive β the file defined via
--config. and when that's defined? only this one gets loaded. nobody else gets invited to the party π - high β the write DATA DIR
- the middle tier (no fancy name in the original, it just vibes there):
-eβ β οΈ skipped in Isolated mode*nix/MacOSX:~/.springrc- Windows:
C:\Users\USER\AppData\Local\springsettings.cfg
- low β all read DATA DIRs
(The one with the highest priority will be used for writing.) π
The filename of such config files can be as following:
- high β
springsettings-%Engine_Version%.cfg - next one down β
springsettings.cfg - next one down β
springrc-%Engine_Version%(*nix/MacOSX only) - low β
springrc(*nix/MacOSX only)
(An example for a versioned config file is springsettings-94.1.cfg.) β¨
π SEE ALSO π
spring(6) spring-legacy(6) spring-headless(6)
like, go read those too, they're the friend group π¦
π HOMEPAGE π
More information about Spring can be found at link: https://springrts.com
(not me giving you the link and everything, i got you π)
π AUTHOR π
Spring was written by the Spring developers. iconic behavior, no cap π
This manual page was written by Marco Amadori <marco.amadori@gmail.com[1]>, for the Debian project (and may be used by others).
π NOTES π
marco.amadori@gmail.commailto:marco.amadori@gmail.com
and that's the whole page bestie β this one's from the Spring package, dated 11/23/2021, filed under SPRING-DEDICATED(6). go forth and configure your engine, you absolute main character ππ
β¨
π¦ where this page comes from
- ubuntu jammy: spring 105.0.1+dfsg-4 Β· 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