From 473379127753de29ca2fab96dd28a608a6b52caa Mon Sep 17 00:00:00 2001 From: IceOfWraith <96364530+IceOfWraith@users.noreply.github.com> Date: Thu, 22 Sep 2022 17:58:02 -0500 Subject: [PATCH] Initial Starbound Generic Config (#134) * Initial Starbound Generic Config This is Windows only at the moment due to the working directory only able to point at one location. Windows is under win64 and Linux is under linux directories. * Finalize Settings * Finalize Settings * Update starbound.kvp * Update starbound.kvp --- starbound.kvp | 83 ++++++++++++++++++++++ starbound_server.config | 50 ++++++++++++++ starboundconfig.json | 144 +++++++++++++++++++++++++++++++++++++++ starboundmetaconfig.json | 7 ++ 4 files changed, 284 insertions(+) create mode 100644 starbound.kvp create mode 100644 starbound_server.config create mode 100644 starboundconfig.json create mode 100644 starboundmetaconfig.json diff --git a/starbound.kvp b/starbound.kvp new file mode 100644 index 0000000..3371b6f --- /dev/null +++ b/starbound.kvp @@ -0,0 +1,83 @@ +Meta.DisplayName=Starbound +Meta.Description=Starbound Dedicated Server +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=IceOfWraith +Meta.URL=https://store.steampowered.com/app/211820/Starbound/ +Meta.DisplayImageSource=steam:211820 +Meta.EndpointURIFormat= +Meta.ConfigManifest=starboundconfig.json +Meta.MetaConfigManifest=starboundmetaconfig.json +Meta.ConfigRoot=starbound.kvp +Meta.MinAMPVersion=2.3.3.0 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=Supported +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +App.DisplayName=Starbound +App.RootDir=./starbound/ +App.BaseDirectory=./starbound/211820/ +App.ExecutableWin=211820\win64\starbound_server.exe +App.ExecutableLinux=211820/win64/starbound_server +App.WorkingDir=211820/win64 +App.LinuxCommandLineArgs= +App.WindowsCommandLineArgs= +App.CommandLineArgs= +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"LD_LIBRARY_PATH": "./linux64:%LD_LIBRARY_PATH%", "SteamAppId": "533830"} +App.CommandLineParameterFormat=-{0} {1} +App.CommandLineParameterDelimiter= +App.ExitMethod=OS_CLOSE +App.ExitTimeout=30 +App.ExitString= +App.ExitFile=lock +App.HasWriteableConsole=True +App.HasReadableConsole=True +App.SupportsLiveSettingsChanges=False +App.LiveSettingChangeCommandFormat=set {0} "{1}" +App.ApplicationIPBinding=0.0.0.0 +App.Ports=[{"Protocol":"Both","Port":21025,"Offset":0,"Range":1,"Ref":"gameServerPort","Name":"Game and Query Port","Description":"Port for game and query traffic","ChildPorts":null},{"Protocol":"Both","Port":21026,"Offset":0,"Range":1,"Ref":"rconServerPort","Name":"RCON ServerPort","Description":"Port for RCON traffic","ChildPorts":null}] +App.AdminPortRef=rconServerPort +App.PrimaryApplicationPortRef=gameServerPort +App.UniversalSleepApplicationUDPPortRef=gameServerPort +App.UniversalSleepSteamQueryPortRef=gameServerPort +App.MaxUsers=8 +App.UseRandomAdminPassword=True +App.RemoteAdminPassword=Password123 +App.AdminMethod=SourceRCON +App.AdminLoginTransform=None +App.RCONConnectDelaySeconds=5 +App.RCONConnectRetrySeconds=5 +App.TelnetLoginFormat={0} +App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "211820"},{"UpdateStageName":"Create Logs Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./starbound/211820/storage","OverwriteExistingFiles":false},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/starbound_server.config","UpdateSourceTarget":"{{$FullBaseDir}}storage/","OverwriteExistingFiles":false},{"UpdateStageName":"Create Symlink","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/ln","UpdateSourceArgs":"-s '{{$FullBaseDir}}linux' '{{$FullBaseDir}}win64'"}] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=False +App.SteamForceLoginPrompt=True +App.RapidStartup=False +App.MonitorChildProcess=False +App.MonitorChildProcessWaitMs=100 +App.MonitorChildProcessName= +App.SupportsUniversalSleep=True +App.WakeupMode=Any +App.ApplicationReadyMode=RegexMatch +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ +Console.AppReadyRegex=^\[Info\] UniverseServer\: listening for incoming TCP connections on \d+\.\d+\.\d+\.\d+:\d+$ +Console.UserJoinRegex=^\[Info\] UniverseServer\: Logged in account.*as player '(?.+?)' from address.*$ +Console.UserLeaveRegex=^\[Info\] UniverseServer\: Client '(?.+?)'.*disconnected for reason.*$ +Console.UserChatRegex=^\[Info\] Chat: \<(?.+?)\> (?.+?)$ +Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ +Console.MetricsRegex= +Console.SuppressLogAtStart=False +Console.ActivateLogRegex= +Console.UserActions={} +Limits.SleepMode=True +Limits.SleepOnStart=False +Limits.SleepDelayMinutes=5 +Limits.DozeDelay=2 +Limits.AutoRetryCount=5 +Limits.SleepStartThresholdSeconds=25 diff --git a/starbound_server.config b/starbound_server.config new file mode 100644 index 0000000..1074678 --- /dev/null +++ b/starbound_server.config @@ -0,0 +1,50 @@ +{ + "allowAdminCommands" : true, + "allowAdminCommandsFromAnyone" : false, + "allowAnonymousConnections" : true, + "allowAssetsMismatch" : true, + "anonymousConnectionsAreAdmin" : false, + "bannedIPs" : [], + "bannedUuids" : [], + "checkAssetsDigest" : false, + "clearPlayerFiles" : false, + "clearUniverseFiles" : false, + "clientIPJoinable" : false, + "clientP2PJoinable" : true, + "configurationVersion" : { + "basic" : 2, + "server" : 4 + }, + "crafting" : { + "filterHaveMaterials" : false + }, + "gameServerBind" : "*", + "gameServerPort" : 21025, + "interactiveHighlight" : true, + "inventory" : { + "pickupToActionBar" : true + }, + "maxPlayers" : 8, + "maxTeamSize" : 4, + "monochromeLighting" : false, + "playerBackupFileCount" : 3, + "queryServerBind" : "*", + "queryServerPort" : 21025, + "rconServerBind" : "*", + "rconServerPassword" : "da5f3159ca5f404fb1fff9ce522a17c3", + "rconServerPort" : 21026, + "rconServerTimeout" : 0, + "runQueryServer" : false, + "runRconServer" : true, + "safeScripts" : true, + "scriptInstructionLimit" : 10000000, + "scriptInstructionMeasureInterval" : 10000, + "scriptProfilingEnabled" : false, + "scriptRecursionLimit" : 100, + "serverFidelity" : "automatic", + "serverName" : "AMP Starbound Server", + "serverOverrideAssetsDigest" : null, + "serverUsers" : { + }, + "tutorialMessages" : true +} \ No newline at end of file diff --git a/starboundconfig.json b/starboundconfig.json new file mode 100644 index 0000000..38cea7f --- /dev/null +++ b/starboundconfig.json @@ -0,0 +1,144 @@ +[ + { + "DisplayName": "Server Name", + "Category": "Starbound - Settings", + "Description": "The name of the server.", + "Keywords": "Server, name", + "FieldName": "Name", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "serverName", + "IncludeInCommandLine": false, + "DefaultValue": "AMP Starbound Server", + "EnumValues": {} + }, + { + "DisplayName": "Max Players", + "Category": "Starbound - Settings", + "Description": "Max number of players connected at one time.", + "Keywords": "max,players,users", + "FieldName": "$MaxUsers", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "maxPlayers", + "IncludeInCommandLine": false, + "DefaultValue": "", + "Placeholder": "8" + }, + { + "DisplayName": "Server Port", + "Category": "Hidden Settings", + "Description": "UDP port for game traffic.", + "Keywords": "", + "FieldName": "$gameServerPort", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "gameServerPort", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "Query Port", + "Category": "Hidden Settings", + "Description": "UDP port for Steam server list features.", + "Keywords": "", + "FieldName": "$gameServerPort", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "queryServerPort", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "RCON Port", + "Category": "Hidden Settings", + "Description": "UDP port for RCON connection.", + "Keywords": "", + "FieldName": "$rconServerPort", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "rconServerPort", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "RCON Password", + "Category": "Hidden Settings", + "Description": "RCON Password.", + "Keywords": "", + "FieldName": "$RemoteAdminPassword", + "InputType": "password", + "IsFlagArgument": false, + "ParamFieldName": "rconServerPassword", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "RCON Enabled", + "Category": "Hidden Settings", + "Description": "Allows RCON connectivity.", + "Keywords": "", + "FieldName": "runRconServer", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "runRconServer", + "IncludeInCommandLine": false, + "DefaultValue": "true", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "RCON Timeout", + "Category": "Hidden Settings", + "Description": "RCON Timeout.", + "Keywords": "", + "FieldName": "rconServerTimeout", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "rconServerTimeout", + "IncludeInCommandLine": false, + "DefaultValue": "0", + "EnumValues": {}, + "Hidden": true + }, + { + "DisplayName": "Admin Commands", + "Category": "Starbound - Settings", + "Description": "Allows the usage of administrator commands on the server.", + "Keywords": "admin,commands", + "FieldName": "allowAdminCommands", + "InputType": "checkbox", + "DefaultValue": "true", + "IsFlagArgument": false, + "ParamFieldName": "allowAdminCommands", + "IncludeInCommandLine": false, + "EnumValues": { + "True": "true", + "False": "false" + } + }, + { + "DisplayName": "Admin Commands for Anyone", + "Category": "Starbound - Settings", + "Description": "Allows anyone logged into the server to have access to the administrator console.", + "Keywords": "admin,commands,for,anyone", + "FieldName": "allowAdminCommandsFromAnyone", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "allowAdminCommandsFromAnyone", + "DefaultValue": "false", + "IncludeInCommandLine": false, + "EnumValues": { + "True": "true", + "False": "false" + } + } +] \ No newline at end of file diff --git a/starboundmetaconfig.json b/starboundmetaconfig.json new file mode 100644 index 0000000..b1fff46 --- /dev/null +++ b/starboundmetaconfig.json @@ -0,0 +1,7 @@ +[ + { + "ConfigFile": "storage/starbound_server.config", + "AutoMap": true, + "ConfigType": "json" + } +] \ No newline at end of file