Arma Reforger: various updates (#422)

This commit is contained in:
Greelan 2023-07-17 17:36:30 +10:00 committed by GitHub
parent d770df1024
commit ed01652e6a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 239 additions and 135 deletions

View File

@ -2,7 +2,7 @@ Meta.DisplayName=Arma Reforger
Meta.Description=Arma Reforger Dedicated Server
Meta.OS=Windows, Linux
Meta.Arch=x86_64
Meta.Author=JetFox, Greelan
Meta.Author=Greelan, JetFox
Meta.URL=https://reforger.armaplatform.com
Meta.DisplayImageSource=steam:1874880
Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.Ports.$QueryPort}
@ -10,7 +10,7 @@ Meta.ConfigManifest=arma-reforgerconfig.json
Meta.MetaConfigManifest=arma-reforgermetaconfig.json
Meta.ConfigRoot=arma-reforger.kvp
Meta.MinAMPVersion=2.4.2.0
Meta.SpecificDockerImage=
Meta.SpecificDockerImage=cubecoders/ampbase
Meta.DockerRequired=False
Meta.ContainerPolicy=Supported
Meta.ContainerPolicyReason=
@ -27,13 +27,13 @@ App.ExecutableLinux=1874900/ArmaReforgerServer
App.WorkingDir=1874900
App.LinuxCommandLineArgs=
App.WindowsCommandLineArgs=
App.CommandLineArgs={{$PlatformArgs}} -gproj "{{$FullBaseDir}}addons/data/ArmaReforger.gproj" -profile "{{$FullBaseDir}}AReforgerMaster" -bepath "{{$FullBaseDir}}battleye" -port={{$GamePort}} -config "{{$FullBaseDir}}Configs/server.json" -a2sIpAddress {{$ApplicationIPBinding}} -listScenarios -noThrow {{$FormattedArgs}} {{logStats}} {{CustomServerArgs}}
App.CommandLineArgs={{$PlatformArgs}} -gproj "{{$FullBaseDir}}addons/data/ArmaReforger.gproj" -profile "{{$FullBaseDir}}AReforgerMaster" -bepath "{{$FullBaseDir}}battleye" -bindPort {{$GamePort}} -a2sPort {{$QueryPort}} -config "{{$FullBaseDir}}Configs/serverconfig.json" -a2sIpAddress {{$ApplicationIPBinding}} -listScenarios -noThrow {{$FormattedArgs}} {{logStats}} {{CustomServerArgs}}
App.UseLinuxIOREDIR=False
App.AppSettings={}
App.EnvironmentVariables={"LD_LIBRARY_PATH":"{{$FullBaseDir}}linux64:%LD_LIBRARY_PATH%","SteamAppId":"1874880"}
App.CommandLineParameterFormat=-{0} "{1}"
App.CommandLineParameterDelimiter=
App.ExitMethod=String
App.ExitMethod=OS_CLOSE
App.ExitTimeout=30
App.ExitString=#shutdown
App.ExitFile=app_exit.lck
@ -47,14 +47,14 @@ App.AdminPortRef=RCONPort
App.PrimaryApplicationPortRef=GamePort
App.UniversalSleepApplicationUDPPortRef=GamePort
App.UniversalSleepSteamQueryPortRef=QueryPort
App.MaxUsers=127
App.MaxUsers=64
App.UseRandomAdminPassword=True
App.PersistRandomPassword=True
App.RemoteAdminPassword=
App.AdminMethod=BattlEyeRCON
App.AdminLoginTransform=None
App.RCONConnectDelaySeconds=5
App.RCONConnectRetrySeconds=5
App.RCONConnectDelaySeconds=15
App.RCONConnectRetrySeconds=15
App.RCONHeartbeatMinutes=0.5
App.RCONHeartbeatCommand=ping
App.TelnetLoginFormat={0}

View File

