Create Stationeers Config (draft)

This is the initial Stationeers generic config. The server functions well overall. The GUI settings appear to work as intended. I do not own this game and as such cannot test fully. I need someone to login and obtain the join/leave/chat console output so I can complete this one. Otherwise, I believe it should be finished.

Known issues:
The shutdown command does not work in Windows, only Linux using OS_Close.
Sleep mode fails to wake up: Related issue - https://github.com/CubeCoders/AMP/issues/587
This commit is contained in:
James Manker 2022-02-16 20:59:19 -06:00
parent 8e7a7bc278
commit 332e2afc92
3 changed files with 242 additions and 0 deletions

76
stationeers.kvp Normal file
View File

@ -0,0 +1,76 @@
Meta.DisplayName=Stationeers
Meta.Description=Stationeers Dedicated Server
Meta.OS=Windows, Linux
Meta.Arch=x86_64
Meta.Author=CubeCoders
Meta.URL=https://store.steampowered.com/app/544550/Stationeers/
Meta.DisplayImageSource=steam:544550
Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort2}
Meta.ConfigManifest=stationeersconfig.json
Meta.MetaConfigManifest=stationeersmetaconfig.json
Meta.ConfigRoot=stationeers.kvp
Meta.MinAMPVersion=
Meta.SpecificDockerImage=
Meta.ContainerPolicy=Supported
Meta.Prerequsites=[]
Meta.ConfigReleaseState=NotSpecified
App.DisplayName=Stationeers
App.RootDir=./stationeers/
App.BaseDirectory=./stationeers/600760/
App.ExecutableWin=600760\rocketstation_DedicatedServer.exe
App.ExecutableLinux=600760/rocketstation_DedicatedServer.x86_64
App.WorkingDir=600760
App.LinuxCommandLineArgs=
App.WindowsCommandLineArgs=
App.CommandLineArgs=-batchmode -nographics -autostart -bindip={{$ApplicationIPBinding}} -gameport={{$ApplicationPort1}} -updateport={{$ApplicationPort2}} -basedirectory="{{$FullBaseDir}}" -modpath="{{$FullBaseDir}}{{modpath}}/" {{$FormattedArgs}}
App.AppSettings={}
App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:{{$FullRootDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"544550"}
App.CommandLineParameterFormat=-{0}="{1}"
App.CommandLineParameterDelimiter=
App.ExitMethod=OS_CLOSE
App.ExitTimeout=30
App.ExitString=shutdown
App.ExitFile=app_exit.lck
App.HasWriteableConsole=False
App.HasReadableConsole=True
App.SupportsLiveSettingsChanges=False
App.LiveSettingChangeCommandFormat=set {0} "{1}"
App.ApplicationIPBinding=0.0.0.0
App.ApplicationPort1=28015
App.ApplicationPort2=27028
App.ApplicationPort3=0
App.RemoteAdminPort=0
App.MaxUsers=20
App.UseRandomAdminPassword=True
App.RemoteAdminPassword=Password123
App.AdminMethod=STDIO
App.AdminLoginTransform=None
App.RCONConnectDelaySeconds=5
App.RCONConnectRetrySeconds=5
App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"600760"},{"UpdateStageName":"Start Server","UpdateSourcePlatform":"All","UpdateSource":"StartApplication"},{"UpdateStageName":"Wait For Server Start","UpdateSourcePlatform":"All","UpdateSource":"WaitForStartupComplete"},{"UpdateStageName":"Stop Server","UpdateSourcePlatform":"All","UpdateSource":"ShutdownApplication"}]
App.Compatibility=None
App.SteamUpdateAnonymousLogin=True
App.SteamForceLoginPrompt=False
App.RapidStartup=False
App.SupportsUniversalSleep=True
App.UniversalSleepApplicationUDPPort=1
App.UniversalSleepSteamQueryPort=2
App.WakeupMode=Any
App.ApplicationReadyMode=RegexMatch
App.TemplateMatchRegex={{(\$?[\w]+)}}
Console.FilterMatchRegex=
Console.FilterMatchReplacement=
Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$
Console.AppReadyRegex=^\<color\=green\>StationeerServer connected to Steam successfully\<\/color\>$
Console.UserJoinRegex=^User (?<username>.+?) \((?<userid>-?d+)\) connected from \[::ffff:(?<endpoint>.+?)\]$
Console.UserLeaveRegex=^User (?<username>.+?) \((?<userid>-?d+)\) disconnected\. Reason: (.+?)$
Console.UserChatRegex=^(?<username>.+?): (?<message>.+)$
Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$
Console.SuppressLogAtStart=False
Console.ActivateLogRegex=
Console.UserActions={}
Limits.SleepMode=True
Limits.SleepOnStart=False
Limits.SleepDelayMinutes=5
Limits.DozeDelay=2
Limits.AutoRetryCount=5

159
stationeersconfig.json Normal file
View File

