Add Open World (#459)

This commit is contained in:
Greelan 2023-09-16 07:23:11 +10:00 committed by GitHub
parent 2f4feff10a
commit 38ec53b7b7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 772 additions and 0 deletions

101
open-world.kvp Normal file
View File

@ -0,0 +1,101 @@
Meta.DisplayName=Open World - RimWorld Server
Meta.Description=Open World - a free multiplayer mod for RimWorld
Meta.OS=Windows, Linux
Meta.AarchSupport=Native
Meta.Arch=All
Meta.Author=Greelan
Meta.URL=https://github.com/D12-Dev/OpenWorld
Meta.DisplayImageSource=steam:294100
Meta.EndpointURIFormat=
Meta.ConfigManifest=open-worldconfig.json
Meta.MetaConfigManifest=open-worldmetaconfig.json
Meta.ConfigRoot=open-world.kvp
Meta.MinAMPVersion=2.4.6.4
Meta.SpecificDockerImage=
Meta.DockerRequired=False
Meta.DockerBaseReadOnly=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=Open World - RimWorld Server
App.RootDir=./open-world/
App.BaseDirectory=./open-world/server/
App.SteamWorkshopDownloadLocation=
App.ExecutableWin=server\OpenWorldServer.exe
App.ExecutableLinux=server/OpenWorldServer
App.WorkingDir=server
App.LinuxCommandLineArgs=
App.WindowsCommandLineArgs=
App.CommandLineArgs={{$PlatformArgs}} {{$FormattedArgs}}
App.UseLinuxIOREDIR=False
App.AppSettings={}
App.EnvironmentVariables={"SteamAppId":"294100","DOTNET_ROOT":"{{$FullBaseDir}}dotnet","DOTNET_SYSTEM_GLOBALIZATION_INVARIANT":"1"}
App.CommandLineParameterFormat={0}={1}
App.CommandLineParameterDelimiter=
App.ExitMethod=String
App.ExitTimeout=30
App.ExitString=shutdown
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=[{"Protocol":"TCP","Port":25555,"Ref":"ServerPort","Name":"Server Port","Description":"Port for game traffic"}]
App.AdminPortRef=0
App.PrimaryApplicationPortRef=ServerPort
App.UniversalSleepApplicationUDPPortRef=0
App.UniversalSleepSteamQueryPortRef=0
App.MaxUsers=10
App.UseRandomAdminPassword=False
App.PersistRandomPassword=True
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[open-worldupdates.json]
App.PreStartStages=[]
App.ForceUpdate=False
App.ForceUpdateReason=
App.Compatibility=None
App.SteamUpdateAnonymousLogin=False
App.SteamForceLoginPrompt=True
App.RapidStartup=False
App.MonitorChildProcess=False
App.DumpFullChildProcessTree=False
App.MonitorChildProcessWaitMs=1000
App.MonitorChildProcessName=
App.SupportsUniversalSleep=False
App.WakeupMode=Any
App.ApplicationReadyMode=RegexMatch
App.TemplateMatchRegex={{(\$?[\w]+)}}
Console.FilterMatchRegex=
Console.FilterMatchReplacement=
Console.ThrowawayMessageRegex=(WARNING|ERROR): Shader.+
Console.AppReadyRegex=^\[[\d:]+\] \| Server Launched$
Console.UserJoinRegex=^$
Console.UserLeaveRegex=^$
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

474
open-worldconfig.json Normal file
View File

@ -0,0 +1,474 @@
[
{
"DisplayName":"Server Port",
"Category":"Open World Server Settings",
"Description":"",
"Keywords":"",
"FieldName":"$ServerPort",
"InputType":"number",
"Hidden":true,
"ParamFieldName":"$.ServerPort",
"EnumValues":{}
},
{
"DisplayName":"World Generation",
"Category":"Open World Server Settings",
"Description":"Follow [these instructions](https://openworldhelp.fandom.com/wiki/Creating_a_server#Generating_the_world) to generate a world for the server after it is first run",
"Keywords":"world,generate,generation",
"FieldName":"World",
"InputType":"hidden",
"ParamFieldName":"World",
"EnumValues":{}
},
{
"DisplayName":"Server Password",
"Category":"Open World Server Settings",
"Description":"Sets the password for players to join the server. Default is no password",
"Keywords":"server,password,ServerPassword",
"FieldName":"ServerPassword",
"InputType":"password",
"ParamFieldName":"$.ServerPassword",
"DefaultValue":"",
"EnumValues":{}
},
{
"DisplayName":"Player Version",
"Category":"Open World Server Settings",
"Description":"Sets the mod version players will use. Find this in the Open World [discord channel](https://discord.com/channels/992806266109964319/992881103071354890)",
"Keywords":"player,version,mod,PlayerVersion",
"FieldName":"PlayerVersion",
"InputType":"number",
"ParamFieldName":"$.PlayerVersion",
"DefaultValue":"1.3",
"Placeholder":"1.3",
"EnumValues":{}
},
{
"DisplayName":"Player Limit",
"Category":"Open World Server Settings",
"Description":"Sets the maximum number of players that may connect to the server at one time",
"Keywords":"maximum,max,players,limit,MaxPlayers",
"FieldName":"MaxPlayers",
"InputType":"number",
"ParamFieldName":"$.MaxPlayers",
"DefaultValue":"10",
"Placeholder":"10",
"Suffix":"players",
"EnumValues":{}
},
{
"DisplayName":"Enable Whitelist",
"Category":"Open World Server Settings",
"Description":"If enabled, allows only the usernames listed in Data/Whitelist.json to join the server",
"Keywords":"whitelist,players,UseWhitelist",
"FieldName":"UseWhitelist",
"InputType":"checkbox",
"ParamFieldName":"$.UseWhitelist",
"DefaultValue":"false",
"EnumValues":{
"False":"false",
"True":"true"
}
},
{
"DisplayName":"Enforce Mods",
"Category":"Open World Server Settings",
"Description":"If enabled, players will be forced to use the mods that have their DLLs in the \"Mods enforced\" directory. Otherwise, players can join with any mods they like",
"Keywords":"enforce,mods,EnforceMods",
"FieldName":"EnforceMods",
"InputType":"checkbox",
"ParamFieldName":"$.EnforceMods",
"DefaultValue":"false",
"EnumValues":{
"False":"false",
"True":"true"
}
},
{
"DisplayName":"Use Mod Blacklist",
"Category":"Open World Server Settings",
"Description":"If enabled, mods that have their DLLs in the \"Mods blacklisted\" directory cannot be used. This setting is usually used when Enforce Mods is disabled",
"Keywords":"mods,blacklist,UseModBlacklist",
"FieldName":"UseModBlacklist",
"InputType":"checkbox",
"ParamFieldName":"$.UseModBlacklist",
"DefaultValue":"false",
"EnumValues":{
"False":"false",
"True":"true"
}
},
{
"DisplayName":"Use Custom Difficulty",
"Category":"Open World Server Settings",
"Description":"If enabled, all players will be forced to use the difficulty settings set in Data/Difficulty.json. Make sure you give a value to every setting, or it will be at 0%",
"Keywords":"custom,difficulty,UseCustomDifficulty",
"FieldName":"UseCustomDifficulty",
"InputType":"checkbox",
"ParamFieldName":"$.UseCustomDifficulty",
"DefaultValue":"false",
"EnumValues":{
"False":"false",
"True":"true"
}
},
{
"DisplayName":"Allow Custom Scenarios",
"Category":"Open World Server Settings",
"Description":"If enabled, players will be allowed to create custom scenarios when creating their save on the server",
"Keywords":"custom,scenarios,AllowCustomScenarios",
"FieldName":"AllowCustomScenarios",
"InputType":"checkbox",
"ParamFieldName":"$.AllowCustomScenarios",
"DefaultValue":"false",
"EnumValues":{
"False":"false",
"True":"true"
}
},
{
"DisplayName":"Backup Interval",
"Category":"Open World Server Settings",
"Description":"Sets the time period between automatic backups",
"Keywords":"backup,interval,BackUpIntervalInHours",
"FieldName":"BackUpIntervalInHours",
"InputType":"number",
"ParamFieldName":"$.BackUpIntervalInHours",
"DefaultValue":"6.0",
"Placeholder":"6.0",
"Suffix":"hours",
"EnumValues":{}
},
{
"DisplayName":"Server IP Binding",
"Category":"Open World Server Settings",
"Description":"If required, you can change the IP binding of the server by editing App.ApplicationIPBinding in GenericModule.kvp for the instance. Default is 0.0.0.0 (all IPs). Stop the instance (not just the server) first",
"Keywords":"ip,binding,local,address,localaddress",
"FieldName":"$ApplicationIPBinding",
"InputType":"hidden",
"ParamFieldName":"$.LocalAddress",
"IncludeInCommandLine":false,
"EnumValues":{}
},
{
"DisplayName":"Enable Extra Console Logging",
"Category":"Open World Server Settings",
"Description":"If enabled, the server console will include additional logging output for developer or debugging purposes. Not recommended for normal use",
"Keywords":"dev,console,DevConsole",
"FieldName":"DevConsole",
"InputType":"checkbox",
"ParamFieldName":"$.DevConsole",
"DefaultValue":"false",
"EnumValues":{
"False":"false",
"True":"true"
}
},
{
"DisplayName":"Server Release Version",
"Category":"Open World Server Settings",
"Description":"Sets the [server release version] (https://github.com/D12-Dev/OpenWorld/releases) to install. Blank = latest. Back up configuration and update the server!",
"Keywords":"server,release,version",
"FieldName":"ReleaseVersion",
"InputType":"text",
"ParamFieldName":"ReleaseVersion",
"DefaultValue":"",
"Placeholder":"v1.0.4",
"EnumValues":{}
},
{
"DisplayName":"Dotnet Version",
"Category":"Open World Server Settings",
"Description":"Sets the [ASP.NET Core 3.1 version](https://dotnet.microsoft.com/en-us/download/dotnet/3.1) to install. Back up configuration and update the server!",
"Keywords":"dotnet,version",
"FieldName":"DotnetVersion",
"InputType":"text",
"ParamFieldName":"DotnetVersion",
"DefaultValue":"3.1.32",
"Placeholder":"3.1.32",
"EnumValues":{}
},
{
"DisplayName":"Bank Cash Per Tick",
"Category":"Open World Gameplay Settings",
"Description":"Sets how much banks make every tick (banks tick every 10 minutes)",
"Keywords":"bank,cash,tick,BankCashPerTick",
"FieldName":"BankCashPerTick",
"InputType":"number",
"ParamFieldName":"$.BankCashPerTick",
"DefaultValue":"50",
"Placeholder":"50",
"EnumValues":{}
},
{
"DisplayName":"Maximum Cash In Bank For Tick",
"Category":"Open World Gameplay Settings",
"Description":"Sets the maximum amount of money that can be in the bank",
"Keywords":"maximum,cash,bank,tick,MaximumCashInBankForTick",
"FieldName":"MaximumCashInBankForTick",
"InputType":"number",
"ParamFieldName":"$.MaximumCashInBankForTick",
"DefaultValue":"10000",
"Placeholder":"10000",
"EnumValues":{}
},
{
"DisplayName":"Raid Cost",
"Category":"Open World Gameplay Settings",
"Description":"Sets the cost of initiating a raid event",
"Keywords":"raid,cost,raidcost",
"FieldName":"RaidCost",
"InputType":"number",
"MinValue":"0",
"ParamFieldName":"$.RaidCost",
"DefaultValue":"0",
"Placeholder":"0",
"Suffix":"silver"
},
{
"DisplayName":"Infestation Cost",
"Category":"Open World Gameplay Settings",
"Description":"Sets the cost of triggering an infestation event",
"Keywords":"infestation,cost,infestationcost",
"FieldName":"InfestationCost",
"InputType":"number",
"MinValue":"0",
"ParamFieldName":"$.InfestationCost",
"DefaultValue":"0",
"Placeholder":"0",
"Suffix":"silver"
},
{
"DisplayName":"Mech Cluster Cost",
"Category":"Open World Gameplay Settings",
"Description":"Sets the cost of spawning a mech cluster",
"Keywords":"mech,cluster,cost,mechclustercost",
"FieldName":"MechClusterCost",
"InputType":"number",
"MinValue":"0",
"ParamFieldName":"$.MechClusterCost",
"DefaultValue":"0",
"Placeholder":"0",
"Suffix":"silver"
},
{
"DisplayName":"Toxic Fallout Cost",
"Category":"Open World Gameplay Settings",
"Description":"Sets the cost of initiating a toxic fallout event",
"Keywords":"toxic,fallout,cost,toxicfalloutcost",
"FieldName":"ToxicFalloutCost",
"InputType":"number",
"MinValue":"0",
"ParamFieldName":"ToxicFalloutCost",
"DefaultValue":"0",
"Placeholder":"0",
"Suffix":"silver"
},
{
"DisplayName":"Manhunter Cost",
"Category":"Open World Gameplay Settings",
"Description":"Sets the cost of triggering a manhunter pack event",
"Keywords":"manhunter,cost,manhuntercost",
"FieldName":"ManhunterCost",
"InputType":"number",
"MinValue":"0",
"ParamFieldName":"$.ManhunterCost",
"DefaultValue":"0",
"Placeholder":"0",
"Suffix":"silver"
},
{
"DisplayName":"Wanderer Cost",
"Category":"Open World Gameplay Settings",
"Description":"Sets the cost of welcoming a wanderer",
"Keywords":"wanderer,cost,wanderercost",
"FieldName":"WandererCost",
"InputType":"number",
"MinValue":"0",
"ParamFieldName":"$.WandererCost",
"DefaultValue":"0",
"Placeholder":"0",
"Suffix":"silver"
},
{
"DisplayName":"Farm Animals Cost",
"Category":"Open World Gameplay Settings",
"Description":"Sets the cost of receiving farm animals",
"Keywords":"farm,animals,cost,farmanimalscost",
"FieldName":"FarmAnimalsCost",
"InputType":"number",
"MinValue":"0",
"ParamFieldName":"$.FarmAnimalsCost",
"DefaultValue":"0",
"Placeholder":"0",
"Suffix":"silver"
},
{
"DisplayName":"Ship Chunk Cost",
"Category":"Open World Gameplay Settings",
"Description":"Sets the cost of sending a ship chunk",
"Keywords":"ship,chunk,cost,shipchunkcost",
"FieldName":"ShipChunkCost",
"InputType":"number",
"MinValue":"0",
"ParamFieldName":"$.ShipChunkCost",
"DefaultValue":"0",
"Placeholder":"0",
"Suffix":"silver"
},
{
"DisplayName":"Give Quest Cost",
"Category":"Open World Gameplay Settings",
"Description":"Sets the cost of giving a quest",
"Keywords":"give,quest,cost,givequestcost",
"FieldName":"GiveQuestCost",
"InputType":"number",
"MinValue":"0",
"ParamFieldName":"$.GiveQuestCost",
"DefaultValue":"0",
"Placeholder":"0",
"Suffix":"silver"
},
{
"DisplayName":"Trader Caravan Cost",
"Category":"Open World Gameplay Settings",
"Description":"Sets the cost of sending a trader caravan",
"Keywords":"trader,caravan,cost,tradercaravancost",
"FieldName":"TraderCaravanCost",
"InputType":"number",
"MinValue":"0",
"ParamFieldName":"$.TraderCaravanCost",
"DefaultValue":"0",
"Placeholder":"0",
"Suffix":"silver"
},
{
"DisplayName":"Silo Cost",
"Category":"Open World Gameplay Settings",
"Description":"Sets the cost of building a silo",
"Keywords":"silo,cost,silocost",
"FieldName":"SiloCost",
"InputType":"number",
"MinValue":"0",
"ParamFieldName":"$.SiloCost",
"DefaultValue":"0",
"Placeholder":"0",
"Suffix":"silver"
},
{
"DisplayName":"Marketplace Cost",
"Category":"Open World Gameplay Settings",
"Description":"Sets the cost of establishing a marketplace",
"Keywords":"market,place,marketplace,cost,marketplacecost",
"FieldName":"MarketplaceCost",
"InputType":"number",
"MinValue":"0",
"ParamFieldName":"$.MarketplaceCost",
"DefaultValue":"0",
"Placeholder":"0",
"Suffix":"silver"
},
{
"DisplayName":"Production Site Cost",
"Category":"Open World Gameplay Settings",
"Description":"Sets the cost of setting up a production site",
"Keywords":"production,site,cost,productionsitecost",
"FieldName":"ProductionSiteCost",
"InputType":"number",
"MinValue":"0",
"ParamFieldName":"$.ProductionSiteCost",
"DefaultValue":"0",
"Placeholder":"0",
"Suffix":"silver"
},
{
"DisplayName":"Wonder Structure Cost",
"Category":"Open World Gameplay Settings",
"Description":"Sets the cost of constructing a wonder",
"Keywords":"wonder,structure,cost,wondercost",
"FieldName":"WonderCost",
"InputType":"number",
"MinValue":"0",
"ParamFieldName":"$.WonderCost",
"DefaultValue":"0",
"Placeholder":"0",
"Suffix":"silver"
},
{
"DisplayName":"Bank Cost",
"Category":"Open World Gameplay Settings",
"Description":"Sets the cost of building a bank",
"Keywords":"bank,cost,bankcost",
"FieldName":"BankCost",
"InputType":"number",
"MinValue":"0",
"ParamFieldName":"$.BankCost",
"DefaultValue":"0",
"Placeholder":"0",
"Suffix":"silver"
},
{
"DisplayName":"Airport Cost",
"Category":"Open World Gameplay Settings",
"Description":"Sets the cost of constructing an airport",
"Keywords":"aeroport,airport,cost,aeroportcost",
"FieldName":"AeroportCost",
"InputType":"number",
"MinValue":"0",
"ParamFieldName":"$.AeroportCost",
"DefaultValue":"0",
"Placeholder":"0",
"Suffix":"silver"
},
{
"DisplayName":"Airport Usage Cost",
"Category":"Open World Gameplay Settings",
"Description":"Sets the cost of using an airport",
"Keywords":"aeroport,airport,usage,cost,aeroportusagecost",
"FieldName":"AeroportUsageCost",
"InputType":"number",
"ParamFieldName":"$.AeroportUsageCost",
"DefaultValue":"0",
"Placeholder":"0",
"Suffix":"silver"
},
{
"DisplayName":"Courier Cost",
"Category":"Open World Gameplay Settings",
"Description":"Sets the cost of establishing a courier station",
"Keywords":"courier,cost,couriercost",
"FieldName":"CourierCost",
"InputType":"number",
"MinValue":"0",
"ParamFieldName":"$.CourierCost",
"DefaultValue":"0",
"Placeholder":"0",
"Suffix":"silver"
},
{
"DisplayName":"Courier Usage Cost",
"Category":"Open World Gameplay Settings",
"Description":"Sets the cost of using a courier service",
"Keywords":"courier,usage,cost,courierusagecost",
"FieldName":"CourierUsageCost",
"InputType":"number",
"MinValue":"0",
"ParamFieldName":"$.CourierUsageCost",
"DefaultValue":"0",
"Placeholder":"0",
"Suffix":"silver"
},
{
"DisplayName":"Aid Usage Cost",
"Category":"Open World Gameplay Settings",
"Description":"Sets the cost of using aid",
"Keywords":"aid,usage,cost,aidusagecost",
"FieldName":"AidUsageCost",
"InputType":"number",
"MinValue":"0",
"ParamFieldName":"$.AidUsageCost",
"DefaultValue":"0",
"Placeholder":"0",
"Suffix":"silver"
}
]

17
open-worldmetaconfig.json Normal file
View File

@ -0,0 +1,17 @@
[
{
"ConfigFile":"Data/Config.json",
"AutoMap":true,
"ConfigType":"json"
},
{
"ConfigFile":"Data/Deep Config.json",
"AutoMap":true,
"ConfigType":"json"
},
{
"ConfigFile":"Data/Values.json",
"AutoMap":true,
"ConfigType":"json"
}
]

View File

@ -0,0 +1,14 @@
{
"LocalAddress": "0.0.0.0",
"ServerPort": 25555,
"ServerPassword": "",
"MaxPlayers": 10,
"PlayerVersion": "1.3",
"BackUpIntervalInHours": 6.0,
"EnforceMods": false,
"DevConsole": false,
"UseModBlacklist": false,
"UseCustomDifficulty": false,
"UseWhitelist": false,
"AllowCustomScenarios": false
}

View File

@ -0,0 +1,4 @@
{
"BankCashPerTick": 50,
"MaximumCashInBankForTick": 10000
}

View File

@ -0,0 +1,22 @@
{
"RaidCost": 0,
"InfestationCost": 0,
"MechClusterCost": 0,
"ToxicFalloutCost": 0,
"ManhunterCost": 0,
"WandererCost": 0,
"FarmAnimalsCost": 0,
"ShipChunkCost": 0,
"GiveQuestCost": 0,
"TraderCaravanCost": 0,
"SiloCost": 0,
"MarketplaceCost": 0,
"ProductionSiteCost": 0,
"WonderCost": 0,
"BankCost": 0,
"AeroportCost": 0,
"CourierCost": 0,
"AeroportUsageCost": 0,
"CourierUsageCost": 0,
"AidUsageCost": 0
}

140
open-worldupdates.json Normal file
View File

@ -0,0 +1,140 @@
[
{
"UpdateStageName":"Create Dotnet Directory",
"UpdateSourcePlatform":"All",
"UpdateSource":"CreateDirectory",
"UpdateSourceArgs":"{{$FullBaseDir}}dotnet"
},
{
"UpdateStageName":"Create Data Directory",
"UpdateSourcePlatform":"All",
"UpdateSource":"CreateDirectory",
"UpdateSourceArgs":"{{$FullBaseDir}}Data"
},
{
"UpdateStageName":"ASP.NET Core Runtime Download",
"UpdateSourcePlatform":"Windows",
"UpdateSource":"FetchURL",
"UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/{{DotnetVersion}}/aspnetcore-runtime-{{DotnetVersion}}-win-x64.zip",
"UpdateSourceTarget":"{{$FullBaseDir}}dotnet",
"UnzipUpdateSource":true,
"OverwriteExistingFiles":true,
"DeleteAfterExtract":true
},
{
"UpdateStageName":"ASP.NET Core Runtime Download",
"UpdateSourcePlatform":"Linux",
"UpdateSource":"FetchURL",
"UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/{{DotnetVersion}}/aspnetcore-runtime-{{DotnetVersion}}-linux-x64.tar.gz",
"UpdateSourceArch":"x86_64",
"UpdateSourceTarget":"{{$FullBaseDir}}dotnet",
"UnzipUpdateSource":true,
"OverwriteExistingFiles":true,
"DeleteAfterExtract":true
},
{
"UpdateStageName":"ASP.NET Core Runtime Download",
"UpdateSourcePlatform":"Linux",
"UpdateSource":"FetchURL",
"UpdateSourceData":"https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/{{DotnetVersion}}/aspnetcore-runtime-{{DotnetVersion}}-linux-arm64.tar.gz",
"UpdateSourceArch":"aarch64",
"UpdateSourceTarget":"{{$FullBaseDir}}dotnet",
"UnzipUpdateSource":true,
"OverwriteExistingFiles":true,
"DeleteAfterExtract":true
},
{
"UpdateStageName":"Open World Download",
"UpdateSourcePlatform":"Windows",
"UpdateSource":"GithubRelease",
"UpdateSourceData":"win-x64.zip",
"UpdateSourceArgs":"D12-Dev/OpenWorld",
"UpdateSourceTarget":"{{$FullRootDir}}",
"UpdateSourceVersion":"{{ReleaseVersion}}",
"UnzipUpdateSource":true,
"OverwriteExistingFiles":true,
"DeleteAfterExtract":true
},
{
"UpdateStageName":"Open World Download",
"UpdateSourcePlatform":"Linux",
"UpdateSource":"GithubRelease",
"UpdateSourceData":"linux-x64.zip",
"UpdateSourceArgs":"D12-Dev/OpenWorld",
"UpdateSourceTarget":"{{$FullRootDir}}",
"UpdateSourceVersion":"{{ReleaseVersion}}",
"UpdateSourceArch":"x86_64",
"UnzipUpdateSource":true,
"OverwriteExistingFiles":true,
"DeleteAfterExtract":true
},
{
"UpdateStageName":"Open World Download",
"UpdateSourcePlatform":"Linux",
"UpdateSource":"GithubRelease",
"UpdateSourceData":"linux-arm64.zip",
"UpdateSourceArgs":"D12-Dev/OpenWorld",
"UpdateSourceTarget":"{{$FullRootDir}}",
"UpdateSourceVersion":"{{ReleaseVersion}}",
"UpdateSourceArch":"aarch64",
"UnzipUpdateSource":true,
"OverwriteExistingFiles":true,
"DeleteAfterExtract":true
},
{
"UpdateStageName":"Pause Update Stages",
"UpdateSourcePlatform":"Linux",
"UpdateSource":"Pause",
"UpdateSourceArgs":"2"
},
{
"UpdateStageName":"Move Server Files",
"UpdateSourcePlatform":"Windows",
"UpdateSource":"Executable",
"UpdateSourceData":"cmd.exe",
"UpdateSourceArgs":"/C xcopy /E /Y /I open-world\\win-x64\\* open-world\\server\\ && rmdir /Q /S open-world\\win-x64\\"
},
{
"UpdateStageName":"Move Server Files",
"UpdateSourcePlatform":"Linux",
"UpdateSource":"Executable",
"UpdateSourceData":"/bin/bash",
"UpdateSourceArgs":"-c '\\cp -rf ./open-world/linux-x64/* ./open-world/server/ && chmod +x ./open-world/server/OpenWorldServer ; rm -rf ./open-world/linux-x64/'",
"UpdateSourceArch":"x86_64"
},
{
"UpdateStageName":"Move Server Files",
"UpdateSourcePlatform":"Linux",
"UpdateSource":"Executable",
"UpdateSourceData":"/bin/bash",
"UpdateSourceArgs":"-c '\\cp -rf ./open-world/linux-arm64/* ./open-world/server/ && chmod +x ./open-world/server/OpenWorldServer ; rm -rf ./open-world/linux-arm64/'",
"UpdateSourceArch":"aarch64"
},
{
"UpdateStageName":"Config.json File Download",
"UpdateSourcePlatform":"All",
"UpdateSource":"FetchURL",
"UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/open-worldserverconfig.json",
"UpdateSourceArgs":"Config.json",
"UpdateSourceTarget":"{{$FullBaseDir}}Data",
"OverwriteExistingFiles":false
},
{
"UpdateStageName":"Deep Config.json File Download",
"UpdateSourcePlatform":"All",
"UpdateSource":"FetchURL",
"UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/open-worldserverdeepconfig.json",
"UpdateSourceArgs":"Deep Config.json",
"UpdateSourceTarget":"{{$FullBaseDir}}Data",
"OverwriteExistingFiles":false
},
{
"UpdateStageName":"Values.json File Download",
"UpdateSourcePlatform":"All",
"UpdateSource":"FetchURL",
"UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/open-worldservervalues.json",
"UpdateSourceArgs":"Values.json",
"UpdateSourceTarget":"{{$FullBaseDir}}Data",
"OverwriteExistingFiles":false
}
]