Add Sons of the Forest (#406)
* Add Sons of the Forest This adds Sons of the Forest. There are no known limitations, but one bug with the game server that if the ports aren't declared as command line args, it fails to start since the ports are not able to be read from the config file. This template caters to both so it should not be an issue. * Update sons-of-the-forestupdates.json * Update sons-of-the-forest.kvp * Update sons-of-the-forestconfig.json * Update sons-of-the-forest.kvp * Update sons-of-the-forestconfig.json * Update sons-of-the-forestconfig.json * Update sons-of-the-forestconfig.json * Update sons-of-the-forestconfig.json * Update sons-of-the-forestconfig.json * Update sons-of-the-forestconfig.json * Update sons-of-the-forestconfig.json --------- Co-authored-by: Greelan <53196309+Greelan@users.noreply.github.com>
This commit is contained in:
parent
440daf46e2
commit
5971d1851a
90
sons-of-the-forest.kvp
Normal file
90
sons-of-the-forest.kvp
Normal file
@ -0,0 +1,90 @@
|
||||
Meta.DisplayName=Sons Of The Forest
|
||||
Meta.Description=Sons Of The Forest Dedicated Server
|
||||
Meta.OS=Windows, Linux
|
||||
Meta.AarchSupport=Unknown
|
||||
Meta.Arch=x86_64
|
||||
Meta.Author=IceOfWraith
|
||||
Meta.URL=https://store.steampowered.com/app/1326470/Sons_Of_The_Forest/
|
||||
Meta.DisplayImageSource=steam:1326470
|
||||
Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$SteamQueryPort}
|
||||
Meta.ConfigManifest=sons-of-the-forestconfig.json
|
||||
Meta.MetaConfigManifest=sons-of-the-forestmetaconfig.json
|
||||
Meta.ConfigRoot=sons-of-the-forest.kvp
|
||||
Meta.MinAMPVersion=2.4.5.0
|
||||
Meta.SpecificDockerImage=cubecoders/ampbase:wine8
|
||||
Meta.DockerRequired=False
|
||||
Meta.ContainerPolicy=RecommendedOnLinux
|
||||
Meta.ContainerPolicyReason=The server requires Wine 8 (or later) and Xvfb to run on Linux. Using a container avoids the need to install these dependencies on the host.
|
||||
Meta.ConfigReleaseState=NotSpecified
|
||||
Meta.NoCommercialUsage=False
|
||||
App.DisplayName=Sons Of The Forest
|
||||
App.RootDir=./sons-of-the-forest/
|
||||
App.BaseDirectory=./sons-of-the-forest/2465200/
|
||||
App.SteamWorkshopDownloadLocation=
|
||||
App.ExecutableWin=2465200\SonsOfTheForestDS.exe
|
||||
App.ExecutableLinux=/usr/bin/xvfb-run
|
||||
App.WorkingDir=2465200
|
||||
App.LinuxCommandLineArgs=-a wine "./SonsOfTheForestDS.exe"
|
||||
App.WindowsCommandLineArgs=
|
||||
App.CommandLineArgs={{$PlatformArgs}} -dedicatedserver.IpAddress "{{$ApplicationIPBinding}}" -dedicatedserver.GamePort "{{$GamePort}}" -dedicatedserver.QueryPort "{{$SteamQueryPort}}" -dedicatedserver.BlobSyncPort "{{$BlobSyncPort}}" -userdatapath "{{$FullBaseDir}}saves" {{$FormattedArgs}}
|
||||
App.UseLinuxIOREDIR=False
|
||||
App.EnvironmentVariables={"LD_LIBRARY_PATH":"./linux64:%LD_LIBRARY_PATH%","SteamAppId":"1326470","WINEPREFIX":"{{$FullRootDir}}.wine","WINEARCH":"win64","WINEDEBUG":"-all"}
|
||||
App.CommandLineParameterFormat=-{0} "{1}"
|
||||
App.CommandLineParameterDelimiter=
|
||||
App.ExitMethod=OS_CLOSE
|
||||
App.ExitTimeout=30
|
||||
App.ExitString=stop
|
||||
App.ExitFile=app_exit.lck
|
||||
App.HasWriteableConsole=True
|
||||
App.HasReadableConsole=True
|
||||
App.SupportsLiveSettingsChanges=False
|
||||
App.LiveSettingChangeCommandFormat=set {0} "{1}"
|
||||
App.ApplicationIPBinding=0.0.0.0
|
||||
App.Ports=@IncludeJson[sons-of-the-forestports.json]
|
||||
App.AdminPortRef=0
|
||||
App.PrimaryApplicationPortRef=GamePort
|
||||
App.UniversalSleepApplicationUDPPortRef=GamePort
|
||||
App.UniversalSleepSteamQueryPortRef=SteamQueryPort
|
||||
App.MaxUsers=8
|
||||
App.UseRandomAdminPassword=True
|
||||
App.PersistRandomPassword=False
|
||||
App.RemoteAdminPassword=
|
||||
App.AdminMethod=STDIO
|
||||
App.AdminLoginTransform=None
|
||||
App.LoginTransformPrefix=
|
||||
App.RCONConnectDelaySeconds=30
|
||||
App.RCONConnectRetrySeconds=15
|
||||
App.RCONHeartbeatMinutes=0
|
||||
App.RCONHeartbeatCommand=ping
|
||||
App.TelnetLoginFormat={0}
|
||||
App.UpdateSources=@IncludeJson[sons-of-the-forestupdates.json]
|
||||
App.PreStartStages=[]
|
||||
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
|
||||
App.TemplateMatchRegex={{(\$?[\w]+)}}
|
||||
Console.FilterMatchRegex=
|
||||
Console.FilterMatchReplacement=
|
||||
Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+|Couldn't create a Convex Mesh from source mesh.*|No mesh data available for mesh.*|ALSA lib.*$
|
||||
Console.AppReadyRegex=^Game Activation Sequence step 7 : End of Sequence|\[Self-Tests\] Please restart the server.$
|
||||
Console.UserJoinRegex=^ValidateAuthTicketResponse success for (?<userid>.+?)$
|
||||
Console.UserLeaveRegex=^Unregistering client 2 with steam id (?<userid>.+?)$
|
||||
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={}
|
||||
Limits.SleepMode=True
|
||||
Limits.SleepOnStart=False
|
||||
Limits.SleepDelayMinutes=5
|
||||
Limits.DozeDelay=2
|
||||
Limits.AutoRetryCount=5
|
||||
Limits.SleepStartThresholdSeconds=25
|
580
sons-of-the-forestconfig.json
Normal file
580
sons-of-the-forestconfig.json
Normal file
@ -0,0 +1,580 @@
|
||||
[
|
||||
{
|
||||
"DisplayName": "GamePort",
|
||||
"Category": "Server Settings",
|
||||
"Description": "UDP port used for gameplay netcode (Bolt).",
|
||||
"Keywords": "",
|
||||
"FieldName": "$GamePort",
|
||||
"InputType": "number",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.GamePort",
|
||||
"IncludeInCommandLine": false,
|
||||
"Hidden": true,
|
||||
"EnumValues": {}
|
||||
},
|
||||
{
|
||||
"DisplayName": "QueryPort",
|
||||
"Category": "Server Settings",
|
||||
"Description": "UDP port used by Steam to list the server and enable the discovery services.",
|
||||
"Keywords": "",
|
||||
"FieldName": "$SteamQueryPort",
|
||||
"InputType": "number",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.QueryPort",
|
||||
"IncludeInCommandLine": false,
|
||||
"Hidden": true,
|
||||
"EnumValues": {}
|
||||
},
|
||||
{
|
||||
"DisplayName": "BlobSyncPort",
|
||||
"Category": "Server Settings",
|
||||
"Description": "BlobSyncPort UDP port used by the BlobSync system to initialize game systems and exchange data.",
|
||||
"Keywords": "",
|
||||
"FieldName": "$BlobSyncPort",
|
||||
"InputType": "number",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.BlobSyncPort",
|
||||
"IncludeInCommandLine": false,
|
||||
"Hidden": true,
|
||||
"EnumValues": {}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Server Name",
|
||||
"Category": "SotF - Server Settings",
|
||||
"Description": "Name of the server visible in the server list, and in the Steam contacts.",
|
||||
"Keywords": "server,name",
|
||||
"FieldName": "ServerName",
|
||||
"InputType": "text",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.ServerName",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "AMP Powered Sons Of The Forest Server",
|
||||
"Placeholder": "AMP Powered Sons Of The Forest Server",
|
||||
"EnumValues": {}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Max Players",
|
||||
"Category": "SotF - Server Settings",
|
||||
"Description": "The maximum number of players allowed simultaneously on the server.",
|
||||
"Keywords": "max,players",
|
||||
"FieldName": "$MaxUsers",
|
||||
"InputType": "number",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.MaxPlayers",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "8",
|
||||
"Placeholder": "8",
|
||||
"Suffix": "players",
|
||||
"EnumValues": {}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Password",
|
||||
"Category": "SotF - Server Settings",
|
||||
"Description": "Adds a password to make your server \"private\". Upon connection, this password will be requested before the client can proceed.",
|
||||
"Keywords": "password",
|
||||
"FieldName": "Password",
|
||||
"InputType": "password",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.Password",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "",
|
||||
"EnumValues": {}
|
||||
},
|
||||
{
|
||||
"DisplayName": "LAN Only",
|
||||
"Category": "SotF - Server Settings",
|
||||
"Description": "Allows or restricts the server visibility to LAN only.",
|
||||
"Keywords": "lan,only",
|
||||
"FieldName": "LanOnly",
|
||||
"InputType": "checkbox",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.LanOnly",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "false",
|
||||
"EnumValues": {
|
||||
"True": "true",
|
||||
"False": "false"
|
||||
}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Save Slot",
|
||||
"Category": "SotF - Server Settings",
|
||||
"Description": "When creating a new save, this number will be the id of the save.",
|
||||
"Keywords": "save,slot",
|
||||
"FieldName": "SaveSlot",
|
||||
"InputType": "number",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.SaveSlot",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "1",
|
||||
"Placeholder": "1",
|
||||
"EnumValues": {}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Save Mode",
|
||||
"Category": "SotF - Server Settings",
|
||||
"Description": "\"Continue\" will create a new save if it doesn’t exist, or load it if it exists. \"New\" will create a new game and overwrite any game save on the SaveSlot. The save will be overwritten as long as the mode is set to \"New\".",
|
||||
"Keywords": "save,mode",
|
||||
"FieldName": "SaveMode",
|
||||
"InputType": "enum",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.SaveMode",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "continue",
|
||||
"EnumValues": {
|
||||
"Continue": "Continue",
|
||||
"New": "New"
|
||||
}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Game Mode",
|
||||
"Category": "SotF - Server Settings",
|
||||
"Description": "Sets the game mode when creating a new save. This is ignored if loading a save. If set to \"custom\", the custom game mode settings will be read from \"SotF - Game Settings\".",
|
||||
"Keywords": "game,mode",
|
||||
"FieldName": "GameMode",
|
||||
"InputType": "enum",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.GameMode",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "normal",
|
||||
"EnumValues": {
|
||||
"Normal": "Normal",
|
||||
"Hard": "Hard",
|
||||
"Hardsurvival": "Hard Survival",
|
||||
"Peaceful": "Peaceful",
|
||||
"Custom": "Custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Save Interval",
|
||||
"Category": "SotF - Server Settings",
|
||||
"Description": "How often the game server automatically saves the game to SaveSlot, in seconds.",
|
||||
"Keywords": "save,interval",
|
||||
"FieldName": "SaveInterval",
|
||||
"InputType": "number",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.SaveInterval",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "600",
|
||||
"Placeholder": "600",
|
||||
"Suffix": "seconds",
|
||||
"EnumValues": {}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Idle Day Cycle Speed",
|
||||
"Category": "SotF - Server Settings",
|
||||
"Description": "A multiplier to how quickly the time passes compared to normal gameplay when the server is considered idle (no player connected).",
|
||||
"Keywords": "idle,day,cycle,speed",
|
||||
"FieldName": "IdleDayCycleSpeed",
|
||||
"InputType": "number",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.IdleDayCycleSpeed",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "0.0",
|
||||
"Placeholder": "0.0",
|
||||
"Suffix": "multiplier",
|
||||
"EnumValues": {}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Idle Target Framerate",
|
||||
"Category": "SotF - Server Settings",
|
||||
"Description": "Target framerate of the server when it’s considered idle (no player connected).",
|
||||
"Keywords": "idle,target,framerate",
|
||||
"FieldName": "IdleTargetFramerate",
|
||||
"InputType": "number",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.IdleTargetFramerate",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "5",
|
||||
"Placeholder": "5",
|
||||
"Suffix": "fps",
|
||||
"EnumValues": {}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Active Target Framerate",
|
||||
"Category": "SotF - Server Settings",
|
||||
"Description": "Target framerate of the server when it’s NOT considered idle (one or more player connected).",
|
||||
"Keywords": "active,target,framerate",
|
||||
"FieldName": "ActiveTargetFramerate",
|
||||
"InputType": "number",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.ActiveTargetFramerate",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "60",
|
||||
"Placeholder": "60",
|
||||
"Suffix": "fps",
|
||||
"EnumValues": {}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Log Files Enabled",
|
||||
"Category": "SotF - Server Settings",
|
||||
"Description": "Defines if the logs will be written to files.",
|
||||
"Keywords": "log,files,enabled",
|
||||
"FieldName": "LogFilesEnabled",
|
||||
"InputType": "checkbox",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.LogFilesEnabled",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "true",
|
||||
"EnumValues": {
|
||||
"True": "true",
|
||||
"False": "false"
|
||||
}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Timestamp Log Filenames",
|
||||
"Category": "SotF - Server Settings",
|
||||
"Description": "Every server start will create a new timestamped file. If disabled, the previous log will be overwritten.",
|
||||
"Keywords": "timestamp,log,filenames",
|
||||
"FieldName": "TimestampLogFilenames",
|
||||
"InputType": "checkbox",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.TimestampLogFilenames",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "true",
|
||||
"EnumValues": {
|
||||
"True": "true",
|
||||
"False": "false"
|
||||
}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Timestamp Log Entries",
|
||||
"Category": "SotF - Server Settings",
|
||||
"Description": "Enables each log entry written to file to be timestamped.",
|
||||
"Keywords": "timestamp,log,entries",
|
||||
"FieldName": "TimestampLogEntries",
|
||||
"InputType": "checkbox",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.TimestampLogEntries",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "true",
|
||||
"EnumValues": {
|
||||
"True": "true",
|
||||
"False": "false"
|
||||
}
|
||||
},
|
||||
{
|
||||
"DisplayName":"Server Owners",
|
||||
"Category":"SotF - Server Settings",
|
||||
"Description":"Add the Steam64 IDs of every server owner, one steam id per line. Use # to comment out a line to keep track of SteamIDs. Include their name in the line above. [Find Steam64 IDs](https://steamidfinder.com/)",
|
||||
"Keywords":"server,owners,admins",
|
||||
"FieldName":"ServerOwners",
|
||||
"InputType":"list",
|
||||
"IsFlagArgument":false,
|
||||
"ParamFieldName":"ServerOwners",
|
||||
"IncludeInCommandLine":false,
|
||||
"DefaultValue":"",
|
||||
"Special":"listfile:./sons-of-the-forest/2465200/saves/ownerswhitelist.txt",
|
||||
"EnumValues": {}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Server IP Binding",
|
||||
"Category": "SotF - Server Settings",
|
||||
"Description": "If required, you can change the binding of the server to an internal interface IP by editing App.ApplicationIPBinding in GenericModule.kvp for the instance. Stop the instance (not just the server) first.",
|
||||
"Keywords": "binding,ip",
|
||||
"FieldName": "$ApplicationIPBinding",
|
||||
"InputType": "hidden",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.IpAddress",
|
||||
"IncludeInCommandLine": false,
|
||||
"EnumValues": {}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Game Mode Info",
|
||||
"Category": "SotF - Game Settings",
|
||||
"Description": "In order for these settings to take effect, you should choose \"Custom\" for the Gmae Mode in \"SotF - Server Settings\".",
|
||||
"Keywords": "game,mode,info",
|
||||
"FieldName": "GameModeInfo",
|
||||
"InputType": "hidden",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.GameModeInfo",
|
||||
"IncludeInCommandLine": false,
|
||||
"EnumValues": {}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Tree Regrowth",
|
||||
"Category": "SotF - Game Settings",
|
||||
"Description": "Enable automatic tree regrowth, triggered when sleeping.",
|
||||
"Keywords": "tree,regrowth",
|
||||
"FieldName": "TreeRegrowth",
|
||||
"InputType": "checkbox",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.GameSettings['Gameplay.TreeRegrowth']",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "true",
|
||||
"EnumValues": {
|
||||
"True": "true",
|
||||
"False": "false"
|
||||
}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Structure Damage",
|
||||
"Category": "SotF - Game Settings",
|
||||
"Description": "Allow buildings to be damaged.",
|
||||
"Keywords": "structure,damage",
|
||||
"FieldName": "StructureDamage",
|
||||
"InputType": "checkbox",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.GameSettings['Structure.Damage']",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "true",
|
||||
"EnumValues": {
|
||||
"True": "true",
|
||||
"False": "false"
|
||||
}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Enemy Spawn",
|
||||
"Category": "SotF - Game Settings",
|
||||
"Description": "Enable enemies spawning.",
|
||||
"Keywords": "enemy,spawn",
|
||||
"FieldName": "EnemySpawn",
|
||||
"InputType": "checkbox",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.CustomGameModeSettings['GameSetting.Vail.EnemySpawn']",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "true",
|
||||
"EnumValues": {
|
||||
"True": "true",
|
||||
"False": "false"
|
||||
}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Enemy Health",
|
||||
"Category": "SotF - Game Settings",
|
||||
"Description": "Adjust enemy starting health.",
|
||||
"Keywords": "enemy,health",
|
||||
"FieldName": "EnemyHealth",
|
||||
"InputType": "enum",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.CustomGameModeSettings['GameSetting.Vail.EnemyHealth']",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "Normal",
|
||||
"EnumValues": {
|
||||
"Low": "Low",
|
||||
"Normal": "Normal",
|
||||
"High": "High"
|
||||
}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Enemy Damage",
|
||||
"Category": "SotF - Game Settings",
|
||||
"Description": "Adjust damage enemies can do.",
|
||||
"Keywords": "enemy,damage",
|
||||
"FieldName": "EnemyDamage",
|
||||
"InputType": "enum",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.CustomGameModeSettings['GameSetting.Vail.EnemyDamage']",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "Normal",
|
||||
"EnumValues": {
|
||||
"Low": "Low",
|
||||
"Normal": "Normal",
|
||||
"High": "High"
|
||||
}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Enemy Armour",
|
||||
"Category": "SotF - Game Settings",
|
||||
"Description": "Adjust enemies armour strength.",
|
||||
"Keywords": "enemy,armour,armor",
|
||||
"FieldName": "EnemyArmour",
|
||||
"InputType": "enum",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.CustomGameModeSettings['GameSetting.Vail.EnemyArmour']",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "Normal",
|
||||
"EnumValues": {
|
||||
"Low": "Low",
|
||||
"Normal": "Normal",
|
||||
"High": "High"
|
||||
}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Enemy Aggression",
|
||||
"Category": "SotF - Game Settings",
|
||||
"Description": "Adjust enemy aggression level.",
|
||||
"Keywords": "enemy,aggression",
|
||||
"FieldName": "EnemyAggression",
|
||||
"InputType": "enum",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.CustomGameModeSettings['GameSetting.Vail.EnemyAggression']",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "Normal",
|
||||
"EnumValues": {
|
||||
"Low": "Low",
|
||||
"Normal": "Normal",
|
||||
"High": "High"
|
||||
}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Animal Spawn Rate",
|
||||
"Category": "SotF - Game Settings",
|
||||
"Description": "Adjust animal spawn rate.",
|
||||
"Keywords": "animal,spawn,rate",
|
||||
"FieldName": "AnimalSpawnRate",
|
||||
"InputType": "enum",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.CustomGameModeSettings['GameSetting.Vail.AnimalSpawnRate']",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "Normal",
|
||||
"EnumValues": {
|
||||
"Low": "Low",
|
||||
"Normal": "Normal",
|
||||
"High": "High"
|
||||
}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Starting Season",
|
||||
"Category": "SotF - Game Settings",
|
||||
"Description": "Set environmental starting season.",
|
||||
"Keywords": "starting,season",
|
||||
"FieldName": "StartingSeason",
|
||||
"InputType": "enum",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.CustomGameModeSettings['GameSetting.Environment.StartingSeason']",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "Spring",
|
||||
"EnumValues": {
|
||||
"Spring": "Spring",
|
||||
"Summer": "Summer",
|
||||
"Autumn": "Autumn",
|
||||
"Winter": "Winter"
|
||||
}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Season Length",
|
||||
"Category": "SotF - Game Settings",
|
||||
"Description": "Adjust season length.",
|
||||
"Keywords": "season,length",
|
||||
"FieldName": "SeasonLength",
|
||||
"InputType": "enum",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.CustomGameModeSettings['GameSetting.Environment.SeasonLength']",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "Default",
|
||||
"EnumValues": {
|
||||
"Short": "Short",
|
||||
"Default": "Default",
|
||||
"Long": "Long",
|
||||
"Realistic": "Realistic"
|
||||
}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Day Length",
|
||||
"Category": "SotF - Game Settings",
|
||||
"Description": "Adjust day length.",
|
||||
"Keywords": "day,length",
|
||||
"FieldName": "DayLength",
|
||||
"InputType": "enum",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.CustomGameModeSettings['GameSetting.Environment.DayLength']",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "Default",
|
||||
"EnumValues": {
|
||||
"Short": "Short",
|
||||
"Default": "Default",
|
||||
"Long": "Long",
|
||||
"Realistic": "Realistic"
|
||||
}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Precipitation Frequency",
|
||||
"Category": "SotF - Game Settings",
|
||||
"Description": "Adjust the frequency of rain and snow.",
|
||||
"Keywords": "precipitation,frequency",
|
||||
"FieldName": "PrecipitationFrequency",
|
||||
"InputType": "enum",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.CustomGameModeSettings['GameSetting.Environment.PrecipitationFrequency']",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "Default",
|
||||
"EnumValues": {
|
||||
"Low": "Low",
|
||||
"Default": "Default",
|
||||
"High": "High"
|
||||
}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Consumable Effects",
|
||||
"Category": "SotF - Game Settings",
|
||||
"Description": "Enable damage taken when low hydration and low fullness.",
|
||||
"Keywords": "consumable,effects",
|
||||
"FieldName": "ConsumableEffects",
|
||||
"InputType": "enum",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.CustomGameModeSettings['GameSetting.Survival.ConsumableEffects']",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "Normal",
|
||||
"EnumValues": {
|
||||
"Normal": "Normal",
|
||||
"Hard": "Hard"
|
||||
}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Player Stats Damage",
|
||||
"Category": "SotF - Game Settings",
|
||||
"Description": "Enable damage from each bad or rotten food and drink.",
|
||||
"Keywords": "player,stats,damage",
|
||||
"FieldName": "PlayerStatsDamage",
|
||||
"InputType": "enum",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.CustomGameModeSettings['GameSetting.Survival.PlayerStatsDamage']",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "Normal",
|
||||
"EnumValues": {
|
||||
"Off": "Off",
|
||||
"Normal": "Normal",
|
||||
"Hard": "Hard"
|
||||
}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Cold Penalties",
|
||||
"Category": "SotF - Game Settings",
|
||||
"Description": "Adjusts the severity that cold will affect health and stamina regeneration.",
|
||||
"Keywords": "cold,penalties",
|
||||
"FieldName": "ColdPenalties",
|
||||
"InputType": "enum",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.CustomGameModeSettings['GameSetting.Survival.ColdPenalties']",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "Normal",
|
||||
"EnumValues": {
|
||||
"Off": "Off",
|
||||
"Normal": "Normal",
|
||||
"Hard": "Hard"
|
||||
}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Reduced Food In Containers",
|
||||
"Category": "SotF - Game Settings",
|
||||
"Description": "Reduces the amount of food found in containers.",
|
||||
"Keywords": "reduced,food,in,containers",
|
||||
"FieldName": "ReducedFoodInContainers",
|
||||
"InputType": "checkbox",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.CustomGameModeSettings['GameSetting.Survival.ReducedFoodInContainers']",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "false",
|
||||
"EnumValues": {
|
||||
"True": "true",
|
||||
"False": "false"
|
||||
}
|
||||
},
|
||||
{
|
||||
"DisplayName": "Single Use Containers",
|
||||
"Category": "SotF - Game Settings",
|
||||
"Description": "Containers can only be opened once.",
|
||||
"Keywords": "single,use,containers",
|
||||
"FieldName": "SingleUseContainers",
|
||||
"InputType": "checkbox",
|
||||
"IsFlagArgument": false,
|
||||
"ParamFieldName": "$.CustomGameModeSettings['GameSetting.Survival.SingleUseContainers']",
|
||||
"IncludeInCommandLine": false,
|
||||
"DefaultValue": "false",
|
||||
"EnumValues": {
|
||||
"True": "true",
|
||||
"False": "false"
|
||||
}
|
||||
}
|
||||
]
|
41
sons-of-the-forestdedicatedserver.cfg
Normal file
41
sons-of-the-forestdedicatedserver.cfg
Normal file
@ -0,0 +1,41 @@
|
||||
{
|
||||
"IpAddress": "0.0.0.0",
|
||||
"GamePort": 8766,
|
||||
"QueryPort": 27016,
|
||||
"BlobSyncPort": 9700,
|
||||
"ServerName": "AMP Powered Sons Of The Forest Server",
|
||||
"MaxPlayers": 8,
|
||||
"Password": "",
|
||||
"LanOnly": false,
|
||||
"SaveSlot": 1,
|
||||
"SaveMode": "Continue",
|
||||
"GameMode": "Normal",
|
||||
"SaveInterval": 600,
|
||||
"IdleDayCycleSpeed": 0.0,
|
||||
"IdleTargetFramerate": 5,
|
||||
"ActiveTargetFramerate": 60,
|
||||
"LogFilesEnabled": false,
|
||||
"TimestampLogFilenames": true,
|
||||
"TimestampLogEntries": true,
|
||||
"GameSettings": {
|
||||
"Gameplay.TreeRegrowth": true,
|
||||
"Structure.Damage": true
|
||||
},
|
||||
"CustomGameModeSettings": {
|
||||
"GameSetting.Vail.EnemySpawn": true,
|
||||
"GameSetting.Vail.EnemyHealth": "Normal",
|
||||
"GameSetting.Vail.EnemyDamage": "Normal",
|
||||
"GameSetting.Vail.EnemyArmour": "Normal",
|
||||
"GameSetting.Vail.EnemyAggression": "Normal",
|
||||
"GameSetting.Vail.AnimalSpawnRate": "Normal",
|
||||
"GameSetting.Environment.StartingSeason": "Summer",
|
||||
"GameSetting.Environment.SeasonLength": "Default",
|
||||
"GameSetting.Environment.DayLength": "Default",
|
||||
"GameSetting.Environment.PrecipitationFrequency": "Default",
|
||||
"GameSetting.Survival.ConsumableEffects": "Normal",
|
||||
"GameSetting.Survival.PlayerStatsDamage": "Off",
|
||||
"GameSetting.Survival.ColdPenalties": "Off",
|
||||
"GameSetting.Survival.ReducedFoodInContainers": false,
|
||||
"GameSetting.Survival.SingleUseContainers": false
|
||||
}
|
||||
}
|
7
sons-of-the-forestmetaconfig.json
Normal file
7
sons-of-the-forestmetaconfig.json
Normal file
@ -0,0 +1,7 @@
|
||||
[
|
||||
{
|
||||
"ConfigFile": "saves/dedicatedserver.cfg",
|
||||
"AutoMap": true,
|
||||
"ConfigType": "json"
|
||||
}
|
||||
]
|
23
sons-of-the-forestports.json
Normal file
23
sons-of-the-forestports.json
Normal file
@ -0,0 +1,23 @@
|
||||
[
|
||||
{
|
||||
"Protocol": "UDP",
|
||||
"Port": "8766",
|
||||
"Name": "Game Port",
|
||||
"Description": "UDP port used for gameplay netcode (Bolt).",
|
||||
"Ref": "GamePort"
|
||||
},
|
||||
{
|
||||
"Protocol": "UDP",
|
||||
"Port": "27016",
|
||||
"Name": "Steam Query Port",
|
||||
"Description": "UDP port used by Steam to list the server and enable the discovery services.",
|
||||
"Ref": "SteamQueryPort"
|
||||
},
|
||||
{
|
||||
"Protocol": "UDP",
|
||||
"Port": "9700",
|
||||
"Name": "Blob Sync Port",
|
||||
"Description": "BlobSyncPort UDP port used by the BlobSync system to initialize game systems and exchange data.",
|
||||
"Ref": "BlobSyncPort"
|
||||
}
|
||||
]
|
41
sons-of-the-forestupdates.json
Normal file
41
sons-of-the-forestupdates.json
Normal file
@ -0,0 +1,41 @@
|
||||
[
|
||||
{
|
||||
"UpdateStageName": "SteamCMD Download",
|
||||
"UpdateSourcePlatform": "All",
|
||||
"UpdateSource": "SteamCMD",
|
||||
"UpdateSourceData": "2465200",
|
||||
"UpdateSourceArgs": "1326470",
|
||||
"UpdateSourceVersion": "",
|
||||
"UpdateSourceTarget": "",
|
||||
"UnzipUpdateSource": false,
|
||||
"OverwriteExistingFiles": false,
|
||||
"ForceDownloadPlatform": "Windows",
|
||||
"UpdateSourceConditionSetting": null,
|
||||
"UpdateSourceConditionValue": null,
|
||||
"DeleteAfterExtract": true,
|
||||
"OneShot": false
|
||||
},
|
||||
{
|
||||
"UpdateStageName":"Create Config Directory",
|
||||
"UpdateSourcePlatform":"All",
|
||||
"UpdateSource":"CreateDirectory",
|
||||
"UpdateSourceArgs":"{{$FullBaseDir}}saves",
|
||||
"OverwriteExistingFiles":false
|
||||
},
|
||||
{
|
||||
"UpdateStageName":"Base Config Download",
|
||||
"UpdateSourcePlatform":"All",
|
||||
"UpdateSource":"FetchURL",
|
||||
"UpdateSourceData":"https://github.com/CubeCoders/AMPTemplates/raw/main/sons-of-the-forestdedicatedserver.cfg",
|
||||
"UpdateSourceTarget":"{{$FullBaseDir}}saves",
|
||||
"UpdateSourceArgs":"dedicatedserver.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'"
|
||||
}
|
||||
]
|
Loading…
Reference in New Issue
Block a user