// - IP v4 addresses like 192.168.0.20 or 123.123.123.123
// - IP v6 addresses like 2001:0db8:85a3:8a2e:: or fe80::1
// - IP v4 any addresses 0.0.0.0 (allows incomming connections on all local IPv4 IPs)
// - IP v6 any addresses :: (allows incomming connections on all local IPv6 IPs)
// - NO host-names
// A minimal client example
// If spring is started as client, it needs the following information to work properly
[GAME]
{
HostIP=xxx.xxx.xxx.xxx; // which IP the server is hosting on. see "IP Support" at the start of this document.
HostPort=xxx; // (optional) default is 8452
SourcePort=0; // (optional) default is 0. set this if you want a different source port (as client), 0 means OS-select and should be preferred.
MyPlayerName=somename;
MyPasswd=secretpassword;
IsHost=0; // tell the engine this is a client
}
// A host example
// note that the same values for clients also need to be set here
[GAME]
{
MapName=; // with .smf extension
GameType=Balanced Annihilation V6.81; // either primary mod NAME, rapid tag name or archive name
GameStartDelay=4; // optional, in seconds (unsigned int), default: 4
// The number of seconds till the game starts,
// counting from the moment when all players are connected and ready.
ScriptName=Commanders;
StartPosType=x; // 0 fixed, 1 random, 2 choose in game, 3 choose before game (see StartPosX)
DemoFile=demo.sdfz; // if set this game is a multiplayer demo replay
SaveFile=save.ssf; // if set this game is a continuation of a saved game
RecordDemo=1; // set to 0 to disable demo file recording
HostIP=xxx.xxx.xxx.xxx; // (optional) which IP to host on. omit or use an empty value to host on any local IP. see "IP Support" at the start of this document.
HostPort=xxx; // (optional) default is 8452. where clients are going to connect to.
SourcePort=0; // no effect for host
AutohostIP=xxx.xxx.xxx.xxx; // communicate with spring, specify which IP the autohost is listening on. see "IP Support" at the start of this document.
AutohostPort=X; // communicate with spring, specify the port you are listening (as host)
MyPlayerName=somename; // our ingame-name (needs to match one players Name= field)
IsHost=1; // 0: no server will be started in this instance
// 1: start a server
NumPlayers=x; // not mandatory, but can be used for debugging purposes
NumTeams=y; // same here, set this to check if the script is right
NumAllyTeams=z; // see above
// A player (controlls a team, player 0 is the host only if IsHost is not set)
[PLAYER0]
{
Name=name; // pure info, eg. the account name from the lobby server
Password=secretpassword; // player can only connect if he set MyPasswd accordingly
Spectator=0;
Team=number; // the team this player controlls
IsFromDemo=0; // use only in combination with Demofile (see above)
CountryCode=; // country of the player, if known (nl/de/it etc.)
Rank=-1;
}
// more players
// A skirmish AI (controlls a team)
[AI0]
{
Name=name; // [optional] pure info, eg. the name set in the lobby
// the name actually used in game will be:
// "${Name} (owner: ${player.Name})"
ShortName=RAI; // shortName of the Skirmish AI library or name of the
// LUA AI that controlls this team.
// see spring.exe --list-skirmish-ais for possible values
Team=number; // the team this AI controlls
Host=number; // the player whichs computer this AI runs on
// eg. for [PLAYER0] above, this would be 0
Version=0.1; // [optional] version of this Skirmish AI
[OPTIONS] // [optional] contains AI specific options
{
difficultyLevel=1;
}
}
// more skirmish AIs
// players in this will share the same units (start with one commander etc.)
[TEAM0]
{
TeamLeader=x; // player number that is the "leader"
// if this is an AI controlled team, TeamLeader is the
// player number of the AI controlling team
// see AI.Host
AllyTeam=number;
RgbColor=red green blue; // red green blue in range [0-1]
Side=Arm/Core; // other sides possible with user mods i suppose
Handicap=0; // DEPRECATED, see Advantage (below). Advantage as percentage, common: [-100, 100], valid: [-100, FLOAT_MAX]
Advantage=0; // Advantage factor (meta value). Currently only affects IncomeMultiplier (below), common: [-1.0, 1.0], valid: [-1.0, FLOAT_MAX]