1SPRING-HEADLESS(6) Games SPRING-HEADLESS(6)
2
3
4
6 spring-headless - An open source RTS game engine - Headless Engine
7
9 spring-headless [--safemode] [-s|--server IP_OR_HOSTNAME]
10 [-p|--projectiledump] [--benchmark TIME [--benchmarkstart TIME]]
11 [-i|--isolation] [--isolation-dir PATH] [-n|--name STRING] [-C|--config
12 FILE] SCRIPT
13
14 spring-headless --list-ai-interfaces
15
16 spring-headless --list-skirmish-ais
17
18 spring-headless --list-def-tags
19
20 spring-headless --list-config-vars
21
22 spring-headless [-h|--help]
23
24 spring-headless --sync-version
25
26 spring-headless [-V|--version]
27
29 Spring is a versatile 3D RTS game engine. Using extensively Lua for
30 scripting game-specific code to make nearly every aspect of the engine
31 customizable, from GUI, to unit AI, to pathfinding.
32
33 It is mainly designed around online multiplayer games but can also be
34 played in single-player mode against AIs.
35
36 This is the engine version without graphics or sound output. It still
37 runs the full simulation, while spring-dedicated basically only
38 redirects network traffic. It is useful for testing and simulating AI
39 only games at high speeds on systems without graphics and sound output
40 support.
41
43 -h, --help
44 Print the options help message and exit
45
46 -V, --version
47 Display program version and exit
48
49 --sync-version
50 Display program sync version (for online gaming) and exit
51
52 --nocolor
53 Disables colorized stdout
54
55 --quiet
56 Ignore unreccognized arguments
57
58 --safemode
59 Turns off many things that are known to cause problems (i.e. on
60 PC/Mac’s with lower-end graphic cards)
61
62 -s, --server::'IP_OR_HOSTNAME'
63 Run as a server on the given address
64
65 -i, --isolation
66 Limit the data-dir (games & maps) scanner to one directory (see
67 --isolation-dir and the SPRING_ISOLATED env var)
68
69 --isolation-dir::'PATH'
70 Specify the isolation-mode data-dir (see --isolation and the
71 SPRING_ISOLATED env var)
72
73 --write-dir::'PATH'
74 Specify the directory used for all saving.
75
76 -n, --name::'NAME'
77 Set your player name
78
79 -C, --config::'FILE'
80 Exclusive configuration file
81
82 --list-ai-interfaces
83 Dump a list of available AI Interfaces to STDOUT
84
85 --list-skirmish-ais
86 Dump a list of available Skirmish AIs to STDOUT
87
88 --list-def-tags
89 Dump a list of available Definition Tags in JSON-format to STDOUT
90
91 --list-ceg-classes
92 Dump a list of available Projectile classes in JSON-format to
93 STDOUT
94
95 --list-config-vars
96 Dump all default config vars in JSON-format to STDOUT
97
98 -g, --game::'GAME'
99 instantly start the GAME with a minimal setup. Requires --map to be
100 present, too. Sets the modoption minimalsetup = 1
101
102 -m, --map::'MAP'
103 Requires --game to be set, too. see --game
104
106 ~/.config/spring/
107
108 The default data-directory (see section DATA DIR).
109
110 ~/.config/spring/springsettings.cfg
111
112 Contains the users settings for the engine, for things like graphic and
113 sound.
114
115 /etc/spring/datadir
116
117 Contains the : separated paths to additional data-dirs (see section
118 DATA DIR).
119
121 SPRING_LOG_SECTIONS Selective functionality to change the verbosity
122 (separated by ,).
123
124 SPRING_WRITEDIR Define custom primary write DATA DIR. Place where
125 spring saves logs, settings, ...
126
127 SPRING_DATADIR Adds additional DATA DIRs Spring will search for files
128 (separated by :).
129
130 SPRING_ISOLATED If defined, Spring will stop searching files outside of
131 the binaries directory. If it is set to a valid directory path, it will
132 be used as the isolation directory. See the --isolation and the
133 --isolation-dir options.
134
135 SPRING_NOCOLOR Same as spring --nocolor.
136
138 Can either be a:
139
140 · Spring URL (spring://[username[:password]@]host[:port])
141
142 · start script (often named script.txt)
143
144 · replay file (*.sdf)
145
146 · save game (*.ssf)
147
149 An all-in-one-folder setup, which allows to run Spring without
150 installation. To do so all relevant files (binaries & basecontent) must
151 be in a single folder, esp. spring(.exe), libunitsync.so/unitsync.dll
152 and springsettings.cfg. Spring will then use the all-in-one-folder for
153 writing and won’t do so anywhere else on the system, but it may open
154 other files & directories for reading.
155
157 Not to confuse with Portable Mode, this mode disables all automatic
158 Data Dir scanning and limit reading & writing to a single folder. This
159 is very useful when games want to run separate from other Spring games.
160 Isolation mode can be enabled by placing an empty isolated.txt next to
161 the spring executable or by setting SPRING_ISOLATED env var.
162
164 Data directories are searched for content, and among other things, may
165 contain:
166
167 · config files
168
169 · logs
170
171 · games
172
173 · maps
174
175 · AIs
176
177 · cache
178
179 Sorted by priority the engine may use multiple data directories, but it
180 will use only the one with the highest priority as writable, to write
181 cache & log files to. The hierarchy the engine loads DATA DIRs in can
182 be grouped in 3 sections:
183
184 ┌─────────┬─────────────┬─────────────────┬─────────────────┬─────────────────┐
185 │priority │ section │ normal │ portable │ isolation │
186 ├─────────┼─────────────┼─────────────────┼─────────────────┼─────────────────┤
187 │ │ │ │ │ │
188 │ high │ custom user │ directory │ directory │ directory │
189 │ │ write │ defined via │ defined via │ defined via │
190 │ │ │ --write-dir │ --write-dir │ --write-dir │
191 │ │ │ │ │ │
192 │ │ │ SPRING_WRITEDIR │ SPRING_WRITEDIR │ SPRING_WRITEDIR │
193 │ │ │ envvar │ envvar │ envvar │
194 ├─────────┼─────────────┼─────────────────┼─────────────────┼─────────────────┤
195 │ │ │ │ │ │
196 │ │ automatic │ CONFIG_HOME │ INSTALL_DIR │ ISOLATION_DIR │
197 │ │ scanned │ │ │ │
198 │ │ │ ETC_DIRS │ CONFIG_HOME │ │
199 │ │ │ │ │ │
200 │ │ │ USR_SHARE │ ETC_DIRS │ │
201 │ │ │ │ │ │
202 │ │ │ │ USR_SHARE │ │
203 ├─────────┼─────────────┼─────────────────┼─────────────────┼─────────────────┤
204 │ │ │ │ │ │
205 │ low │ custom user │ SPRING_DATADIR │ SPRING_DATADIR │ SPRING_DATADIR │
206 │ │ read │ envvar │ envvar │ envvar │
207 │ │ │ │ │ │
208 │ │ │ SpringData │ SpringData │ SpringData │
209 │ │ │ configtag │ configtag │ configtag │
210 └─────────┴─────────────┴─────────────────┴─────────────────┴─────────────────┘
211
212 CONFIG_HOME
213 Config directories in user’s home.
214
215 *nix/MacOSX:
216 ${XDG_CONFIG_HOME-"~/.config"}/spring
217
218 ~/.spring
219
220 Windows:
221 C:/.../My Documents/My Games/Spring/
222
223 C:/.../My Documents/Spring/
224
225 C:/.../All Users/Applications/Spring/
226
227 INSTALL_DIR Location of spring-headless binary.
228
229 ETC_DIRS Additional : separated DATA DIRs defined in
230 /etc/spring/datadir.
231
232 USR_SHARE
233 *nix/MacOSX: /usr/.../share/spring & binary dir if is Data Dir
234
235 MacOSX: .../Spring.app/Contents/Resources/share/games/spring/base/
236
237 Windows: Install directory
238
239 ISOLATION_DIR
240 Mode A (--isolation): INSTALL_DIR
241
242 Mode B (--isolation-dir): supplied dir
243
245 Spring can load configurations from multiple files and merge them. So
246 similar to DATA DIRs there is one file where the engine writes to and
247 multiple read-only files.
248
249 It scans following directories for config files :
250
251 ┌──────────┬────────────────────────────────────────────────┐
252 │priority │ scanned directories │
253 ├──────────┼────────────────────────────────────────────────┤
254 │ │ │
255 │exclusive │ file defined via --config │
256 │ │ (when defined only this is │
257 │ │ loaded) │
258 ├──────────┼────────────────────────────────────────────────┤
259 │ │ │
260 │ high │ write DATA DIR │
261 ├──────────┼────────────────────────────────────────────────┤
262 │ │ │
263 │ │ (skipped in Isolated mode) │
264 │ │ │
265 │ │ *nix/MacOSX: ~/.springrc │
266 │ │ │
267 │ │ Windows: │
268 │ │ C:\Users\USER\AppData\Local\springsettings.cfg │
269 ├──────────┼────────────────────────────────────────────────┤
270 │ │ │
271 │ low │ all read DATA DIRs │
272 └──────────┴────────────────────────────────────────────────┘
273
274 (The one with highest priority will be used for writing.)
275
276 The filename of such config files can be as following:
277
278 ┌─────────┬─────────────────────────────────────┐
279 │priority │ filenames │
280 ├─────────┼─────────────────────────────────────┤
281 │ │ │
282 │ high │ springsettings-%Engine_Version%.cfg │
283 ├─────────┼─────────────────────────────────────┤
284 │ │ │
285 │ │ springsettings.cfg │
286 ├─────────┼─────────────────────────────────────┤
287 │ │ │
288 │ │ springrc-%Engine_Version% │
289 │ │ (*nix/MacOSX only) │
290 ├─────────┼─────────────────────────────────────┤
291 │ │ │
292 │ low │ springrc (*nix/MacOSX only) │
293 └─────────┴─────────────────────────────────────┘
294
295 (An example for a versioned config file is "springsettings-94.1.cfg".)
296
298 spring(6) spring-legacy(6) spring-dedicated(6)
299
301 More information about Spring can be found at link:
302 http://springrts.com
303
305 Spring was written by the Spring developers.
306
307 This manual page was written by Marco Amadori
308 <marco.amadori@gmail.com[1]>, for the Debian project (and may be used
309 by others).
310
312 1. marco.amadori@gmail.com
313 mailto:marco.amadori@gmail.com
314
315
316
317Spring package 01/18/2018 SPRING-HEADLESS(6)