Satisfactory: various updates (#420)

This commit is contained in:
Greelan 2023-07-17 17:33:16 +10:00 committed by GitHub
parent 6c303ec80f
commit d770df1024
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 285 additions and 48 deletions

View File

@ -1,42 +1,100 @@
App.AdminMethod=STDIO Meta.DisplayName=Satisfactory
App.ApplicationPort1=7777 Meta.Description=Satisfactory Dedicated Server
App.ApplicationPort2=15000 Meta.OS=Windows, Linux
App.ApplicationPort3=15777 Meta.AarchSupport=Unknown
App.RemoteAdminPort=0 Meta.Arch=x86_64
App.ApplicationReadyMode=RegexMatch Meta.Author=Greelan, CubeCoders Limited
App.BaseDirectory=./satisfactory/1690800/ Meta.URL=https://www.satisfactorygame.com/
App.WindowsCommandLineArgs=FactoryGame -log -unattended Meta.DisplayImageSource=steam:526870
App.LinuxCommandLineArgs=FactoryGame -log -unattended Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$ApplicationPort3}
App.CommandLineArgs={{$PlatformArgs}} -MultiHome={{$ApplicationIPBinding}} ?listen -Port={{$ApplicationPort1}} -BeaconPort={{$ApplicationPort2}} -ServerQueryPort={{$ApplicationPort3}} {{$FormattedArgs}} Meta.ConfigManifest=satisfactoryconfig.json
App.CommandLineParameterDelimiter= Meta.MetaConfigManifest=satisfactorymetaconfig.json
App.CommandLineParameterFormat=-{0}="{1}" Meta.ConfigRoot=satisfactory.kvp
Meta.MinAMPVersion=2.3.4.0
Meta.SpecificDockerImage=
Meta.DockerRequired=False
Meta.ContainerPolicy=Supported
Meta.ContainerPolicyReason=
Meta.ExtraSetupStepsURI=
Meta.Prerequsites=[]
Meta.ExtraContainerPackages=[]
Meta.ConfigReleaseState=NotSpecified
Meta.NoCommercialUsage=False
Meta.ConfigVersion=0.0.0.0
Meta.ReleaseNotes=
Meta.BreakingReleaseNotes=
App.DisplayName=Satisfactory App.DisplayName=Satisfactory
App.EnvironmentVariables={"LD_LIBRARY_PATH": "{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%", "SteamAppId": "526870"} App.RootDir=./satisfactory/
App.ExecutableLinux=1690800/Engine/Binaries/Linux/UE4Server-Linux-Shipping App.BaseDirectory=./satisfactory/1690800/
App.SteamWorkshopDownloadLocation=
App.ExecutableWin=1690800\Engine\Binaries\Win64\UE4Server-Win64-Shipping.exe App.ExecutableWin=1690800\Engine\Binaries\Win64\UE4Server-Win64-Shipping.exe
App.ExecutableLinux=1690800/Engine/Binaries/Linux/UE4Server-Linux-Shipping
App.WorkingDir=1690800
App.LinuxCommandLineArgs=
App.WindowsCommandLineArgs=
App.CommandLineArgs={{$PlatformArgs}} FactoryGame -MultiHome={{$ApplicationIPBinding}} -Port={{$ApplicationPort1}} -BeaconPort={{$ApplicationPort2}} -ServerQueryPort={{$ApplicationPort3}} {{$FormattedArgs}} -log -unattended
App.UseLinuxIOREDIR=False
App.AppSettings={}
App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"526870"}
App.CommandLineParameterFormat=-{0}={1}
App.CommandLineParameterDelimiter=
App.ExitMethod=OS_CLOSE App.ExitMethod=OS_CLOSE
App.ExitTimeout=10 App.ExitTimeout=10
App.HasReadableConsole=true App.ExitString=stop
App.HasWritableConsole=true App.ExitFile=app_exit.lck
App.RapidStartup=false App.HasWriteableConsole=True
App.RootDir=./satisfactory/ App.HasReadableConsole=True
App.UpdateSource=Multi App.SupportsLiveSettingsChanges=False
App.LiveSettingChangeCommandFormat=set {0} "{1}"
App.ApplicationIPBinding=0.0.0.0
App.Ports=[{"Protocol":"UDP","Port":15777,"Offset":0,"Range":1,"Ref":"ApplicationPort3","Name":"Server Query Port","Description":"Port used to connect to server in-game","ChildPorts":null},{"Protocol":"UDP","Port":15000,"Offset":0,"Range":1,"Ref":"ApplicationPort2","Name":"Beacon Port","Description":"","ChildPorts":null},{"Protocol":"UDP","Port":7777,"Offset":0,"Range":1,"Ref":"ApplicationPort1","Name":"Game Port","Description":"Port for main game traffic","ChildPorts":null}]
App.AdminPortRef=0
App.PrimaryApplicationPortRef=ApplicationPort3
App.UniversalSleepApplicationUDPPortRef=ApplicationPort1
App.UniversalSleepSteamQueryPortRef=ApplicationPort3
App.MaxUsers=4
App.UseRandomAdminPassword=False
App.PersistRandomPassword=True
App.RemoteAdminPassword=
App.AdminMethod=STDIO
App.AdminLoginTransform=None
App.LoginTransformPrefix=
App.RCONConnectDelaySeconds=5
App.RCONConnectRetrySeconds=5
App.RCONHeartbeatMinutes=0
App.RCONHeartbeatCommand=ping
App.TelnetLoginFormat={0}
App.UpdateSources=@IncludeJson[satisfactoryupdates.json] App.UpdateSources=@IncludeJson[satisfactoryupdates.json]
App.WorkingDir=1690800 App.PreStartStages=[]
App.ForceUpdate=False
App.ForceUpdateReason=
App.Compatibility=None
App.SteamUpdateAnonymousLogin=True
App.SteamForceLoginPrompt=False
App.RapidStartup=False
App.MonitorChildProcess=False
App.DumpFullChildProcessTree=False
App.MonitorChildProcessWaitMs=100
App.MonitorChildProcessName=
App.SupportsUniversalSleep=False
App.WakeupMode=Any
App.ApplicationReadyMode=RegexMatch
App.TemplateMatchRegex={{(\$?[\w]+)}}
Console.FilterMatchRegex=^\[.+?\]\[.+?\] Console.FilterMatchRegex=^\[.+?\]\[.+?\]
Console.FilterMatchReplacement= Console.FilterMatchReplacement=
Console.AppReadyRegex=^LogWorld: Bringing up level for play took: [\d\.]+$|^LogInit: Display: Starting Game\.$
Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$
Console.UserChatRegex= Console.AppReadyRegex=^LogWorld: Bringing up level for play took: [\d\.]+|LogInit: Display: Starting Game\.$
Console.UserJoinRegex=^User (?<username>.+?) \((?<userid>-?d+)\) connected from \[::ffff:(?<endpoint>.+?)\]$ Console.UserJoinRegex=^User (?<username>.+?) \((?<userid>-?d+)\) connected from \[::ffff:(?<endpoint>.+?)\]$
Console.UserLeaveRegex=^User (?<username>.+?) \((?<userid>-?d+)\) disconnected\. Reason: (.+?)$ Console.UserLeaveRegex=^User (?<username>.+?) \((?<userid>-?d+)\) disconnected\. Reason: (.+?)$
Meta.Author=CubeCoders Limited Console.UserChatRegex=^$
Meta.ConfigRoot=satisfactory.kvp Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$
Meta.ConfigManifest=satisfactoryconfig.json Console.MetricsRegex=
Meta.Description= Console.SuppressLogAtStart=False
Meta.DisplayImageSource=steam:526870 Console.ActivateLogRegex=
Meta.DisplayName=Satisfactory Console.UserActions={}
Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort3} Limits.SleepMode=True
Meta.OS=3 Limits.SleepOnStart=False
Meta.URL=https://store.steampowered.com/app/526870/Satisfactory/ Limits.SleepDelayMinutes=5
Meta.MinAMPVersion=2.3.4.0 Limits.DozeDelay=2
Limits.AutoRetryCount=5
Limits.SleepStartThresholdSeconds=25