@ -8,12 +8,12 @@
"InputType":"number",
"IsFlagArgument":false,
"Hidden":true,
"ParamFieldName":"$.gameHostBindPort",
"ParamFieldName":"bindPort",
"IncludeInCommandLine":false,
"EnumValues":{}
},
{
"DisplayName":"Register Port",
"DisplayName":"Public Port",
"Category":"Server Settings",
"Description":"",
"Keywords":"",
@ -21,10 +21,10 @@
"InputType":"number",
"IsFlagArgument":false,
"Hidden":true,
"ParamFieldName":"$.gameHostRegisterPort",
"ParamFieldName":"publicPort",
"IncludeInCommandLine":false,
"EnumValues":{}
},
},
{
"DisplayName":"Query Port",
"Category":"Server Settings",
@ -34,26 +34,12 @@
"InputType":"number",
"IsFlagArgument":false,
"Hidden":true,
"ParamFieldName":"$.steamQueryPort",
"ParamFieldName":"a2s.port",
"IncludeInCommandLine":false,
"EnumValues":{}
},
{
"DisplayName":"Enable Steam Query",
"Category":"Server Settings",
"Description":"",
"Keywords":"",
"FieldName":"a2sQueryEnabled",
"InputType":"text",
"IsFlagArgument":false,
"Hidden":true,
"ParamFieldName":"$.a2sQueryEnabled",
"IncludeInCommandLine":false,
"DefaultValue":"true",
"EnumValues":{}
},
{
"DisplayName":"Register IP Binding",
"DisplayName":"Public IP Binding",
"Category":"Server Settings",
"Description":"",
"Keywords":"",
@ -61,7 +47,7 @@
"InputType":"text",
"IsFlagArgument":false,
"Hidden":true,
"ParamFieldName":"$.gameHostRegisterBindAddress",
"ParamFieldName":"publicAddress",
"IncludeInCommandLine":false,
"EnumValues":{}
},
@ -74,7 +60,7 @@
"InputType":"text",
"IsFlagArgument":false,
"Hidden":true,
"ParamFieldName":"$.game.gameProperties.battlEye",
"ParamFieldName":"game.gameProperties.battlEye",
"IncludeInCommandLine":false,
"DefaultValue":"true",
"EnumValues":{}
@ -87,47 +73,70 @@
"FieldName":"name",
"InputType":"text",
"IsFlagArgument":false,
"ParamFieldName":"$.game.name",
"ParamFieldName":"game.name",
"IncludeInCommandLine":false,
"DefaultValue":"Arma Reforger Server - Powered by AMP",
"EnumValues":{}
},
{
"DisplayName":"Server Region",
"DisplayName":"Server Mission/Scenario",
"Category":"Server Settings",
"Description":"Sets the server's region. Requires a valid [ISO 3166-1 alpha-2 code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) such as EU, US, AU, JP",
"Keywords":"region,location",
"FieldName":"region",
"InputType":"text",
"IsFlagArgument":false,
"ParamFieldName":"$.region",
"IncludeInCommandLine":false,
"DefaultValue":"EU",
"EnumValues":{},
},
{
"DisplayName":"Server Map",
"Category":"Server Settings",
"Description":"Sets the server map. Specify the scenario conf file path as listed in the logs/console",
"Keywords":"map,scenario,scenarioid",
"Description":"Sets the server mission/scenario. Official missions/scenarios are included in the dropdown. To use another mission/scenario, select \"Custom\" and set the Custom Mission/Scenario Name",
"Keywords":"mission,scenario,scenarioid",
"FieldName":"scenarioId",
"InputType":"text",
"InputType":"enum",
"IsFlagArgument":false,
"ParamFieldName":"$.game.scenarioId",
"ParamFieldName":"game.scenarioId",
"IncludeInCommandLine":false,
"DefaultValue":"{ECC61978EDCC2B5A}Missions/23_Campaign.conf",
"Placeholder":"{ECC61978EDCC2B5A}Missions/23_Campaign.conf",
"EnumValues":{
"{ECC61978EDCC2B5A}Missions/23_Campaign.conf":"Conflict - Everon (default)",
"{59AD59368755F41A}Missions/21_GM_Eden.conf":"Game Master - Everon",
"{90F086877C27B6F6}Missions/99_Tutorial.conf":"Tutorial",
"{2BBBE828037C6F4B}Missions/22_GM_Arland.conf":"Game Master - Arland",
"{C700DB41F0C546E1}Missions/23_Campaign_NorthCentral.conf":"Conflict - Northern Everon",
"{28802845ADA64D52}Missions/23_Campaign_SWCoast.conf":"Conflict - Southern Everon",
"{DAA03C6E6099D50F}Missions/24_CombatOps.conf":"Combat Ops - Arland",
"{C41618FD18E9D714}Missions/23_Campaign_Arland.conf":"Conflict - Arland",
"{{CustomMission}}":"Custom"
}
},
{
"DisplayName":"Custom Mission/Scenario Name",
"Category":"Server Settings",
"Description":"Sets a custom mission/scenario for the server. \"Custom\" type must be selected under Server Mission/Scenario and any required mods specified under Load Mods",
"Keywords":"custom,mission,scenario",
"FieldName":"CustomMission",
"InputType":"text",
"IsFlagArgument":false,
"ParamFieldName":"CustomMission",
"IncludeInCommandLine":false,
"DefaultValue":"",
"Placeholder":"{850C623AD7B97DC7}Missions/DeadEveron.conf",
"EnumValues":{}
},
{
"DisplayName":"Server/RCON IP Binding",
"Category":"Server Settings",
"Description":"If required, you can change the binding of the server and BattlEye RCON by editing App.ApplicationIPBinding in GenericModule.kvp for the instance. Stop the instance (not just the server) first",
"Keywords":"ip,binding,gamehostbindaddress,rconip",
"Keywords":"ip,binding,gamehostbindaddress,rconip,steam,query,a2saddress",
"FieldName":"$ApplicationIPBinding",
"InputType":"hidden",
"IsFlagArgument":false,
"ParamFieldName":"$.gameHostBindAddress",
"ParamFieldName":"bindAddress",
"IncludeInCommandLine":false,
"EnumValues":{}
},
{
"DisplayName":"Steam Query IP Binding",
"Category":"Server Settings",
"Description":"",
"Keywords":"",
"FieldName":"$ApplicationIPBinding",
"InputType":"hidden",
"IsFlagArgument":false,
"Hidden":true,
"ParamFieldName":"a2s.address",
"IncludeInCommandLine":false,
"EnumValues":{}
},
@ -139,7 +148,23 @@
"FieldName":"visible",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"$.game.visible",
"ParamFieldName":"game.visible",
"IncludeInCommandLine":false,
"DefaultValue":"true",
"EnumValues":{
"False":"false",
"True":"true"
}
},
{
"DisplayName":"Enable Crossplay",
"Category":"Server Settings",
"Description":"If enabled, crossplay between PC and Xbox clients will be possible",
"Keywords":"crossplay,pc,xbox,crossplatform",
"FieldName":"crossPlatform",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"game.crossPlatform",
"IncludeInCommandLine":false,
"DefaultValue":"true",
"EnumValues":{
@ -150,12 +175,12 @@
{
"DisplayName":"Server Password",
"Category":"Server Settings",
"Description":"Sets the password required to connect to the server. Default is no password",
"Description":"Sets the password required to connect to the server. Only use alphanumeric, dash or underscore characters. Default is no password",
"Keywords":"server,password",
"FieldName":"password",
"InputType":"password",
"IsFlagArgument":false,
"ParamFieldName":"$.game.password",
"ParamFieldName":"game.password",
"IncludeInCommandLine":false,
"DefaultValue":"",
"EnumValues":{}
@ -163,14 +188,14 @@
{
"DisplayName":"Admin Password",
"Category":"Server Settings",
"Description":"Sets the password required for admin access to the server. Default is no password",
"Keywords":"admin,password,adminpassword",
"Description":"Sets the password required for admin access to the server. Only use alphanumeric, dash or underscore characters. Default is a strong random password",
"Keywords":"admin,password,adminpassword,passwordadmin",
"FieldName":"adminPassword",
"InputType":"password",
"IsFlagArgument":false,
"ParamFieldName":"$.adminPassword",
"ParamFieldName":"game.passwordAdmin",
"IncludeInCommandLine":false,
"DefaultValue":"",
"DefaultValue":"{{newguid()}}",
"EnumValues":{}
},
{
@ -189,32 +214,62 @@
"DisplayName":"Server Player Limit",
"Category":"Server Settings",
"Description":"Sets the maximum number of players that may connect to the server at one time",
"Keywords":"players,limit,maximum,playercountlimit",
"Keywords":"players,limit,maximum,playercountlimit,maxplayers",
"FieldName":"$MaxUsers",
"InputType":"number",
"MinValue":"1",
"MaxValue":"256",
"IsFlagArgument":false,
"ParamFieldName":"$.game.playerCountLimit",
"ParamFieldName":"game.maxPlayers",
"IncludeInCommandLine":false,
"DefaultValue":"127",
"Placeholder":"127",
"DefaultValue":"64",
"Placeholder":"64",
"Suffix":"players",
"EnumValues":{}
},
{
"DisplayName":"Mission Player Limit",
"DisplayName":"Synchronise Player Count",
"Category":"Server Settings",
"Description":"Sets the maximum number of players that a mission will allow",
"Keywords":"players,limit,maximum,mission,m_iplayercount",
"FieldName":"m_iPlayerCount",
"Description":"If enabled, the list of players on the server is sent to the GameAPI along with the server's heartbeat, to fix the discrepancy between the real and reported number of players on the server",
"Keywords":"lobby,player,synchronise,player,number,lobbyplayersynchronise",
"FieldName":"lobbyPlayerSynchronise",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"operating.lobbyPlayerSynchronise",
"IncludeInCommandLine":false,
"DefaultValue":"true",
"EnumValues":{
"False":"false",
"True":"true"
}
},
{
"DisplayName":"Load Mods",
"Category":"Server Settings",
"Description":"Comma-separated [list of mods](https://reforger.armaplatform.com/workshop) required by clients, which will be downloaded and activated on join. Each mod entry must be in valid JSON format. Name and version are optional. Example: {\"modId\":\"591AF5BDA9F7CE8B\",\"name\":\"Capture & Hold\",\"version\":\"1.0.3\"}",
"Keywords":"mods,addons,mod",
"FieldName":"mods",
"InputType":"Textarea",
"IsFlagArgument":false,
"ParamFieldName":"game.mods",
"IncludeInCommandLine":false,
"DefaultValue":"",
"EnumValues":{}
},
{
"DisplayName":"Player Save Period",
"Category":"Server Settings",
"Description":"Sets the default period for saving players for both Online and Local storage (player save can still be requested on demand)",
"Keywords":"player,save,time,playersavetime",
"FieldName":"playerSaveTime",
"InputType":"number",
"MinValue":"1",
"IsFlagArgument":false,
"ParamFieldName":"$.game.gameProperties.missionHeader.m_iPlayerCount",
"ParamFieldName":"operating.playerSaveTime",
"IncludeInCommandLine":false,
"DefaultValue":"127",
"Placeholder":"127",
"Suffix":"players",
"DefaultValue":"120",
"Placeholder":"120",
"Suffix":"seconds",
"EnumValues":{}
},
{
@ -229,39 +284,40 @@
"ParamFieldName":"maxFPS",
"IncludeInCommandLine":true,
"DefaultValue":"60",
"Placeholder":"60",
"Suffix":"fps",
"EnumValues":{}
},
{
"DisplayName":"Maximum View Distance",
"Category":"Server Settings",
"Description":"Sets the server's maximum view distance (between 500 to 10000). Default is 1600",
"Description":"Sets the server's maximum view distance",
"Keywords":"maximum,view,distance,servermaxviewdistance",
"FieldName":"serverMaxViewDistance",
"InputType":"number",
"MinValue":"500",
"MaxValue":"10000",
"IsFlagArgument":false,
"ParamFieldName":"$.game.gameProperties.serverMaxViewDistance",
"ParamFieldName":"game.gameProperties.serverMaxViewDistance",
"IncludeInCommandLine":false,
"DefaultValue":"1600",
"Placeholder":"500 - 10000",
"Placeholder":"1600",
"EnumValues":{}
},
{
"DisplayName":"Network View Distance",
"Category":"Server Settings",
"Description":"Sets the server's maximum network streaming range of replicated entities (between 500 to 5000). Default is 500",
"Description":"Sets the server's maximum network streaming range of replicated entities",
"Keywords":"network,stream,view,distance,networkviewdistance",
"FieldName":"networkViewDistance",
"InputType":"number",
"MinValue":"500",
"MaxValue":"5000",
"IsFlagArgument":false,
"ParamFieldName":"$.game.gameProperties.networkViewDistance",
"ParamFieldName":"game.gameProperties.networkViewDistance",
"IncludeInCommandLine":false,
"DefaultValue":"500",
"Placeholder":"500 - 5000",
"DefaultValue":"1500",
"Placeholder":"1500",
"EnumValues":{}
},
{
@ -274,38 +330,22 @@
"MinValue":"0",
"MaxValue":"150",
"IsFlagArgument":false,
"ParamFieldName":"$.game.gameProperties.serverMinGrassDistance",
"ParamFieldName":"game.gameProperties.serverMinGrassDistance",
"IncludeInCommandLine":false,
"DefaultValue":"0",
"Placeholder":"0 or 50 - 150",
"Placeholder":"0",
"Suffix":"metres",
"EnumValues":{}
},
{
"DisplayName":"Quick Start Joinable",
"Category":"Server Settings",
"Description":"If enabled, the session can be selected through the auto join feature",
"Keywords":"join,auto,autojoinable",
"FieldName":"autoJoinable",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"$.game.autoJoinable",
"IncludeInCommandLine":false,
"DefaultValue":"true",
"EnumValues":{
"False":"false",
"True":"true"
}
},
{
"DisplayName":"Disable Third Person",
"Category":"Server Settings",
"Description":"If enabled, clients will be forced to use the first-person view. NOTE: This must be disabled for auto join",
"Description":"If enabled, clients will be forced to use the first-person view",
"Keywords":"third,person,disablethirdperson",
"FieldName":"disableThirdPerson",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"$.game.gameProperties.disableThirdPerson",
"ParamFieldName":"game.gameProperties.disableThirdPerson",
"IncludeInCommandLine":false,
"DefaultValue":"false",
"EnumValues":{
@ -321,7 +361,7 @@
"FieldName":"fastValidation",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"$.game.gameProperties.fastValidation",
"ParamFieldName":"game.gameProperties.fastValidation",
"IncludeInCommandLine":false,
"DefaultValue":"true",
"EnumValues":{
@ -329,6 +369,66 @@
"True":"true"
}
},
{
"DisplayName":"Disable VON UI",
"Category":"Server Settings",
"Description":"If set, clients will be forced to not have the VON (Voice Over Network) UI",
"Keywords":"disable,von,voice,network,ui,vondisableui",
"FieldName":"VONDisableUI",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"game.gameProperties.VONDisableUI",
"IncludeInCommandLine":false,
"DefaultValue":"true",
"EnumValues":{
"False":"false",
"True":"true"
}
},
{
"DisplayName":"Disable VON Direct Speech UI",
"Category":"Server Settings",
"Description":"If set, clients will be forced to not have the VON (Voice Over Network) Direct Speech UI",
"Keywords":"disable,von,voice,network,direct,speech,ui,vondisabledirectspeechui",
"FieldName":"VONDisableDirectSpeechUI",
"InputType":"checkbox",
"IsFlagArgument":false,
"ParamFieldName":"game.gameProperties.VONDisableDirectSpeechUI",
"IncludeInCommandLine":false,
"DefaultValue":"true",
"EnumValues":{
"False":"false",
"True":"true"
}
},
{
"DisplayName":"Mission Header",
"Category":"Server Settings",
"Description":"Comma-separated list of settings that will overwrite a mission/scenario's SCR_MissionHeaderCampaign. Example: \"m_iPlayerCount\":\"64\",\"m_eEditableGameFlags\":\"6\"",
"Keywords":"mission,header,missionheader",
"FieldName":"missionHeader",
"InputType":"Textarea",
"IsFlagArgument":false,
"ParamFieldName":"game.gameProperties.missionHeader",
"IncludeInCommandLine":false,
"DefaultValue":"",
"EnumValues":{}
},
{
"DisplayName":"AI Limit",
"Category":"Server Settings",
"Description":"Sets the maximum number of AIs. -1 = no limit",
"Keywords":"ai,limit,ailimit",
"FieldName":"aiLimit",
"InputType":"number",
"MinValue":"-1",
"IsFlagArgument":false,
"ParamFieldName":"operating.aiLimit",
"IncludeInCommandLine":false,
"DefaultValue":"-1",
"Placeholder":"-1",
"EnumValues":{}
},
{
"DisplayName":"Log Statistics",
"Category":"Server Settings",
@ -348,7 +448,7 @@
{
"DisplayName":"Statistics Logging Inverval",
"Category":"Server Settings",
"Description":"Sets the interval for logging of performance statistics, if \"Log Statistics\" is enabled. Default is 1000 (1 second)",
"Description":"Sets the interval for logging of performance statistics, if \"Log Statistics\" is enabled",
"Keywords":"log,statistics,logstats",
"FieldName":"logStatsInterval",
"InputType":"number",

View File

@ -1,8 +1,9 @@
[
{
"ConfigFile":"Configs/server.json",
"ConfigFile":"Configs/serverconfig.json",
"AutoMap":true,
"ConfigType":"json"
"ConfigType":"template",
"ConfigFileTemplate":"arma-reforger/AMP_serverconfig.json"
},
{
"ConfigFile":"battleye/BEServer_x64.cfg",

View File

@ -1,37 +1,40 @@
{
"dedicatedServerId":"",
"region":"EU",
"gameHostBindAddress":"",
"gameHostBindPort":2001,
"gameHostRegisterBindAddress":"",
"gameHostRegisterPort":2001,
"adminPassword":"",
"a2sQueryEnabled":true,
"steamQueryPort":17777,
"bindAddress":"{{bindAddress}}",
"bindPort":{{bindPort}},
"publicAddress":"{{publicAddress}}",
"publicPort":{{publicPort}},
"a2s":{
"address":"{{a2s.address}}",
"port":{{a2s.port}}
},
"game":{
"name":"Arma Reforger Server - Powered by AMP",
"password":"",
"scenarioId":"{ECC61978EDCC2B5A}Missions/23_Campaign.conf",
"playerCountLimit":127,
"autoJoinable":true,
"visible":true,
"supportedGameClientTypes":[
"name":"{{game.name}}",
"password":"{{game.password}}",
"passwordAdmin":"{{game.passwordAdmin}}",
"scenarioId":"{{game.scenarioId}}",
"maxPlayers":{{game.maxPlayers}},
"visible":{{game.visible}},
"crossPlatform":{{game.crossPlatform}},
"supportedPlatforms":[
"PLATFORM_PC",
"PLATFORM_XBL"
],
"gameProperties":{
"serverMaxViewDistance":1600,
"serverMinGrassDistance":0,
"networkViewDistance":500,
"disableThirdPerson":false,
"fastValidation":true,
"battlEye":true,
"missionHeader":{
"m_iPlayerCount":127,
"m_eEditableGameFlags":6,
"m_eDefaultGameFlags":6
}
"serverMaxViewDistance":{{game.gameProperties.serverMaxViewDistance}},
"serverMinGrassDistance":{{game.gameProperties.serverMinGrassDistance}},
"networkViewDistance":{{game.gameProperties.networkViewDistance}},
"disableThirdPerson":{{game.gameProperties.disableThirdPerson}},
"fastValidation":{{game.gameProperties.fastValidation}},
"battlEye":{{game.gameProperties.battlEye}},
"VONDisableUI":{{game.gameProperties.VONDisableUI}},
"VONDisableDirectSpeechUI":{{game.gameProperties.VONDisableDirectSpeechUI}},
"missionHeader":{ {{game.gameProperties.missionHeader}} }
},
"mods":[]
}
"mods":[ {{game.mods}} ]
},
"operating":{
"lobbyPlayerSynchronise":{{operating.lobbyPlayerSynchronise}},
"playerSaveTime":{{operating.playerSaveTime}},
"aiLimit":{{operating.aiLimit}}
}
}

View File

@ -14,12 +14,12 @@
"OverwriteExistingFiles":false
},
{
"UpdateStageName":"Server Config File Download",
"UpdateStageName":"Server Template Config File Download",
"UpdateSourcePlatform":"All",
"UpdateSource":"FetchURL",
"UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/arma-reforgerserver.json",
"UpdateSourceArgs":"server.json",
"UpdateSourceTarget":"{{$FullBaseDir}}Configs/",
"OverwriteExistingFiles":false
"UpdateSourceArgs":"AMP_serverconfig.json",
"UpdateSourceTarget":"{{$FullRootDir}}",
"OverwriteExistingFiles":true
}
]
]