From 10fa4ea55c97f9bc0f707b5319689abe1b9983d4 Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Sat, 29 Apr 2023 09:36:17 +1000 Subject: [PATCH] Longvinter: settings updates (#246) --- longvinter.kvp | 11 +++++---- longvinterconfig.json | 56 +++++++++++++++++++++++++++++++++++++++++- longvintergame.ini | 4 ++- longvinterupdates.json | 45 +++++++++++++++++++++++++++++++++ 4 files changed, 109 insertions(+), 7 deletions(-) create mode 100644 longvinterupdates.json diff --git a/longvinter.kvp b/longvinter.kvp index ef57917..6bc1cca 100644 --- a/longvinter.kvp +++ b/longvinter.kvp @@ -14,6 +14,7 @@ Meta.SpecificDockerImage= Meta.DockerRequired=False Meta.ContainerPolicy=RecommendedOnLinux Meta.ContainerPolicyReason=The dependency git-lfs is required for the server to be successfully downloaded on Linux. Using a container avoids the need to install this dependency on the host. +Meta.ExtraSetupStepsURI=https://discourse.cubecoders.com/docs?topic=2200?utm_source=ampcreate&utm_content=longvinter Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=Longvinter @@ -22,13 +23,13 @@ App.BaseDirectory=./longvinter/1639880/ App.ExecutableWin=1639880\Longvinter\Binaries\Win64\LongvinterServer-Win64-Shipping.exe App.ExecutableLinux=1639880/Longvinter/Binaries/Linux/LongvinterServer-Linux-Shipping App.WorkingDir=1639880 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs=-FullStdOutLogOutput -App.CommandLineArgs=Longvinter -Port={{$GamePort}} -QueryPort={{$QueryPort}} {{$FormattedArgs}} -stdout {{$PlatformArgs}} +App.LinuxCommandLineArgs=Longvinter -stdout +App.WindowsCommandLineArgs=Longvinter -stdout -FullStdOutLogOutput +App.CommandLineArgs={{$PlatformArgs}} -Port={{$GamePort}} -QueryPort={{$QueryPort}} -MultiHome={{$ApplicationIPBinding}} {{$FormattedArgs}} App.UseLinuxIOREDIR=False App.AppSettings={} App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1635450"} -App.CommandLineParameterFormat=-{0} "{1}" +App.CommandLineParameterFormat=-{0}={1} App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE App.ExitTimeout=30 @@ -54,7 +55,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"Windows","UpdateSource":"SteamCMD","UpdateSourceData":"1639880","UpdateSourceArgs":"1635450"},{"UpdateStageName":"Clone GitHub Repo","UpdateSourcePlatform":"Linux","UpdateSource":"GitRepo","UpdateSourceData":"https://github.com/Uuvana-Studios/longvinter-linux-server.git","UpdateSourceTarget":"{{$FullBaseDir}}"},{"UpdateStageName":"Set Binary Executable Flag","UpdateSourcePlatform":"Linux","UpdateSource":"SetExecutableFlag","UpdateSourceArgs":"{{$FullBaseDir}}Longvinter/Binaries/Linux/LongvinterServer-Linux-Shipping"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"Linux","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"{{$FullBaseDir}}"},{"UpdateStageName":"Server Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/longvintergame.ini","UpdateSourceTarget":"{{$FullInstanceDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Game Config Copy","UpdateSourcePlatform":"Windows","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}Longvinter/Saved/Config/WindowsServer/Game.ini","UpdateSourceArgs":"{{$FullInstanceDir}}longvintergame.ini","OverwriteExistingFiles":false},{"UpdateStageName":"Game Config Copy","UpdateSourcePlatform":"Linux","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}Longvinter/Saved/Config/LinuxServer/Game.ini","UpdateSourceArgs":"{{$FullInstanceDir}}longvintergame.ini","OverwriteExistingFiles":false}] +App.UpdateSources=@IncludeJson[longvinterupdates.json] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/longvinterconfig.json b/longvinterconfig.json index ed8410f..b65de57 100644 --- a/longvinterconfig.json +++ b/longvinterconfig.json @@ -20,9 +20,23 @@ "FieldName":"serverTag", "InputType":"text", "IsFlagArgument":false, + "ParamFieldName":"/game/blueprints/server/gi_advancedsessions.gi_advancedsessions_c.Tag", + "IncludeInCommandLine":false, + "DefaultValue":"none", + "EnumValues":{} + }, + { + "DisplayName":"Server Tag", + "Category":"Server Settings", + "Description":"Setting for legacy configs", + "Keywords":"", + "FieldName":"serverTag", + "InputType":"text", + "Hidden":true, + "IsFlagArgument":false, "ParamFieldName":"/game/blueprints/server/gi_advancedsessions.gi_advancedsessions_c.serverTag", "IncludeInCommandLine":false, - "DefaultValue":"Default", + "DefaultValue":"none", "EnumValues":{} }, { @@ -108,6 +122,34 @@ "True":"true" } }, + { + "DisplayName":"Enable Co-op", + "Category":"Server Settings", + "Description":"If enabled, players will spawn at the same location (as set under Co-op Spawn Location)", + "Keywords":"co-op,coop,coopplay,spawn", + "FieldName":"CoopPlay", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"/game/blueprints/server/gi_advancedsessions.gi_advancedsessions_c.CoopPlay", + "IncludeInCommandLine":false, + "DefaultValue":"false", + "EnumValues":{ + "False":"false", + "True":"true" + } + }, + { + "DisplayName":"Co-op Spawn Location", + "Category":"Server Settings", + "Description":"Sets the spawn point location for players if Co-op is enabled", + "Keywords":"co-op,coop,coopspawn,spawn,location", + "FieldName":"CoopSpawn", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"/game/blueprints/server/gi_advancedsessions.gi_advancedsessions_c.CoopSpawn", + "IncludeInCommandLine":false, + "DefaultValue":"0" + }, { "DisplayName":"Enable Tent Decay", "Category":"Server Settings", @@ -136,5 +178,17 @@ "IncludeInCommandLine":false, "DefaultValue":"2", "Suffix":"tents" + }, + { + "DisplayName":"Server IP Binding", + "Category":"Server Settings", + "Description":"If required, you can change the binding of the server by editing App.ApplicationIPBinding in GenericModule.kvp for the instance. Stop the instance (not just the server) first", + "Keywords":"ip,binding,localip,address,multihome", + "FieldName":"MultiHome", + "InputType":"hidden", + "IsFlagArgument":false, + "ParamFieldName":"MultiHome", + "IncludeInCommandLine":false, + "EnumValues":{} } ] \ No newline at end of file diff --git a/longvintergame.ini b/longvintergame.ini index 82a71d3..6a96cc6 100644 --- a/longvintergame.ini +++ b/longvintergame.ini @@ -1,10 +1,12 @@ [/game/blueprints/server/gi_advancedsessions.gi_advancedsessions_c] ServerName=AMP Powered Longvinter Server -serverTag=Default MaxPlayers=32 ServerMOTD=Welcome to Longvinter Island! Password= CommunityWebsite= +CoopPlay=false +CoopSpawn=0 +Tag=none [/game/blueprints/server/gm_longvinter.gm_longvinter_c] AdminSteamID= diff --git a/longvinterupdates.json b/longvinterupdates.json new file mode 100644 index 0000000..85394f9 --- /dev/null +++ b/longvinterupdates.json @@ -0,0 +1,45 @@ +[ + { + "UpdateStageName":"SteamCMD Download", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"1639880", + "UpdateSourceArgs":"1635450" + }, + { + "UpdateStageName":"Clone GitHub Repo", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"GitRepo", + "UpdateSourceData":"https://github.com/Uuvana-Studios/longvinter-linux-server.git", + "UpdateSourceTarget":"{{$FullBaseDir}}" + }, + { + "UpdateStageName":"Set Binary Executable Flag", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"SetExecutableFlag", + "UpdateSourceArgs":"{{$FullBaseDir}}Longvinter/Binaries/Linux/LongvinterServer-Linux-Shipping" + }, + { + "UpdateStageName":"SteamCMD Component Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"1007", + "UpdateSourceTarget":"{{$FullBaseDir}}" + }, + { + "UpdateStageName":"Server Config File Copy", + "UpdateSourcePlatform":"Windows", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}Longvinter/Saved/Config/WindowsServer/Game.ini", + "UpdateSourceArgs":"{{$FullBaseDir}}Longvinter/Saved/Config/WindowsServer/Game.ini.default", + "OverwriteExistingFiles":true + }, + { + "UpdateStageName":"Server Config File Copy", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"{{$FullBaseDir}}Longvinter/Saved/Config/LinuxServer/Game.ini", + "UpdateSourceArgs":"{{$FullBaseDir}}Longvinter/Saved/Config/LinuxServer/Game.ini.default", + "OverwriteExistingFiles":true + } +] \ No newline at end of file