View File

@ -1,17 +1,173 @@
[ [
{ {
"DisplayName": "Server Release Stream", "DisplayName":"Player Limit",
"Description": "Which release stream should be used to Update the server", "Category":"Server Settings",
"Category": "SteamCMD and Updates", "Description":"Sets the maximum number of players that may connect to the server at one time",
"FieldName": "releasestream", "Keywords":"maximum,players,limit,maxplayers",
"ParamFieldName": "releasestream", "FieldName":"$MaxUsers",
"IncludeInCommandLine": false, "InputType":"number",
"InputType": "enum", "MinValue":"1",
"EnumValues": { "IsFlagArgument":false,
"public": "Early Access", "ParamFieldName":"ini:Game:[/Script/Engine.GameSession]:MaxPlayers",
"experimental": "Experimental" "IncludeInCommandLine":true,
"DefaultValue":"4",
"Placeholder":"4",
"Suffix":"players",
"EnumValues":{}
}, },
"DefaultValue": "public" {
"DisplayName":"Initial Connection Timeout",
"Category":"Server Settings",
"Description":"Sets the amount of time to wait for a new network connection to be established before destroying the connection. May assist with connection issues for client systems with older hardware or slower networks",
"Keywords":"initial,connect,connection,timeout,initialconnecttimeout",
"FieldName":"InitialConnectTimeout",
"InputType":"number",
"MinValue":"1",
"IsFlagArgument":false,
"ParamFieldName":"ini:Engine:[/Script/OnlineSubsystemUtils.IpNetDriver]:InitialConnectTimeout",
"IncludeInCommandLine":true,
"DefaultValue":"30",
"Placeholder":"30",
"Suffix":"seconds",
"EnumValues":{}
},
{
"DisplayName":"Established Connection Timeout",
"Category":"Server Settings",
"Description":"Sets the amount of time to wait before considering an established connection timed out. Typically shorter than the Initial Connection Timeout. May assist with connection issues for client systems with older hardware or slower networks",
"Keywords":"established,connection,timeout,connectiontimeout",
"FieldName":"ConnectionTimeout",
"InputType":"number",
"MinValue":"1",
"IsFlagArgument":false,
"ParamFieldName":"ini:Engine:[/Script/OnlineSubsystemUtils.IpNetDriver]:ConnectionTimeout",
"IncludeInCommandLine":true,
"DefaultValue":"20",
"Placeholder":"20",
"Suffix":"seconds",
"EnumValues":{}
},
{
"DisplayName":"Maximum Tick Rate",
"Category":"Server Settings",
"Description":"Sets the maximum tick rate for the server",
"Keywords":"maximum,tick,rate,netmaxtickrate,lanmaxtickrate",
"FieldName":"MaxTickRate",
"InputType":"number",
"MinValue":"1",
"IsFlagArgument":false,
"ParamFieldName":"ini:Engine:[/Script/OnlineSubsystemUtils.IpNetDriver]:NetServerMaxTickRate",
"IncludeInCommandLine":true,
"DefaultValue":"30",
"Placeholder":"30",
"Suffix":"ticks per second",
"EnumValues":{}
},
{
"DisplayName":"Maximum Tick Rate",
"Category":"Server Settings",
"Description":"",
"Keywords":"",
"FieldName":"MaxTickRate",
"InputType":"hidden",
"IsFlagArgument":false,
"ParamFieldName":"ini:Engine:[/Script/OnlineSubsystemUtils.IpNetDriver]:LanServerMaxTickRate",
"IncludeInCommandLine":true,
"EnumValues":{}
},
{
"DisplayName":"Maximum Tick Rate",
"Category":"Server Settings",
"Description":"",
"Keywords":"",
"FieldName":"MaxTickRate",
"InputType":"hidden",
"IsFlagArgument":false,
"ParamFieldName":"ini:Engine:[/Script/SocketSubsystemEpic.EpicNetDriver]:NetServerMaxTickRate",
"IncludeInCommandLine":true,
"EnumValues":{}
},
{
"DisplayName":"Maximum Tick Rate",
"Category":"Server Settings",
"Description":"",
"Keywords":"",
"FieldName":"MaxTickRate",
"InputType":"hidden",
"IsFlagArgument":false,
"ParamFieldName":"ini:Engine:[/Script/SocketSubsystemEpic.EpicNetDriver]:LanServerMaxTickRate",
"IncludeInCommandLine":true,
"EnumValues":{}
},
{
"DisplayName":"Maximum Tick Rate",
"Category":"Server Settings",
"Description":"",
"Keywords":"",
"FieldName":"MaxTickRate",
"InputType":"hidden",
"IsFlagArgument":false,
"ParamFieldName":"ini:Engine:[/Script/Engine.Engine]:NetClientTicksPerSecond",
"IncludeInCommandLine":true,
"EnumValues":{}
},
{
"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,multihome",
"FieldName":"MultiHome",
"InputType":"hidden",
"IsFlagArgument":false,
"ParamFieldName":"MultiHome",
"IncludeInCommandLine":false,
"EnumValues":{}
},
{
"DisplayName":"Maximum Autosaves",
"Category":"Server Settings",
"Description":"Sets the maximum number of autosaves created before rotation by the server",
"Keywords":"maximum,autosaves,rotation,mnumrotatingautosaves",
"FieldName":"mNumRotatingAutosaves",
"InputType":"number",
"MinValue":"1",
"IsFlagArgument":false,
"ParamFieldName":"ini:Engine:[/Script/FactoryGame.FGSaveSession]:mNumRotatingAutosaves",
"IncludeInCommandLine":true,
"DefaultValue":"3",
"Placeholder":"3",
"Suffix":"autosaves",
"EnumValues":{}
},
{
"DisplayName":"Enable Crash Reports Upload (Linux Only)",
"Category":"Server Settings",
"Description":"If enabled, crash reports will be automatically uploaded to the Satisfactory developers",
"Keywords":"crash,reports,upload,bimplicitsend",
"FieldName":"bImplicitSend",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"ini:Engine:[CrashReportClient]:bImplicitSend",
"IncludeInCommandLine":true,
"DefaultValue":"True",
"EnumValues":{
"False":"False",
"True":"True"
}
},
{
"DisplayName":"Server Release Stream",
"Category":"SteamCMD and Updates",
"Description":"Sets the server release stream to install. Note: Update the server after changing this setting",
"Keywords":"release,stream,beta,version",
"FieldName":"releasestream",
"InputType":"enum",
"ParamFieldName":"releasestream",
"IncludeInCommandLine":false,
"DefaultValue":"public",
"EnumValues":{
"public":"Public/Early Access (default)",
"experimental":"Experimental"
}
} }
] ]

