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

@ -1,186 +1,199 @@
[
{
"DisplayName":"Public IP",
"Category":"Server Settings",
"Description":"",
"Keywords":"",
"FieldName":"$ExternalIP",
"InputType":"text",
"Hidden":true,
"IsFlagArgument":false,
"ParamFieldName":"/Script/Astro.AstroServerSettings.PublicIP",
"IncludeInCommandLine":false,
"EnumValues":{}
},
{
"DisplayName":"Server Port",
"Category":"Server Settings",
"Description":"",
"Keywords":"",
"FieldName":"$ApplicationPort1",
"InputType":"number",
"Hidden":true,
"IsFlagArgument":false,
"ParamFieldName":"URL.Port",
"IncludeInCommandLine":false,
"EnumValues":{}
},
{
"DisplayName":"Console Port",
"Category":"Server Settings",
"Description":"",
"Keywords":"",
"FieldName":"$RemoteAdminPort",
"InputType":"number",
"Hidden":true,
"IsFlagArgument":false,
"ParamFieldName":"/Script/Astro.AstroServerSettings.ConsolePort",
"IncludeInCommandLine":false,
"EnumValues":{}
},
{
"DisplayName":"Server Name",
"Category":"Server Settings",
"Description":"The name of the server as it appears publicly",
"Keywords":"name,servername",
"FieldName":"ServerName",
"InputType":"text",
"IsFlagArgument":false,
"ParamFieldName":"/Script/Astro.AstroServerSettings.ServerName",
"IncludeInCommandLine":false,
"DefaultValue":"Astroneer Server - Powered by AMP",
"EnumValues":{}
},
{
"DisplayName":"Server Password",
"Category":"Server Settings",
"Description":"Password required to connect to the server. Default is no password",
"Keywords":"password,serverpassword",
"FieldName":"ServerPassword",
"InputType":"password",
"IsFlagArgument":false,
"ParamFieldName":"/Script/Astro.AstroServerSettings.ServerPassword",
"IncludeInCommandLine":false,
"DefaultValue":"",
"EnumValues":{}
},
{
"DisplayName":"Console Password",
"Category":"Server Settings",
"Description":"Password required to connect to the server's RCON (raw TCP socket). Default is a strong random password",
"Keywords":"console,password,rcon,consolepassword",
"FieldName":"ConsolePassword",
"InputType":"password",
"IsFlagArgument":false,
"ParamFieldName":"/Script/Astro.AstroServerSettings.ConsolePassword",
"IncludeInCommandLine":false,
"DefaultValue":"{{newguid()}}",
"EnumValues":{}
},
{
"DisplayName":"Owner Name",
"Category":"Server Settings",
"Description":"Steam name of the server owner (admin)",
"Keywords":"owner,name,ownername",
"FieldName":"OwnerName",
"InputType":"text",
"IsFlagArgument":false,
"ParamFieldName":"/Script/Astro.AstroServerSettings.OwnerName",
"IncludeInCommandLine":false,
"DefaultValue":"",
"EnumValues":{}
},
{
"DisplayName":"Player Limit",
"Category":"Server Settings",
"Description":"Maximum number of players that may connect to the server at one time",
"Keywords":"players,limit,maxplayers",
"FieldName":"$MaxUsers",
"InputType":"number",
"MinValue":"2",
"MaxValue":"8",
"IsFlagArgument":false,
"ParamFieldName":"/Script/Astro.AstroGameUserSettings.MaxPlayers",
"IncludeInCommandLine":false,
"DefaultValue":"8",
"Placeholder":"8",
"Suffix":"players",
"EnumValues":{}
},
{
"DisplayName":"Game Save Interval",
"Category":"Server Settings",
"Description":"The interval between automatic server saves",
"Keywords":"autosave,save,interval,autosavegameinterval",
"FieldName":"AutoSaveGameInterval",
"InputType":"number",
"IsFlagArgument":false,
"ParamFieldName":"/Script/Astro.AstroServerSettings.AutoSaveGameInterval",
"IncludeInCommandLine":false,
"DefaultValue":"900",
"Placeholder":"900",
"Suffix":"seconds",
"EnumValues":{}
},
{
"DisplayName":"Backup Save Interval",
"Category":"Server Settings",
"Description":"The interval between automatic server backups",
"Keywords":"backup,interval,backupsavegamesinterval",
"FieldName":"BackupSaveGamesInterval",
"InputType":"number",
"IsFlagArgument":false,
"ParamFieldName":"/Script/Astro.AstroServerSettings.BackupSaveGamesInterval",
"IncludeInCommandLine":false,
"DefaultValue":"7200",
"Placeholder":"7200",
"Suffix":"seconds",
"EnumValues":{}
},
{
"DisplayName":"Enable Whitelist",
"Category":"Server Settings",
"Description":"If enabled, unlisted players will not be able to connect",
"Keywords":"deny,unlisted,denyunlistedplayers",
"FieldName":"DenyUnlistedPlayers",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"/Script/Astro.AstroServerSettings.DenyUnlistedPlayers",
"IncludeInCommandLine":false,
"DefaultValue":"False",
"EnumValues":{
"False":"False",
"True":"True"
}
},
{
"DisplayName":"Maximum Active Server Framerate",
"Category":"Server Settings",
"Description":"The maximum framerate that the server will allow when active",
"Keywords":"fps,framerate,active,maxserverframerate",
"FieldName":"MaxServerFramerate",
"InputType":"number",
"IsFlagArgument":false,
"ParamFieldName":"/Script/Astro.AstroServerSettings.MaxServerFramerate",
"IncludeInCommandLine":false,
"DefaultValue":"30.000000",
"Placeholder":"30.000000",
"Suffix":"fps",
"EnumValues":{}
},
{
"DisplayName":"Maximum Idle Server Framerate",
"Category":"Server Settings",
"Description":"The maximum framerate that the server will allow when idle",
"Keywords":"fps,framerate,idle,maxserveridleframerate",
"FieldName":"MaxServerIdleFramerate",
"InputType":"number",
"IsFlagArgument":false,
"ParamFieldName":"/Script/Astro.AstroServerSettings.MaxServerIdleFramerate",
"IncludeInCommandLine":false,
"DefaultValue":"3.000000",
"Placeholder":"3.000000",
"Suffix":"fps",
"EnumValues":{}
}
]
[
{
"DisplayName":"Public IP",
"Category":"Server Settings",
"Description":"",
"Keywords":"",
"FieldName":"$ExternalIP",
"InputType":"text",
"Hidden":true,
"IsFlagArgument":false,
"ParamFieldName":"/Script/Astro.AstroServerSettings.PublicIP",
"IncludeInCommandLine":false,
"EnumValues":{}
},
{
"DisplayName":"Server Port",
"Category":"Server Settings",
"Description":"",
"Keywords":"",
"FieldName":"$ApplicationPort1",
"InputType":"number",
"Hidden":true,
"IsFlagArgument":false,
"ParamFieldName":"URL.Port",
"IncludeInCommandLine":false,
"EnumValues":{}
},
{
"DisplayName":"Console Port",
"Category":"Server Settings",
"Description":"",
"Keywords":"",
"FieldName":"$RemoteAdminPort",
"InputType":"number",
"Hidden":true,
"IsFlagArgument":false,
"ParamFieldName":"/Script/Astro.AstroServerSettings.ConsolePort",
"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",
"Description":"The name of the server as it appears publicly",
"Keywords":"name,servername",
"FieldName":"ServerName",
"InputType":"text",
"IsFlagArgument":false,
"ParamFieldName":"/Script/Astro.AstroServerSettings.ServerName",
"IncludeInCommandLine":false,
"DefaultValue":"Astroneer Server - Powered by AMP",
"EnumValues":{}
},
{
"DisplayName":"Server Password",
"Category":"Server Settings",
"Description":"Password required to connect to the server. Default is no password",
"Keywords":"password,serverpassword",
"FieldName":"ServerPassword",
"InputType":"password",
"IsFlagArgument":false,
"ParamFieldName":"/Script/Astro.AstroServerSettings.ServerPassword",
"IncludeInCommandLine":false,
"DefaultValue":"",
"EnumValues":{}
},
{
"DisplayName":"Console Password",
"Category":"Server Settings",
"Description":"Password required to connect to the server's RCON (raw TCP socket). Default is a strong random password",
"Keywords":"console,password,rcon,consolepassword",
"FieldName":"ConsolePassword",
"InputType":"password",
"IsFlagArgument":false,
"ParamFieldName":"/Script/Astro.AstroServerSettings.ConsolePassword",
"IncludeInCommandLine":false,
"DefaultValue":"{{newguid()}}",
"EnumValues":{}
},
{
"DisplayName":"Owner Name",
"Category":"Server Settings",
"Description":"Steam name of the server owner (admin)",
"Keywords":"owner,name,ownername",
"FieldName":"OwnerName",
"InputType":"text",
"IsFlagArgument":false,
"ParamFieldName":"/Script/Astro.AstroServerSettings.OwnerName",
"IncludeInCommandLine":false,
"DefaultValue":"",
"EnumValues":{}
},
{
"DisplayName":"Player Limit",
"Category":"Server Settings",
"Description":"Maximum number of players that may connect to the server at one time",
"Keywords":"players,limit,maxplayers",
"FieldName":"$MaxUsers",
"InputType":"number",
"MinValue":"2",
"MaxValue":"8",
"IsFlagArgument":false,
"ParamFieldName":"/Script/Astro.AstroGameUserSettings.MaxPlayers",
"IncludeInCommandLine":false,
"DefaultValue":"8",
"Placeholder":"8",
"Suffix":"players",
"EnumValues":{}
},
{
"DisplayName":"Game Save Interval",
"Category":"Server Settings",
"Description":"The interval between automatic server saves",
"Keywords":"autosave,save,interval,autosavegameinterval",
"FieldName":"AutoSaveGameInterval",
"InputType":"number",
"IsFlagArgument":false,
"ParamFieldName":"/Script/Astro.AstroServerSettings.AutoSaveGameInterval",
"IncludeInCommandLine":false,
"DefaultValue":"900",
"Placeholder":"900",
"Suffix":"seconds",
"EnumValues":{}
},
{
"DisplayName":"Backup Save Interval",
"Category":"Server Settings",
"Description":"The interval between automatic server backups",
"Keywords":"backup,interval,backupsavegamesinterval",
"FieldName":"BackupSaveGamesInterval",
"InputType":"number",
"IsFlagArgument":false,
"ParamFieldName":"/Script/Astro.AstroServerSettings.BackupSaveGamesInterval",
"IncludeInCommandLine":false,
"DefaultValue":"7200",
"Placeholder":"7200",
"Suffix":"seconds",
"EnumValues":{}
},
{
"DisplayName":"Enable Whitelist",
"Category":"Server Settings",
"Description":"If enabled, unlisted players will not be able to connect",
"Keywords":"deny,unlisted,denyunlistedplayers",
"FieldName":"DenyUnlistedPlayers",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"/Script/Astro.AstroServerSettings.DenyUnlistedPlayers",
"IncludeInCommandLine":false,
"DefaultValue":"False",
"EnumValues":{
"False":"False",
"True":"True"
}
},
{
"DisplayName":"Maximum Active Server Framerate",
"Category":"Server Settings",
"Description":"The maximum framerate that the server will allow when active",
"Keywords":"fps,framerate,active,maxserverframerate",
"FieldName":"MaxServerFramerate",
"InputType":"number",
"IsFlagArgument":false,
"ParamFieldName":"/Script/Astro.AstroServerSettings.MaxServerFramerate",
"IncludeInCommandLine":false,
"DefaultValue":"30.000000",
"Placeholder":"30.000000",
"Suffix":"fps",
"EnumValues":{}
},
{
"DisplayName":"Maximum Idle Server Framerate",
"Category":"Server Settings",
"Description":"The maximum framerate that the server will allow when idle",
"Keywords":"fps,framerate,idle,maxserveridleframerate",
"FieldName":"MaxServerIdleFramerate",
"InputType":"number",
"IsFlagArgument":false,
"ParamFieldName":"/Script/Astro.AstroServerSettings.MaxServerIdleFramerate",
"IncludeInCommandLine":false,
"DefaultValue":"3.000000",
"Placeholder":"3.000000",
"Suffix":"fps",
"EnumValues":{}
}
]

View File

@ -1,20 +1,20 @@
[
{
"ConfigFile": "Astro/Saved/Config/WindowsServer/AstroServerSettings.ini",
"AutoMap": true,
"ConfigType": "ini",
"ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$"
},
{
"ConfigFile": "Astro/Saved/Config/WindowsServer/GameUserSettings.ini",
"AutoMap": true,
"ConfigType": "ini",
"ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$"
},
{
"ConfigFile": "Astro/Saved/Config/WindowsServer/Engine.ini",
"AutoMap": true,
"ConfigType": "ini",
"ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$"
}
]
[
{
"ConfigFile": "Astro/Saved/Config/WindowsServer/AstroServerSettings.ini",
"AutoMap": true,
"ConfigType": "ini",
"ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$"
},
{
"ConfigFile": "Astro/Saved/Config/WindowsServer/GameUserSettings.ini",
"AutoMap": true,
"ConfigType": "ini",
"ConfigFormatRegex": "^(?<key>.+?)=(?<value>.*?)$"
},
{
"ConfigFile": "Astro/Saved/Config/WindowsServer/Engine.ini",
"AutoMap": true,
"ConfigType": "ini",
"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'"
}
]