Astroneer: add Linux support (#446)

This commit is contained in:
Greelan 2023-08-22 08:38:57 +10:00 committed by GitHub
parent f6c4f91209
commit 93f1f87dde
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 246 additions and 216 deletions

View File

@ -1,6 +1,6 @@
Meta.DisplayName=Astroneer
Meta.Description=Astroneer Dedicated Server
Meta.OS=Windows
Meta.OS=Windows, Linux
Meta.AarchSupport=Unknown
Meta.Arch=x86_64
Meta.Author=Greelan, Tueem
@ -11,11 +11,11 @@ Meta.ConfigManifest=astroneerconfig.json
Meta.MetaConfigManifest=astroneermetaconfig.json
Meta.ConfigRoot=astroneer.kvp
Meta.MinAMPVersion=2.3.2.0
Meta.SpecificDockerImage=
Meta.SpecificDockerImage=cubecoders/ampbase:wine
Meta.DockerRequired=False
Meta.DockerBaseReadOnly=False
Meta.ContainerPolicy=NotSupported
Meta.ContainerPolicyReason=Astroneer can currently only run under Wine/Proton on Linux (and therefore in Docker), but to do so requires disabling of encryption on server and clients. The AMP template is therefore not configured for Linux.
Meta.ContainerPolicy=SupportedOnWindows, RecommendedOnLinux
Meta.ContainerPolicyReason=Astroneer requires Wine to run on Linux. Using a container avoids the need to install this dependency on the host.
Meta.ExtraSetupStepsURI=
Meta.Prerequsites=[]
Meta.ExtraContainerPackages=[]
@ -29,14 +29,14 @@ App.RootDir=./astroneer/
App.BaseDirectory=./astroneer/728470/
App.SteamWorkshopDownloadLocation=
App.ExecutableWin=728470/Astro/Binaries/Win64/AstroServer-Win64-Shipping.exe
App.ExecutableLinux=
App.ExecutableLinux=/usr/bin/wine
App.WorkingDir=728470/Astro/Binaries/Win64
App.LinuxCommandLineArgs=
App.LinuxCommandLineArgs="./AstroServer-Win64-Shipping.exe" -ini:Engine:[SystemSettings]:net.AllowEncryption=False
App.WindowsCommandLineArgs=
App.CommandLineArgs={{$PlatformArgs}} Port={{$ApplicationPort1}} ConsolePort={{$RemoteAdminPort}} {{$FormattedArgs}} -log
App.UseLinuxIOREDIR=False
App.AppSettings={}
App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"361420"}
App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"361420","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"}
App.CommandLineParameterFormat=-{0}={1}
App.CommandLineParameterDelimiter=
App.ExitMethod=OS_CLOSE
@ -65,7 +65,7 @@ App.RCONConnectRetrySeconds=5
App.RCONHeartbeatMinutes=0
App.RCONHeartbeatCommand=ping
App.TelnetLoginFormat={0}
App.UpdateSources=[{"UpdateStageName":"SteamCMD Download","UpdateSourcePlatform":"All","UpdateSource":"SteamCMD","UpdateSourceData":"728470","UpdateSourceArgs":"361420","ForceDownloadPlatform":"Windows"}]
App.UpdateSources=@IncludeJson[astroneerupdates.json]
App.PreStartStages=[]
App.ForceUpdate=False
App.ForceUpdateReason=
@ -73,10 +73,10 @@ App.Compatibility=None
App.SteamUpdateAnonymousLogin=True
App.SteamForceLoginPrompt=False
App.RapidStartup=False
App.MonitorChildProcess=False
App.MonitorChildProcess=True
App.DumpFullChildProcessTree=False
App.MonitorChildProcessWaitMs=100
App.MonitorChildProcessName=
App.MonitorChildProcessName=wine64
App.SupportsUniversalSleep=False
App.WakeupMode=Any
App.ApplicationReadyMode=Immediate

View File

@ -38,6 +38,19 @@
"IncludeInCommandLine":false,
"EnumValues":{}
},
{
"DisplayName":"Linux Server Configuration",
"Category":"Server Settings",
"Description":"WARNING: Running Astroneer on Linux requires encryption to be disabled on both server and clients. USE AT YOUR OWN RISK. To disable encryption on a client, add net.AllowEncryption=False under the [SystemSettings] header in %LocalAppData%\\Astro\\Saved\\Config\\WindowsNoEditor\\Engine.ini",
"Keywords":"linux,encryption",
"FieldName":"AllowEncryption",
"InputType":"hidden",
"IsFlagArgument":false,
"ParamFieldName":"SystemSettings.net.AllowEncryption",
"IncludeInCommandLine":false,
"DefaultValue":"False",
"EnumValues":{}
},
{
"DisplayName":"Server Name",
"Category":"Server Settings",

View File

@ -3,18 +3,18 @@
"ConfigFile": "Astro/Saved/Config/WindowsServer/AstroServerSettings.ini",
"AutoMap": true,
"ConfigType": "ini",
"ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$"
"ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$"
},
{
"ConfigFile": "Astro/Saved/Config/WindowsServer/GameUserSettings.ini",
"AutoMap": true,
"ConfigType": "ini",
"ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$"
"ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$"
},
{
"ConfigFile": "Astro/Saved/Config/WindowsServer/Engine.ini",
"AutoMap": true,
"ConfigType": "ini",
"ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$"
"ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$"
}
]

17
astroneerupdates.json Normal file
View File

@ -0,0 +1,17 @@
[
{
"UpdateStageName":"SteamCMD Download",
"UpdateSourcePlatform":"All",
"UpdateSource":"SteamCMD",
"UpdateSourceData":"728470",
"UpdateSourceArgs":"361420",
"ForceDownloadPlatform":"Windows"
},
{
"UpdateStageName":"Initialise Wine",
"UpdateSourcePlatform":"Linux",
"UpdateSource":"Executable",
"UpdateSourceData":"/bin/bash",
"UpdateSourceArgs":"-c 'WINEPREFIX=\"{{$FullRootDir}}.wine\" WINEARCH=win64 /usr/bin/wineboot --init --update'"
}
]