View File

@ -0,0 +1 @@
[]

View File

@ -33,5 +33,27 @@
"OverwriteExistingFiles":true, "OverwriteExistingFiles":true,
"UpdateSourceConditionSetting":"releasestream", "UpdateSourceConditionSetting":"releasestream",
"UpdateSourceConditionValue":"experimental" "UpdateSourceConditionValue":"experimental"
},
{
"UpdateStageName":"Saves Directory Creation",
"UpdateSourcePlatform":"Linux",
"UpdateSource":"Executable",
"UpdateSourceData":"/bin/bash",
"UpdateSourceArgs":"-c 'mkdir -p ~/.config/Epic/FactoryGame/Saved/SaveGames ; mkdir -p \"{{$FullBaseDir}}FactoryGame/Saved\" ; ln -sf ~/.config/Epic/FactoryGame/Saved/SaveGames \"{{$FullBaseDir}}FactoryGame/Saved/\"'"
},
{
"UpdateStageName":"Saves Directory Creation",
"UpdateSourcePlatform":"Windows",
"UpdateSource":"Executable",
"UpdateSourceData":"cmd.exe",
"UpdateSourceArgs":"/C mkdir \"%LocalAppData%\\FactoryGame\\Saved\\SaveGames\" & mkdir \"{{$FullBaseDir}}FactoryGame\\Saved\" & mklink /J \"{{$FullBaseDir}}FactoryGame\\Saved\\SaveGames\" \"%LocalAppData%\\FactoryGame\\Saved\\SaveGames\""
},
{
"UpdateStageName":"Create Readme File",
"UpdateSourcePlatform":"All",
"UpdateSource":"CreateFile",
"UpdateSourceArgs":"{{$FullBaseDir}}FactoryGame/Saved/SaveGames/README.txt",
"UpdateSourceData":"WARNING: This directory may include the save data of multiple Satisfactory servers\nrun on this system.\n\nIf viewing this directory from AMPs ADS File Manager/SFTP, you will see the\nsave data of all Satisfactory servers run on this system, other than those run by\nAMP in Docker.\n\nYou will see the same save data if viewing this directory from AMPs File Manager/SFTP\nfor a particular Satisfactory instance that is NOT run in Docker.\n\nIf viewing this directory from AMPs File Manager/SFTP for a particular Satisfactory\ninstance that IS run in Docker, you will only see the save data of that instance.\n\nYou can also use the ADS File Manager/SFTP to view the save data of a Satisfactory\ninstance that is run in Docker by navigating to the following directory in the\ninstances datastore: .virtualhome/.config/Epic/FactoryGame/Saved/SaveGames.\n\nThe save data for a specific instance is linked to its port (as part of the\nServerSettings file name) and its session name (as part of the autosave file names\nin the server subdirectory).\n\nSave data will not be automatically deleted when a non-Docker Satisfactory server is\nremoved, so you may need to delete the ServerSettings file and/or autosave files\nif later creating a new Satisfactory server with the same port and/or session name.\n\nTake care when managing files in this directory or its subdirectory!",
"OverwriteExistingFiles":true
} }
] ]