@ -0,0 +1,159 @@
[
{
"DisplayName": "Server Name",
"Category": "Server Settings",
"Description": "Display name of the server.",
"Keywords": "server,name",
"FieldName": "SERVERNAME",
"InputType": "text",
"IsFlagArgument": false,
"ParamFieldName": "SERVER.SERVERNAME",
"IncludeInCommandLine": false,
"DefaultValue": "AMP Powered Stationeers Server",
"EnumValues": {}
},
{
"DisplayName": "Server Password",
"Category": "Server Settings",
"Description": "Password that clients must supply to join.",
"Keywords": "password",
"FieldName": "PASSWORD",
"InputType": "password",
"IsFlagArgument": false,
"ParamFieldName": "SERVER.PASSWORD",
"IncludeInCommandLine": false,
"DefaultValue": "",
"SkipIfEmpty": true,
"EnumValues": {}
},
{
"DisplayName": "RCON Password",
"Category": "Server Settings",
"Description": "Password to access RCON using http://YOURIP:GAMEPORT. You should change after install.",
"Keywords": "RCON,password",
"FieldName": "RCONPASSWORD",
"InputType": "RandomPassword",
"IsFlagArgument": false,
"ParamFieldName": "RCON.RCONPASSWORD",
"IncludeInCommandLine": false,
"DefaultValue": "",
"EnumValues": {}
},
{
"DisplayName": "Admin Password",
"Category": "Server Settings",
"Description": "Password to become the in-game admin. You should change after install.",
"Keywords": "admin,password",
"FieldName": "ADMINPASSWORD",
"InputType": "RandomPassword",
"IsFlagArgument": false,
"ParamFieldName": "SERVER.ADMINPASSWORD",
"IncludeInCommandLine": false,
"DefaultValue": "Password123",
"EnumValues": {}
},
{
"DisplayName": "Max Players",
"Category": "Server Settings",
"Description": "The maximum number of players allowed on the server.",
"Keywords": "max,players",
"FieldName": "$MaxUsers",
"InputType": "number",
"IsFlagArgument": false,
"ParamFieldName": "SERVER.MAXPLAYER",
"IncludeInCommandLine": false,
"DefaultValue": "20",
"EnumValues": {}
},
{
"DisplayName": "Creator",
"Category": "Server Settings",
"Description": "Set creator's [Steam64 ID](https://steamidfinder.com/) as gamedata and key-value. This is for future integration of server instancing.",
"Keywords": "creator",
"FieldName": "creator",
"InputType": "number",
"IsFlagArgument": false,
"ParamFieldName": "creator",
"IncludeInCommandLine": true,
"DefaultValue": "",
"SkipIfEmpty": true,
"EnumValues": {}
},
{
"DisplayName": "World Name",
"Category": "Server Settings",
"Description": "Name of the world directory to load.",
"Keywords": "world,name",
"FieldName": "worldname",
"InputType": "text",
"IsFlagArgument": false,
"ParamFieldName": "worldname",
"IncludeInCommandLine": true,
"DefaultValue": "world",
"EnumValues": {}
},
{
"DisplayName": "Map",
"Category": "Server Settings",
"Description": "Default: Moon. Will overwrite actual map on server browser if you use rocket to travel beween maps!",
"Keywords": "world,type",
"FieldName": "worldtype",
"InputType": "enum",
"IsFlagArgument": false,
"ParamFieldName": "worldtype",
"IncludeInCommandLine": true,
"DefaultValue": "",
"SkipIfEmpty": true,
"EnumValues": {
"": "Default",
"Europa2": "Europa2",
"Loulan": "Loulan",
"Mars": "Mars",
"Mimas": "Mimas",
"Moon": "Moon",
"Space": "Space",
"Vulcan2": "Vulcan2"
}
},
{
"DisplayName": "Auto Save Interval",
"Category": "Server Settings",
"Description": "How frequently the server will save the world.",
"Keywords": "",
"FieldName": "autosaveinterval",
"InputType": "number",
"IsFlagArgument": false,
"ParamFieldName": "autosaveinterval",
"IncludeInCommandLine": true,
"DefaultValue": "60",
"EnumValues": {},
"Suffix": "sec"
},
{
"DisplayName": "Clear All Interval",
"Category": "Server Settings",
"Description": "The interval to run \"clearall\" command. Minimum is 60 seconds. clearall will delete all disconnected characters. Set to a very high number. 0 to disable. ",
"Keywords": "clear,all,interval",
"FieldName": "clearallinterval",
"InputType": "number",
"IsFlagArgument": false,
"ParamFieldName": "clearallinterval",
"IncludeInCommandLine": true,
"DefaultValue": "60",
"EnumValues": {},
"Suffix": "sec"
},
{
"DisplayName": "Mod Path",
"Category": "Server Settings",
"Description": "Where mods are located inside the datastore.",
"Keywords": "mod,path",
"FieldName": "modpath",
"InputType": "text",
"IsFlagArgument": false,
"ParamFieldName": "modpath",
"IncludeInCommandLine": false,
"DefaultValue": "Mods",
"EnumValues": {}
}
]

View File

@ -0,0 +1,7 @@
[
{
"ConfigFile": "./default.ini",
"AutoMap": true,
"ConfigType": "ini"
}
]