From 5cb7fb7d4dd6cc7658d1bf69729fd0aef9cbf9ba Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Mon, 3 Apr 2023 16:08:07 +1000 Subject: [PATCH] Various: Wine related updates (#322) --- assetto-corsa-comp.kvp | 9 +- assetto-corsa.kvp | 2 +- blackwake.kvp | 8 +- call-of-duty4mw.kvp | 2 +- call-of-dutymw3.kvp | 6 +- carrier-command2.kvp | 2 +- conan-exiles.kvp | 7 +- empyrion-galactic-survival.kvp | 7 +- empyrion-galactic-survivalmetaconfig.json | 2 +- empyrion-galactic-survivalupdates.json | 7 ++ icarus.kvp | 42 +++++---- icarusconfig.json | 32 +++++-- night-of-the-dead.kvp | 12 +-- portal-knights.kvp | 6 +- risk-of-rain-2.kvp | 10 +- space-engineers-generic.kvp | 2 +- space-engineers-genericupdates.json | 7 ++ the-forest.kvp | 7 +- theisle-legacy.kvp | 24 +++-- v-rising.kvp | 17 ++-- v-risingupdates.json | 110 +++++++++++----------- wreckfest.kvp | 9 +- 22 files changed, 193 insertions(+), 137 deletions(-) diff --git a/assetto-corsa-comp.kvp b/assetto-corsa-comp.kvp index 82e4ac5..0718706 100644 --- a/assetto-corsa-comp.kvp +++ b/assetto-corsa-comp.kvp @@ -12,7 +12,8 @@ Meta.ConfigRoot=assetto-corsa-comp.kvp Meta.MinAMPVersion=2.4.0.2 Meta.SpecificDockerImage=cubecoders/ampbase:wine Meta.DockerRequired=False -Meta.ContainerPolicy=Recommended +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=Assetto Corsa Competizione @@ -25,7 +26,7 @@ App.LinuxCommandLineArgs=-a wine "./accServer.exe" App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}} App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"805550"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"805550","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat=-{0} "{1}" App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -49,7 +50,7 @@ App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1430110","UpdateSourceArgs":"805550","ForceDownloadPlatform":"Windows"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1430110","UpdateSourceArgs":"805550","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] App.Compatibility=LinuxBufferedConsole, WindowsBufferedConsole App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False @@ -61,7 +62,7 @@ App.SupportsUniversalSleep=False App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch App.TemplateMatchRegex={{(\$?[\w]+)}} -Console.FilterMatchRegex= +Console.FilterMatchRegex=\[\?25l|\[\?25 Console.FilterMatchReplacement= Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ Console.AppReadyRegex=^Listening to TCP \d+ \| UDP \d+$ diff --git a/assetto-corsa.kvp b/assetto-corsa.kvp index f65a8dc..b8dcf1b 100644 --- a/assetto-corsa.kvp +++ b/assetto-corsa.kvp @@ -50,7 +50,7 @@ App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"302550","UpdateSourceArgs":"244210","ForceDownloadPlatform":"Windows"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"302550","UpdateSourceArgs":"244210","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win32 /usr/bin/wineboot --init --update'"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False diff --git a/blackwake.kvp b/blackwake.kvp index 05209cb..ad8b99e 100644 --- a/blackwake.kvp +++ b/blackwake.kvp @@ -12,8 +12,8 @@ Meta.ConfigRoot=blackwake.kvp Meta.MinAMPVersion=2.4.0.2 Meta.SpecificDockerImage=cubecoders/ampbase:wine Meta.DockerRequired=False -Meta.ContainerPolicy=RecommendedOnLinux -Meta.ContainerPolicyReason= +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. Meta.Prerequsites=[] Meta.ExtraContainerPackages=[] Meta.ConfigReleaseState=NotSpecified @@ -29,7 +29,7 @@ App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} -batchmode -nographics {{$FormattedArgs}} -logfile - App.UseLinuxIOREDIR=False App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"420290"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"420290","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat=-{0}={1} App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -56,7 +56,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat=login {0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"423410","UpdateSourceArgs":"420290","ForceDownloadPlatform":"Windows"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"423410","UpdateSourceArgs":"420290","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/call-of-duty4mw.kvp b/call-of-duty4mw.kvp index bc6b69f..3352bf6 100644 --- a/call-of-duty4mw.kvp +++ b/call-of-duty4mw.kvp @@ -55,7 +55,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat=login {0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"7940","UpdateSourceArgs":"7940","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/call-of-duty4mwserver.cfg","UpdateSourceArgs":"main/server.cfg","UpdateSourceTarget":"{{$FullBaseDir}}","OverwriteExistingFiles":false},{"UpdateStageName":"Create Custom Maps Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}usermaps","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"7940","UpdateSourceArgs":"7940","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/call-of-duty4mwserver.cfg","UpdateSourceArgs":"main/server.cfg","UpdateSourceTarget":"{{$FullBaseDir}}","OverwriteExistingFiles":false},{"UpdateStageName":"Create Custom Maps Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}usermaps","OverwriteExistingFiles":false},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win32 /usr/bin/wineboot --init --update'"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False diff --git a/call-of-dutymw3.kvp b/call-of-dutymw3.kvp index c47fcb0..7049ffd 100644 --- a/call-of-dutymw3.kvp +++ b/call-of-dutymw3.kvp @@ -12,7 +12,7 @@ Meta.ConfigRoot=call-of-dutymw3.kvp Meta.MinAMPVersion=2.4.0.8 Meta.SpecificDockerImage=cubecoders/ampbase:wine Meta.DockerRequired=False -Meta.ContainerPolicy=RecommendedOnLinux +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. Meta.Prerequsites=[] Meta.ExtraContainerPackages=[] @@ -29,7 +29,7 @@ App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} +set sv_config "server.cfg" +set net_queryPort {{$OpenGamePort}} +set net_port {{$SecureGamePort}} +set net_authPort {{$AuthPort}} +set net_masterServerPort {{$MasterServerPort}} +start_map_rotate {{$FormattedArgs}} App.UseLinuxIOREDIR=False App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"42690"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"42690","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win32","WINEDEBUG":"-all"} App.CommandLineParameterFormat=+set {0} "{1}" App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -55,7 +55,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat=login {0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"42750","UpdateSourceArgs":"42690","ForceDownloadPlatform":"Windows"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"42750","UpdateSourceArgs":"42690","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win32 /usr/bin/wineboot --init --update'"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False diff --git a/carrier-command2.kvp b/carrier-command2.kvp index 68010c2..4e50b96 100644 --- a/carrier-command2.kvp +++ b/carrier-command2.kvp @@ -50,7 +50,7 @@ App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1489630","UpdateSourceArgs":"1489630","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"1489630","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Server Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/carrier-command2server_config.xml","UpdateSourceTarget":"{{$FullInstanceDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Config File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}server_config.xml","UpdateSourceArgs":"{{$FullInstanceDir}}carrier-command2server_config.xml","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Server Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1489630","UpdateSourceArgs":"1489630","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"1489630","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Server Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/carrier-command2server_config.xml","UpdateSourceTarget":"{{$FullInstanceDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Config File Copy","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"{{$FullBaseDir}}server_config.xml","UpdateSourceArgs":"{{$FullInstanceDir}}carrier-command2server_config.xml","OverwriteExistingFiles":false},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win32 /usr/bin/wineboot --init --update'"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False diff --git a/conan-exiles.kvp b/conan-exiles.kvp index 48b3d0c..088b924 100644 --- a/conan-exiles.kvp +++ b/conan-exiles.kvp @@ -12,7 +12,8 @@ Meta.ConfigRoot=conan-exiles.kvp Meta.MinAMPVersion=2.4.3.0 Meta.SpecificDockerImage=cubecoders/ampbase:wine Meta.DockerRequired=False -Meta.ContainerPolicy=RecommendedOnLinux +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=Conan Exiles @@ -26,7 +27,7 @@ App.LinuxCommandLineArgs=-a wine "./ConanSandboxServer-Win64-Test.exe" App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} {{Map}}{{CustomMap}} -stdout -FullStdOutLogOutput -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort3}} -RconPort={{$RemoteAdminPort}} -RconEnabled=1 -RconPassword="{{$RemoteAdminPassword}}" -MaxPlayers={{$MaxUsers}} {{$FormattedArgs}} App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"440900"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"440900","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat=-{0}="{1}" App.CommandLineParameterDelimiter= App.ExitMethod=String @@ -52,7 +53,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=3 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD and Conan Exiles Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"443030","UpdateSourceArgs":"440900","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./conan-exiles/443030/ConanSandbox/Saved/Config/WindowsServer","OverwriteExistingFiles":false},{"UpdateStageName":"ServerSettings File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/conan-exilesconfigsettings.ini","UpdateSourceTarget":"./443030/ConanSandbox/Saved/Config/WindowsServer/","UpdateSourceArgs":"ServerSettings.ini","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD and Conan Exiles Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"443030","UpdateSourceArgs":"440900","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./conan-exiles/443030/ConanSandbox/Saved/Config/WindowsServer","OverwriteExistingFiles":false},{"UpdateStageName":"ServerSettings File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/conan-exilesconfigsettings.ini","UpdateSourceTarget":"./443030/ConanSandbox/Saved/Config/WindowsServer/","UpdateSourceArgs":"ServerSettings.ini","OverwriteExistingFiles":false},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/empyrion-galactic-survival.kvp b/empyrion-galactic-survival.kvp index 0a8667c..739a498 100644 --- a/empyrion-galactic-survival.kvp +++ b/empyrion-galactic-survival.kvp @@ -10,9 +10,10 @@ Meta.ConfigManifest=empyrion-galactic-survivalconfig.json Meta.MetaConfigManifest=empyrion-galactic-survivalmetaconfig.json Meta.ConfigRoot=empyrion-galactic-survival.kvp Meta.MinAMPVersion=2.3.3 -Meta.SpecificDockerImage=cubecoders/ampbase:wine +Meta.SpecificDockerImage=cubecoders/ampbase:wine8 Meta.DockerRequired=False -Meta.ContainerPolicy=Recommended +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine 7 (or later) and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=Empyrion Galactic Survival @@ -26,7 +27,7 @@ App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} -batchmode -nographics -dedicated empyriondedicated.yaml -logFile - App.UseLinuxIOREDIR=False App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"383120"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"383120","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat=-{0} "{1}" App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE diff --git a/empyrion-galactic-survivalmetaconfig.json b/empyrion-galactic-survivalmetaconfig.json index f79f911..b1a04fa 100644 --- a/empyrion-galactic-survivalmetaconfig.json +++ b/empyrion-galactic-survivalmetaconfig.json @@ -1,6 +1,6 @@ [ { - "ConfigFile": "EmpyrionDedicated.yaml", + "ConfigFile": "empyriondedicated.yaml", "AutoMap": true, "ConfigType": "json" } diff --git a/empyrion-galactic-survivalupdates.json b/empyrion-galactic-survivalupdates.json index dbcec1c..ae90a51 100644 --- a/empyrion-galactic-survivalupdates.json +++ b/empyrion-galactic-survivalupdates.json @@ -25,5 +25,12 @@ "UpdateSourceConditionSetting": "backupExclude", "UpdateSourceConditionValue": "true", "OverwriteExistingFiles":false + }, + { + "UpdateStageName":"Initialise Wine", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'" } ] diff --git a/icarus.kvp b/icarus.kvp index 0f61401..571af76 100644 --- a/icarus.kvp +++ b/icarus.kvp @@ -1,6 +1,6 @@ Meta.DisplayName=Icarus Meta.Description=Icarus Dedicated Server -Meta.OS=Windows +Meta.OS=Windows, Linux Meta.Arch=x86_64 Meta.Author=Greelan Meta.URL=https://surviveicarus.com/ @@ -9,23 +9,25 @@ Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort} Meta.ConfigManifest=icarusconfig.json Meta.MetaConfigManifest=icarusmetaconfig.json Meta.ConfigRoot=icarus.kvp -Meta.MinAMPVersion=2.4.0.10 -Meta.SpecificDockerImage= -Meta.ContainerPolicy=NotSupported -Meta.ContainerPolicyReason=Icarus requires Winetricks when using Docker, which is currently not supported in AMP. +Meta.MinAMPVersion=2.4.3.0 +Meta.SpecificDockerImage=cubecoders/ampbase:wine8 +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine 7 (or later) to run on Linux. Using a container avoids the need to install this dependency on the host. +Meta.ExtraSetupStepsURI= Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=Icarus App.RootDir=./icarus/ App.BaseDirectory=./icarus/2089300/ App.ExecutableWin=2089300/Icarus/Binaries/Win64/IcarusServer-Win64-Shipping.exe -App.ExecutableLinux= +App.ExecutableLinux=/usr/bin/wine App.WorkingDir=2089300 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs= -App.CommandLineArgs={{$PlatformArgs}} Icarus -Port={{$GamePort}} -QueryPort={{$QueryPort}} {{StartupMode}}{{$FormattedArgs}} -stdout -FullStdOutLogOutput +App.LinuxCommandLineArgs="./Icarus/Binaries/Win64/IcarusServer-Win64-Shipping.exe" Icarus -ini:Engine:[OnlineSubsystemSteam]:AsyncTaskTimeout={{AsyncTaskTimeout}} +App.WindowsCommandLineArgs=Icarus +App.CommandLineArgs={{$PlatformArgs}} -Port={{$GamePort}} -QueryPort={{$QueryPort}} {{StartupMode}}{{$FormattedArgs}} -stdout -FullStdOutLogOutput +App.UseLinuxIOREDIR=False App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1149460"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1149460","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat=-{0}="{1}" App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -40,35 +42,40 @@ App.ApplicationIPBinding=0.0.0.0 App.Ports=[{"Protocol":"UDP","Port":17777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":27015,"Ref":"QueryPort","Name":"Query Port","Description":"Port for Steam query traffic"}] App.AdminPortRef=0 App.PrimaryApplicationPortRef=GamePort -App.UniversalSleepApplicationUDPPort=GamePort -App.UniversalSleepSteamQueryPort=QueryPort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=QueryPort App.MaxUsers=8 App.UseRandomAdminPassword=False +App.PersistRandomPassword=False 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":"2089300","UpdateSourceArgs":"1149460","UpdateSourceVersion":"{{ServerBranch}}","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Icarus/Saved/Config/WindowsServer","OverwriteExistingFiles":false},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/icarusserversettings.ini","UpdateSourceArgs":"ServerSettings.ini","UpdateSourceTarget":"{{$FullBaseDir}}Icarus/Saved/Config/WindowsServer/","OverwriteExistingFiles":false}] +App.RCONHeartbeatMinutes=0 +App.RCONHeartbeatCommand=ping +App.TelnetLoginFormat={0} +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"2089300","UpdateSourceVersion":"{{ServerBranch}}","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Create Config Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}Icarus/Saved/Config/WindowsServer","OverwriteExistingFiles":false},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/icarusserversettings.ini","UpdateSourceArgs":"ServerSettings.ini","UpdateSourceTarget":"{{$FullBaseDir}}Icarus/Saved/Config/WindowsServer/","OverwriteExistingFiles":false},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False App.RapidStartup=False -App.MonitorChildProcess=False -App.MonitorChildProcessWaitMs=100 -App.MonitorChildProcessName= +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=1000 +App.MonitorChildProcessName=IcarusServer-Win64-Shipping.exe App.SupportsUniversalSleep=False App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex= Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|Could not find Wine Gecko.*)$ Console.AppReadyRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogInit: Display: Game Engine Initialized\.$ Console.UserJoinRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogConnectedPlayers: Display: AddConnectedPlayer - UserId: (?.+?) \| PlayerName: (?.+)$ Console.UserLeaveRegex=^\[[\d\.]+-[\d\.:]+\]\[[\d ]+\]LogOnline: STEAM: (?.+?) has been removed\.$ Console.UserChatRegex=^$ 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={} @@ -77,3 +84,4 @@ Limits.SleepOnStart=False Limits.SleepDelayMinutes=5 Limits.DozeDelay=2 Limits.AutoRetryCount=5 +Limits.SleepStartThresholdSeconds=25 diff --git a/icarusconfig.json b/icarusconfig.json index ab33bf2..d14693c 100644 --- a/icarusconfig.json +++ b/icarusconfig.json @@ -124,7 +124,7 @@ "DisplayName":"Player Limit", "Category":"Icarus Server Settings", "Description":"Maximum number of players that may connect to the server at one time", - "Keywords":"players,limit", + "Keywords":"players,limit,maxplayers", "FieldName":"$MaxUsers", "InputType":"number", "MinValue":"1", @@ -153,7 +153,7 @@ "DisplayName":"Startup Mode", "Category":"Icarus Server Settings", "Description":"Sets the server startup mode. For \"Load existing prospect\", the Prospect Save Name must be set and the file must exist. For \"Create and launch new prospect\", the Prospect Type must be set; if no Prospect Save Name is set, a random save name will be created for regular prospects", - "Keywords":"startup,mode,load,create,resume", + "Keywords":"startup,mode,load,create,resume,startupmode", "FieldName":"StartupMode", "InputType":"enum", "IsFlagArgument":false, @@ -171,7 +171,7 @@ "DisplayName":"Prospect Save Name", "Category":"Icarus Server Settings", "Description":"Sets the save name of the specific prospect to be loaded or created", - "Keywords":"prospect,save,name", + "Keywords":"prospect,save,name,prospectsavename", "FieldName":"ProspectSaveName", "InputType":"text", "IsFlagArgument":false, @@ -184,7 +184,7 @@ "DisplayName":"Prospect Type", "Category":"Icarus Server Settings", "Description":"Sets the prospect type to create a prospect with", - "Keywords":"prospect,type", + "Keywords":"prospect,type,prospecttype", "FieldName":"ProspectType", "InputType":"enum", "IsFlagArgument":false, @@ -325,7 +325,7 @@ "DisplayName":"No Join Shutdown Interval", "Category":"Icarus Server Settings", "Description":"Sets the period after which the server will exit a prospect and return to the lobby, if no player has joined. -1 = run indefinitely, 0 = return to lobby immediately, >0 = interval for shutdown. Note that data loss/corruption may occur if the server is shut down in AMP before returning to the lobby", - "Keywords":"shutdown,not,joined,interval", + "Keywords":"shutdown,not,joined,interval,shutdownifnotjoinedfor", "FieldName":"ShutdownIfNotJoinedFor", "InputType":"number", "MinValue":"-1", @@ -341,7 +341,7 @@ "DisplayName":"Empty Shutdown Interval", "Category":"Icarus Server Settings", "Description":"Sets the period after which the server will exit a prospect and return to the lobby, if the server becomes empty. -1 = run indefinitely, 0 = return to lobby immediately, >0 = interval for shutdown. Note that data loss/corruption may occur if the server is shut down in AMP before returning to the lobby", - "Keywords":"shutdown,not,joined,interval", + "Keywords":"shutdown,not,joined,interval,shutdownifemptyfor", "FieldName":"ShutdownIfEmptyFor", "InputType":"number", "MinValue":"-1", @@ -357,7 +357,7 @@ "DisplayName":"Allow Non-Admins To Load Prospects", "Category":"Icarus Server Settings", "Description":"If set, anyone who joins the lobby can create a new prospect or load an existing one. Otherwise, only admins can", - "Keywords":"non,admins,create,prospects", + "Keywords":"non,admins,create,prospects,allownonadminstolaunchprospects", "FieldName":"AllowNonAdminsToLaunchProspects", "InputType":"checkbox", "IsFlagArgument":false, @@ -373,7 +373,7 @@ "DisplayName":"Allow Non-Admins To Delete Prospects", "Category":"Icarus Server Settings", "Description":"If set, anyone who joins the lobby can delete existing prospects from the server. Otherwise, only admins can", - "Keywords":"non,admins,delete,prospects", + "Keywords":"non,admins,delete,prospects,allownonadminstodeleteprospects", "FieldName":"AllowNonAdminsToDeleteProspects", "InputType":"checkbox", "IsFlagArgument":false, @@ -385,6 +385,22 @@ "True":"True" } }, + { + "DisplayName":"Async Task Timeout", + "Category":"Icarus Server Settings", + "Description":"Sets the \"AsyncTaskTimeout\" parameter for Engine.ini. This can be helpful for resolving connection issues (Linux only)", + "Keywords":"async,task,timeout,connection,asynctasktimeout", + "FieldName":"AsyncTaskTimeout", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"AsyncTaskTimeout", + "IncludeInCommandLine":false, + "DefaultValue":"60", + "Placeholder":"60", + "Suffix":"seconds", + "EnumValues":{} + }, { "DisplayName":"Server Branch", "Category":"SteamCMD and Updates", diff --git a/night-of-the-dead.kvp b/night-of-the-dead.kvp index 6a7e153..4f635e8 100644 --- a/night-of-the-dead.kvp +++ b/night-of-the-dead.kvp @@ -1,6 +1,6 @@ Meta.DisplayName=Night of the Dead Meta.Description=Night of the Dead Dedicated Server -Meta.OS=Windows +Meta.OS=Windows, Linux Meta.Arch=x86_64 Meta.Author=Greelan Meta.URL=https://www.nightofthedead.org/ @@ -10,9 +10,9 @@ Meta.ConfigManifest=night-of-the-deadconfig.json Meta.MetaConfigManifest=night-of-the-deadmetaconfig.json Meta.ConfigRoot=night-of-the-dead.kvp Meta.MinAMPVersion= -Meta.SpecificDockerImage=cubecoders/ampbase:wine -Meta.ContainerPolicy=RecommendedOnLinux -Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. +Meta.SpecificDockerImage=cubecoders/ampbase:wine8 +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine 7 (or later) and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=Night of the Dead @@ -25,7 +25,7 @@ App.LinuxCommandLineArgs=-a wine "./LF/Binaries/Win64/LFServer.exe" App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} ?listen -Port={{$GamePort}} -QueryPort={{$QueryPort}} {{$FormattedArgs}} -stdout -FullStdOutLogOutput -CRASHREPORTS App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1377380"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1377380","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat=-{0}="{1}" App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -48,7 +48,7 @@ App.AdminMethod=STDIO App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1420710","UpdateSourceArgs":"1377380","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Settings Template Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/night-of-the-deadserversettings.ini","UpdateSourceArgs":"AMP_ServerSettings.ini","UpdateSourceTarget":"{{$FullRootDir}}","OverwriteExistingFiles":true}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1420710","UpdateSourceArgs":"1377380","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"SteamCMD Component Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"1420710/LF/Binaries/Win64","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Settings Template Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/night-of-the-deadserversettings.ini","UpdateSourceArgs":"AMP_ServerSettings.ini","UpdateSourceTarget":"{{$FullRootDir}}","OverwriteExistingFiles":true},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/portal-knights.kvp b/portal-knights.kvp index 8e5d4ee..394dc32 100644 --- a/portal-knights.kvp +++ b/portal-knights.kvp @@ -12,7 +12,7 @@ Meta.ConfigRoot=portal-knights.kvp Meta.MinAMPVersion= Meta.SpecificDockerImage=cubecoders/ampbase:wine Meta.DockerRequired=False -Meta.ContainerPolicy=RecommendedOnLinux +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified @@ -27,7 +27,7 @@ App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} -config "{{$FullBaseDir}}server_config.json" -log Server.log App.UseLinuxIOREDIR=False App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"374040"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"374040","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat=-{0} {1} App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -52,7 +52,7 @@ App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "374040","UpdateSourceArgs":"374040", "ForceDownloadPlatform": "Windows"},{"UpdateStageName": "Server Extract","UpdateSourcePlatform": "Windows", "UpdateSource": "Executable", "UpdateSourceData": "cmd.exe", "UpdateSourceArgs": "/C cd portal-knights\\374040 && tar -xf dedicated_server.zip"},{"UpdateStageName": "Server Extract","UpdateSourcePlatform": "Linux", "UpdateSource": "Executable", "UpdateSourceData": "/bin/bash", "UpdateSourceArgs": "-c 'cd portal-knights/374040 && unzip -u dedicated_server.zip'"},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/portal-knightsserver_config.json","UpdateSourceTarget":"{{$FullBaseDir}}","UpdateSourceArgs":"server_config.json","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "374040","UpdateSourceArgs":"374040", "ForceDownloadPlatform": "Windows"},{"UpdateStageName": "Server Extract","UpdateSourcePlatform": "Windows", "UpdateSource": "Executable", "UpdateSourceData": "cmd.exe", "UpdateSourceArgs": "/C cd portal-knights\\374040 && tar -xf dedicated_server.zip"},{"UpdateStageName": "Server Extract","UpdateSourcePlatform": "Linux", "UpdateSource": "Executable", "UpdateSourceData": "/bin/bash", "UpdateSourceArgs": "-c 'cd portal-knights/374040 && unzip -u dedicated_server.zip'"},{"UpdateStageName":"Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/portal-knightsserver_config.json","UpdateSourceTarget":"{{$FullBaseDir}}","UpdateSourceArgs":"server_config.json","OverwriteExistingFiles":false},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=False App.SteamForceLoginPrompt=False diff --git a/risk-of-rain-2.kvp b/risk-of-rain-2.kvp index a5c9101..977616a 100644 --- a/risk-of-rain-2.kvp +++ b/risk-of-rain-2.kvp @@ -12,7 +12,8 @@ Meta.ConfigRoot=risk-of-rain-2.kvp Meta.MinAMPVersion=2.3.3.0 Meta.SpecificDockerImage=cubecoders/ampbase:wine Meta.DockerRequired=False -Meta.ContainerPolicy=Supported +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=Risk of Rain 2 @@ -26,7 +27,7 @@ App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} App.UseLinuxIOREDIR=False App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"{{$SteamAppID}}"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"{{$SteamAppID}}","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat=+{0} {1} App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -51,11 +52,14 @@ App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1180760","UpdateSourceArgs":"632360","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"1180760","ForceDownloadPlatform":"Windows"}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1180760","UpdateSourceArgs":"632360","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"1007","UpdateSourceTarget":"1180760","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False App.RapidStartup=False +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=1000 +App.MonitorChildProcessName=wine64 App.SupportsUniversalSleep=False App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch diff --git a/space-engineers-generic.kvp b/space-engineers-generic.kvp index e6297f8..5fbf42e 100644 --- a/space-engineers-generic.kvp +++ b/space-engineers-generic.kvp @@ -28,7 +28,7 @@ App.LinuxCommandLineArgs= App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} -console -path "{{$FullBaseDir}}servers" {{$FormattedArgs}} App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"244850"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"244850","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat=-{0} "{1}" App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE diff --git a/space-engineers-genericupdates.json b/space-engineers-genericupdates.json index 6e413e8..a201d42 100644 --- a/space-engineers-genericupdates.json +++ b/space-engineers-genericupdates.json @@ -46,5 +46,12 @@ "UpdateSourceData": "{{$FullBaseDir}}DedicatedServer64/vstdlib_s64.dll", "UpdateSourceArgs": "{{$FullBaseDir}}vstdlib_s64.dll", "OverwriteExistingFiles": true + }, + { + "UpdateStageName":" Initialise Wine", + "UpdateSourcePlatform": "Linux", + "UpdateSource": "Executable", + "UpdateSourceData": "/bin/bash", + "UpdateSourceArgs": "-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'" } ] diff --git a/the-forest.kvp b/the-forest.kvp index 4803c3e..5227edc 100644 --- a/the-forest.kvp +++ b/the-forest.kvp @@ -12,7 +12,8 @@ Meta.ConfigRoot=the-forest.kvp Meta.MinAMPVersion=2.3.4.3 Meta.SpecificDockerImage=cubecoders/ampbase:wine Meta.DockerRequired=False -Meta.ContainerPolicy=Recommended +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. Meta.ContainerPolicyReason= Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified @@ -28,7 +29,7 @@ App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} -showlogs -batchmode -configfilepath the-forestserver.cfg -savefolderpath saves {{$FormattedArgs}} App.UseLinuxIOREDIR=False App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"242760"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"242760","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat=-{0} "{1}" App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -55,7 +56,7 @@ App.RCONConnectRetrySeconds=5 App.RCONHeartbeatMinutes=0 App.RCONHeartbeatCommand=ping App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "556450", "UpdateSourceArgs": "242760", "ForceDownloadPlatform": "Windows"},{"UpdateStageName": "Base Config Download","UpdateSourcePlatform": "All","UpdateSource": "FetchURL","UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/the-forestserver.cfg","UpdateSourceTarget": "./556450/"}] +App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "556450", "UpdateSourceArgs": "242760", "ForceDownloadPlatform": "Windows"},{"UpdateStageName": "Base Config Download","UpdateSourcePlatform": "All","UpdateSource": "FetchURL","UpdateSourceData": "https://github.com/CubeCoders/AMPTemplates/raw/main/the-forestserver.cfg","UpdateSourceTarget": "./556450/"},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False diff --git a/theisle-legacy.kvp b/theisle-legacy.kvp index 7e2e2a6..6590453 100644 --- a/theisle-legacy.kvp +++ b/theisle-legacy.kvp @@ -1,6 +1,6 @@ Meta.DisplayName=The Isle (Legacy) Meta.Description=The Isle (Legacy) Dedicated Server -Meta.OS=Windows +Meta.OS=Windows, Linux Meta.Arch=x86_64 Meta.Author=Greelan Meta.URL=https://survivetheisle.com/ @@ -10,21 +10,22 @@ Meta.ConfigManifest=theisle-legacyconfig.json Meta.MetaConfigManifest=theisle-legacymetaconfig.json Meta.ConfigRoot=theisle-legacy.kvp Meta.MinAMPVersion=2.3.2.8 -Meta.SpecificDockerImage= -Meta.ContainerPolicy=Supported +Meta.SpecificDockerImage=cubecoders/ampbase:wine8 +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine 7 (or later) to run on Linux. Using a container avoids the need to install this dependency on the host. Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=The Isle (Legacy) App.RootDir=./theisle/ App.BaseDirectory=./theisle/412680/ App.ExecutableWin=412680/TheIsle/Binaries/Win64/TheIsleServer-Win64-Shipping.exe -App.ExecutableLinux= +App.ExecutableLinux=/usr/bin/wine App.WorkingDir=412680 -App.LinuxCommandLineArgs= -App.WindowsCommandLineArgs=-FullStdOutLogOutput -App.CommandLineArgs=TheIsle {{Map}}?game={{GameMode}} -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort2}} {{$FormattedArgs}} -stdout {{$PlatformArgs}} +App.LinuxCommandLineArgs="./TheIsle/Binaries/Win64/TheIsleServer-Win64-Shipping.exe" +App.WindowsCommandLineArgs= +App.CommandLineArgs={{$PlatformArgs}} TheIsle {{Map}}?game={{GameMode}} -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort2}} {{$FormattedArgs}} -stdout -FullStdOutLogOutput App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"376210"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"376210","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat=-{0}={1} App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -48,7 +49,7 @@ App.AdminMethod=STDIO App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"412680","UpdateSourceArgs":"376210","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}TheIsle/Saved/Config/WindowsServer"},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/theisle-legacygame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}TheIsle/Saved/Config/WindowsServer/","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"412680","UpdateSourceArgs":"376210","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Config Directory Creation","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"{{$FullBaseDir}}TheIsle/Saved/Config/WindowsServer"},{"UpdateStageName":"Game Config File Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/theisle-legacygame.ini","UpdateSourceArgs":"Game.ini","UpdateSourceTarget":"{{$FullBaseDir}}TheIsle/Saved/Config/WindowsServer/","OverwriteExistingFiles":false},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False @@ -57,9 +58,12 @@ App.SupportsUniversalSleep=False App.WakeupMode=Any App.ApplicationReadyMode=RegexMatch App.TemplateMatchRegex={{(\$?[\w]+)}} +App.MonitorChildProcess=True +App.MonitorChildProcessWaitMs=2000 +App.MonitorChildProcessName=TheIsleServer-Win64-Shipping.exe Console.FilterMatchRegex= Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex= +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|Could not find Wine Gecko.*)$ Console.AppReadyRegex=^\[[\d.]*-[\d.]*:\d*\]\[[\d ]*\]LogGameState: Match State Changed from WaitingToStart to InProgress$ Console.UserJoinRegex=^$ Console.UserLeaveRegex=^$ diff --git a/v-rising.kvp b/v-rising.kvp index 35a09c7..ca2ccb7 100644 --- a/v-rising.kvp +++ b/v-rising.kvp @@ -12,7 +12,8 @@ Meta.ConfigRoot=v-rising.kvp Meta.MinAMPVersion= Meta.SpecificDockerImage=cubecoders/ampbase:wine Meta.DockerRequired=False -Meta.ContainerPolicy=Supported +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. Meta.Prerequsites=[] Meta.ConfigReleaseState=NotSpecified App.DisplayName=V Rising @@ -21,15 +22,15 @@ App.BaseDirectory=./v-rising/1829350/ App.ExecutableWin=1829350\VRisingServer.exe App.ExecutableLinux=/usr/bin/xvfb-run App.WorkingDir=1829350 -App.LinuxCommandLineArgs=-a wine64 ./VRisingServer.exe +App.LinuxCommandLineArgs=-a wine "./VRisingServer.exe" App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} -persistentDataPath ./save-data {{LanMode}} App.UseLinuxIOREDIR=False App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"1604030","STEAM_COMPAT_DATA_PATH":"{{$FullRootDir}}1493710","STEAM_COMPAT_CLIENT_INSTALL_PATH":"{{$FullRootDir}}1493710"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1604030","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat=-{0} "{1}" App.CommandLineParameterDelimiter= -App.ExitMethod=CtrlC +App.ExitMethod=OS_CLOSE App.ExitTimeout=30 App.ExitString=stop App.ExitFile=app_exit.lck @@ -67,9 +68,9 @@ App.RCONHeartbeatMinutes=4 App.RCONHeartbeatCommand="announce" Console.FilterMatchRegex= Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.AppReadyRegex=^Server is ready.$ -Console.UserJoinRegex=^User '{Steam (?\d+)}' '\d+', approvedUserIndex: \d+, Character: '(?.+?)' connected as ID '\d+,\d+', Entity '[\d,]+'.$ +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|Could not find Wine Gecko.*)$ +Console.AppReadyRegex=^Server is ready\.$ +Console.UserJoinRegex=^User '{Steam (?\d+)}' '\d+', approvedUserIndex: \d+, Character: '(?.+?)' connected as ID '\d+,\d+', Entity '[\d,]+'\.$ Console.UserLeaveRegex=^User '{Steam (?\d+)}' disconnected. approvedUserIndex: \d+ Reason: (.+?) (.+?)$ Console.UserChatRegex= Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ @@ -82,4 +83,4 @@ Limits.SleepOnStart=False Limits.SleepDelayMinutes=5 Limits.DozeDelay=2 Limits.AutoRetryCount=5 -Limits.SleepStartThresholdSeconds=25 +Limits.SleepStartThresholdSeconds=25 \ No newline at end of file diff --git a/v-risingupdates.json b/v-risingupdates.json index 45ee60c..73d49a7 100644 --- a/v-risingupdates.json +++ b/v-risingupdates.json @@ -1,62 +1,66 @@ [ { - "UpdateStageName": "SteamCMD Download", - "UpdateSourcePlatform": "All", - "UpdateSource": "SteamCMD", - "UpdateSourceData": "1829350", - "UpdateSourceArgs": "1604030", - "UpdateSourceVersion": null, - "UpdateSourceTarget": null, - "UnzipUpdateSource": false, - "OverwriteExistingFiles": false, - "ForceDownloadPlatform": "Windows", - "UpdateSourceConditionSetting": null, - "UpdateSourceConditionValue": null, - "DeleteAfterExtract": false + "UpdateStageName":"SteamCMD Download", + "UpdateSourcePlatform":"All", + "UpdateSource":"SteamCMD", + "UpdateSourceData":"1829350", + "UpdateSourceArgs":"1604030", + "UpdateSourceVersion":null, + "UpdateSourceTarget":null, + "UnzipUpdateSource":false, + "OverwriteExistingFiles":false, + "ForceDownloadPlatform":"Windows", + "UpdateSourceConditionSetting":null, + "UpdateSourceConditionValue":null, + "DeleteAfterExtract":false }, { - "UpdateStageName": "Data Directory Creation", - "UpdateSourcePlatform": "All", - "UpdateSource": "CreateDirectory", - "UpdateSourceData": null, - "UpdateSourceArgs": "./v-rising/1829350/save-data/Settings", - "UpdateSourceVersion": null, - "UpdateSourceTarget": null, - "UnzipUpdateSource": false, - "OverwriteExistingFiles": false, - "ForceDownloadPlatform": 0, - "UpdateSourceConditionSetting": null, - "UpdateSourceConditionValue": null, - "DeleteAfterExtract": false + "UpdateStageName":"Data Directory Creation", + "UpdateSourcePlatform":"All", + "UpdateSource":"CreateDirectory", + "UpdateSourceData":null, + "UpdateSourceArgs":"./v-rising/1829350/save-data/Settings", + "UpdateSourceVersion":null, + "UpdateSourceTarget":null, + "UnzipUpdateSource":false, + "OverwriteExistingFiles":false, + "UpdateSourceConditionSetting":null, + "UpdateSourceConditionValue":null, + "DeleteAfterExtract":false }, { - "UpdateStageName": "Game Config File Copy", - "UpdateSourcePlatform": "All", - "UpdateSource": "CopyFilePath", - "UpdateSourceData": "./v-rising/1829350/save-data/Settings/ServerHostSettings.json", - "UpdateSourceArgs": "./v-rising/1829350/VRisingServer_Data/StreamingAssets/Settings/ServerHostSettings.json", - "UpdateSourceVersion": null, - "UpdateSourceTarget": null, - "UnzipUpdateSource": false, - "OverwriteExistingFiles": false, - "ForceDownloadPlatform": 0, - "UpdateSourceConditionSetting": null, - "UpdateSourceConditionValue": null, - "DeleteAfterExtract": false + "UpdateStageName":"Game Config File Copy", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"./v-rising/1829350/save-data/Settings/ServerHostSettings.json", + "UpdateSourceArgs":"./v-rising/1829350/VRisingServer_Data/StreamingAssets/Settings/ServerHostSettings.json", + "UpdateSourceVersion":null, + "UpdateSourceTarget":null, + "UnzipUpdateSource":false, + "OverwriteExistingFiles":false, + "UpdateSourceConditionSetting":null, + "UpdateSourceConditionValue":null, + "DeleteAfterExtract":false }, { - "UpdateStageName": "Game Config File Copy", - "UpdateSourcePlatform": "All", - "UpdateSource": "CopyFilePath", - "UpdateSourceData": "./v-rising/1829350/save-data/Settings/ServerGameSettings.json", - "UpdateSourceArgs": "./v-rising/1829350/VRisingServer_Data/StreamingAssets/Settings/ServerGameSettings.json", - "UpdateSourceVersion": null, - "UpdateSourceTarget": null, - "UnzipUpdateSource": false, - "OverwriteExistingFiles": false, - "ForceDownloadPlatform": 0, - "UpdateSourceConditionSetting": null, - "UpdateSourceConditionValue": null, - "DeleteAfterExtract": false + "UpdateStageName":"Game Config File Copy", + "UpdateSourcePlatform":"All", + "UpdateSource":"CopyFilePath", + "UpdateSourceData":"./v-rising/1829350/save-data/Settings/ServerGameSettings.json", + "UpdateSourceArgs":"./v-rising/1829350/VRisingServer_Data/StreamingAssets/Settings/ServerGameSettings.json", + "UpdateSourceVersion":null, + "UpdateSourceTarget":null, + "UnzipUpdateSource":false, + "OverwriteExistingFiles":false, + "UpdateSourceConditionSetting":null, + "UpdateSourceConditionValue":null, + "DeleteAfterExtract":false + }, + { + "UpdateStageName":"Initialise Wine", + "UpdateSourcePlatform":"Linux", + "UpdateSource":"Executable", + "UpdateSourceData":"/bin/bash", + "UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'" } -] +] \ No newline at end of file diff --git a/wreckfest.kvp b/wreckfest.kvp index f22c584..af972f6 100644 --- a/wreckfest.kvp +++ b/wreckfest.kvp @@ -12,7 +12,8 @@ Meta.ConfigRoot=wreckfest.kvp Meta.MinAMPVersion=2.3.3.4 Meta.SpecificDockerImage=cubecoders/ampbase:wine Meta.DockerRequired=False -Meta.ContainerPolicy=Recommended +Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux +Meta.ContainerPolicyReason=The server requires Wine and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host. Meta.Prerequsites=[] App.DisplayName=Wreckfest App.RootDir=./wreckfest/ @@ -24,7 +25,7 @@ App.LinuxCommandLineArgs=-a wine "./Wreckfest_x64.exe" App.WindowsCommandLineArgs= App.CommandLineArgs={{$PlatformArgs}} -s server_config=server_config.cfg --save-dir={{$FullBaseDir}}saved -server_set game_port={{$GamePort}} steam_port={{$SteamPort}} query_port={{$QueryPort}} {{$FormattedArgs}} App.AppSettings={} -App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"228380"} +App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"228380","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"} App.CommandLineParameterFormat={0}={1} App.CommandLineParameterDelimiter= App.ExitMethod=OS_CLOSE @@ -48,7 +49,7 @@ App.AdminLoginTransform=None App.RCONConnectDelaySeconds=5 App.RCONConnectRetrySeconds=5 App.TelnetLoginFormat={0} -App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"361580","UpdateSourceArgs":"228380","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Create Save Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./wreckfest/361580/saved","OverwriteExistingFiles":false},{"UpdateStageName":"Create SteamAppID File","UpdateSourcePlatform":"All","UpdateSource":"CreateFile","UpdateSourceData":"228380","UpdateSourceArgs":"./wreckfest/361580/steam_appid.txt","OverwriteExistingFiles":false},{"UpdateStageName":"Copy Server Config","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./wreckfest/361580/server_config.cfg","UpdateSourceArgs":"./wreckfest/361580/initial_server_config.cfg","OverwriteExistingFiles":false}] +App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"361580","UpdateSourceArgs":"228380","ForceDownloadPlatform":"Windows"},{"UpdateStageName":"Create Save Directory","UpdateSourcePlatform":"All","UpdateSource":"CreateDirectory","UpdateSourceArgs":"./wreckfest/361580/saved","OverwriteExistingFiles":false},{"UpdateStageName":"Create SteamAppID File","UpdateSourcePlatform":"All","UpdateSource":"CreateFile","UpdateSourceData":"228380","UpdateSourceArgs":"./wreckfest/361580/steam_appid.txt","OverwriteExistingFiles":false},{"UpdateStageName":"Copy Server Config","UpdateSourcePlatform":"All","UpdateSource":"CopyFilePath","UpdateSourceData":"./wreckfest/361580/server_config.cfg","UpdateSourceArgs":"./wreckfest/361580/initial_server_config.cfg","OverwriteExistingFiles":false},{"UpdateStageName":"Initialise Wine","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"}] App.Compatibility=None App.SteamUpdateAnonymousLogin=True App.SteamForceLoginPrompt=False @@ -62,7 +63,7 @@ App.ApplicationReadyMode=Immediate App.TemplateMatchRegex={{(\$?[\w]+)}} Console.FilterMatchRegex= Console.FilterMatchReplacement= -Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|\d+:err:ole:.*|Could not find Wine Gecko.*)$ +Console.ThrowawayMessageRegex=^((WARNING|ERROR): Shader.+|Could not find Wine Gecko.*)$ Console.AppReadyRegex=^[\d:]+ Server connected to Steam\.$ Console.UserJoinRegex=^[\d:]+ Player (?.+?) \((?.+?)\) connected\.$ Console.UserLeaveRegex=^[\d:]+ Player (?.+?) \((?.+?)\) disconnected\.$