diff --git a/InsurgencySS_Game.ini b/InsurgencySS_Game.ini index 8c2b8c2..75e7782 100644 --- a/InsurgencySS_Game.ini +++ b/InsurgencySS_Game.ini @@ -14,6 +14,7 @@ ObjectiveCaptureTime={{ObjectiveCaptureTime}} ObjectiveResetTime={{ObjectiveResetTime}} ObjectiveSpeedup={{ObjectiveSpeedup}} ObjectiveMaxSpeedupPlayers={{ObjectiveMaxSpeedupPlayers}} +bVoiceRadioBroadcastLocal={{bVoiceRadioBroadcastLocal}} [/Script/Insurgency.INSMultiplayerMode] bKillFeedGameStartingIntermissionTime={{bKillFeedGameStartingIntermissionTime}} @@ -43,64 +44,11 @@ TeamSwitchTime={{TeamSwitchTime}} SwitchTeamsEveryRound={{SwitchTeamsEveryRound}} bAllowPlayerTeamSelect={{bAllowPlayerTeamSelect}} bBots={{bBots}} -BotQuots={{BotQuots}} +BotQuota={{BotQuota}} InitialSupply={{InitialSupply}} MaximumSupply={{MaximumSupply}} bSupplyGainEnabled={{bSupplyGainEnabled}} bAwardSupplyInstantly={{bAwardSupplyInstantly}} SupplyGainFrequency={{SupplyGainFrequency}} - -[/Script/Insurgency.INSPushGameMode] -RoundTimeExtension={{RoundTimeExtension}} -AttackerWavesPerObjective={{AttackerWavesPerObjective}} -AttackerWaveDPR={{AttackerWaveDPR}} -AttackerWaveTimer={{AttackerWaveTimer}} -DefenderWavesPerObjective={{DefenderWavesPerObjective}} -DefenderWaveDPR={{DefenderWaveDPR}} -DefenderWaveTimer={{DefenderWaveTimer}} -LastStandSetupDelay={{LastStandSetupDelay}} -AdvanceAttackerSpawnsDelay={{AdvanceAttackerSpawnsDelay}} - -[/Script/Insurgency.INSFrontlineGameMode] -StartingWaves={{StartingWaves}} -CapturingBonusWave={{CapturingBonusWave}} -RegressSpawnsTimer={{RegressSpawnsTimer}} - -[/Script/Insurgency.INSSkirmishGameMode] -DefaultReinforcementWaves={{DefaultReinforcementWaves}} -CaptureBonusWaves={{CaptureBonusWaves}} - -[/Script/Insurgency.INSCoopMode] -AIDifficulty={{AIDifficulty}} -bUseVehicleInsertion={{bUseVehicleInsertion}} -FriendlyBotQuota={{FriendlyBotQuota}} -MinimumEnemies={{MinimumEnemies}} -MaximumEnemies={{MaximumEnemies}} - -[/Script/Insurgency.INSCheckpointGameMode] -DefendTimer={{DefendTimer}} -DefendTimerFinal={{DefendTimerFinal}} -RetreatTimer={{RetreatTimer}} -RespawnDPR={{RespawnDPR}} -RespawnDelay={{RespawnDelay}} -PostCaptureRushTimer={{PostCaptureRushTimer}} -CounterAttackRespawnDPR={{CounterAttackRespawnDPR}} -CounterAttackRespawnDelay={{CounterAttackRespawnDelay}} -ObjectiveTotalEnemyRespawnMultiplierMin={{ObjectiveTotalEnemyRespawnMultiplierMin}} -ObjectiveTotalEnemyRespawnMultiplierMax={{ObjectiveTotalEnemyRespawnMultiplierMax}} -FinalCacheBotQuotaMultiplier={{FinalCacheBotQuotaMultiplier}} - -[/Script/Insurgency.TeamInfo] -bVotingEnabled={{bVotingEnabled}} -TeamVoteIssues={{TeamVoteIssues}} - -[/Script/Insurgency.VoteIssueKick] -bCanTargetEnemies={{bCanTargetEnemies}} -bRequiresMinimumToStart={{bRequiresMinimumToStart}} -DefaultVoteBanDuration={{DefaultVoteBanDuration}} -IdleVoteBanDuration={{IdleVoteBanDuration}} -MinimumPlayerRatio={{MinimumPlayerRatio}} -MinimumPlayersRequired={{MinimumPlayersRequired}} -MinimumYesNoDifference={{MinimumYesNoDifference}} -VotePassRatio={{VotePassRatio}} -VoteTimeout={{VoteTimeout}} \ No newline at end of file +GameStartingIntermissionTime={{GameStartingIntermissionTime}} +bAllowThirdPersonSpectate={{bAllowThirdPersonSpectate}} \ No newline at end of file diff --git a/insurgencysandstorm.kvp b/insurgencysandstorm.kvp index c69c45a..900f51b 100644 --- a/insurgencysandstorm.kvp +++ b/insurgencysandstorm.kvp @@ -3,19 +3,19 @@ App.ApplicationPort1=27102 App.ApplicationPort2=27131 App.ApplicationReadyMode=RegexMatch App.BaseDirectory=./insurgencysandstorm/581330/ -App.CommandLineArgs={{Map}}?Scenario={{Scenario}}?MaxPlayers={{$MaxUsers}}{{password_enabled}}{{Password}} -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort2}} -Rcon -RconPassword={{$RemoteAdminPassword}} -RconListenPort={{$RemoteAdminPort}} -log -GameStats {{$FormattedArgs}} -App.CommandLineParameterDelimiter= +App.CommandLineArgs={{Map}}?Scenario="{{Scenario}}"?Lighting="{{Lighting}}"?Game="{{Game}}"?Hostname="{{Hostname}}"?MaxPlayers="{{$MaxUsers}}"?password="{{password}}" -Port={{$ApplicationPort1}} -QueryPort={{$ApplicationPort2}} -Rcon -RconPassword={{$RemoteAdminPassword}} -RconListenPort={{$RemoteAdminPort}} -log -GameStats -GameStatsToken={{GameStatsToken}} -GSLTToken={{GSLTToken}} -ruleset={{ruleset}} {{Mods_enabled}} {{$FormattedArgs}} App.CommandLineParameterFormat=-{0}="{1}" +App.CommandLineParameterDelimiter= App.DisplayName=InsurgencySandstorm App.EnvironmentVariables={"LD_LIBRARY_PATH": "./linux64:%LD_LIBRARY_PATH%", "SteamAppId": "581320"} App.ExecutableLinux=581330/Insurgency/Binaries/Linux/InsurgencyServer-Linux-Shipping App.ExecutableWin=581330\Insurgency\Binaries\Win64\InsurgencyServer-Win64-Shipping.exe App.ExitMethod=String App.ExitString=quit -App.RCONConnectDelaySeconds=45 -App.RCONConnectRetrySeconds=15 +App.RCONConnectDelaySeconds=15 +App.RCONConnectRetrySeconds=45 App.HasReadableConsole=true -App.HasWritableConsole=false +App.HasWritableConsole=true App.RapidStartup=false App.RemoteAdminPort=27015 App.RootDir=./insurgencysandstorm/ @@ -23,11 +23,12 @@ App.UpdateSource=Multi App.UpdateSources=[{"UpdateStageName": "SteamCMD Download","UpdateSourcePlatform": "All", "UpdateSource": "SteamCMD", "UpdateSourceData": "581330"}] App.WorkingDir=581330 App.UseRandomAdminPassword=True -Console.AppReadyRegex=^\[\d+.\d+.\d+-\d+.\d+.\d+\:\d+\]\[.*\]LogSession\: Display\: OnCreateSessionComplete.*Result: \(1\)$ +App.MaxUsers=32 +Console.AppReadyRegex=^.*LogSession\: Display\: OnCreateSessionComplete\:.*Result: \(1\)$ Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ -Console.UserChatRegex= -Console.UserJoinRegex= -Console.UserLeaveRegex= +Console.UserJoinRegex=^LogEOSAntiCheat\: Display\: ServerRegisterClient\: Client\: \((?.+?)\) Result\: \(EOS_Success\)$ +Console.UserLeaveRegex=^LogOnlineSession\: Warning\: STEAM \(NWI\): Player (?.+?) is not part of session \(GameSession\)$ +Console.UserChatRegex=^LogChat\: Display\: .*\((?.+?)\) .*\: (?.+)$ Meta.Author=Shinynecrid,IceOfWraith Meta.ConfigManifest=insurgencysandstormconfig.json Meta.MetaConfigManifest=insurgencysandstormmetaconfig.json @@ -35,6 +36,6 @@ Meta.ConfigRoot=insurgencysandstorm.kvp Meta.Description=Insurgency Sandstorm Dedicated Server Meta.DisplayImageSource=steam:581320 Meta.DisplayName=Insurgency Sandstorm -Meta.EndpointURIFormat= +Meta.EndpointURIFormat=steam://connect/{ip}:{GenericModule.App.ApplicationPort2} Meta.OS=3 Meta.URL=https://steamdb.info/app/581330/ \ No newline at end of file diff --git a/insurgencysandstormconfig.json b/insurgencysandstormconfig.json index 005b564..0321337 100644 --- a/insurgencysandstormconfig.json +++ b/insurgencysandstormconfig.json @@ -1,120 +1,328 @@ [ { - "DisplayName": "Map", - "Category": "Startup Config", - "Description": "Set the servers starting map", + "DisplayName": "Starting Map", + "Category": "Server Config", + "Description": "Set the server's starting map. Not all scenarios work with all maps.", "Keywords": "Map", "FieldName": "Map", - "InputType": "text", + "InputType": "enum", "IsFlagArgument": false, "ParamFieldName": "Map", "IncludeInCommandLine": false, - "DefaultValue": "Oilfield", - "EnumValues": {}, + "DefaultValue": "", + "EnumValues": { + "": "None/Random", + "Bab": "Bab", + "Canyon": "Crossing (Canyon)", + "Citadel": "Citadel", + "Farmhouse": "Farmhouse", + "Gap": "Gap", + "Town": "Hideout (Town)", + "Sinjar": "Hillside (Sinjar)", + "Ministry": "Ministry", + "Compound": "Outskirts (Compound)", + "OilField": "Refinery (Oilfield)", + "PowerPlant": "PowerPlant", + "Precinct": "Precinct", + "Mountain": "Summit (Mountain)", + "Tell": "Tell", + "Buhriz": "Tideway (Buhriz)" + }, "SkipIfEmpty": true }, { - "DisplayName": "Scenario", - "Category": "Startup Config", - "Description": "Set the server scenario", + "DisplayName": "Starting Scenario", + "Category": "Server Config", + "Description": "Set the server's starting scenario. Not all scenarios work with all maps. Must be set to None/Random if no map is chosen.", "Keywords": "Scenario", "FieldName": "Scenario", - "InputType": "text", + "InputType": "enum", "IsFlagArgument": false, "ParamFieldName": "Scenario", "IncludeInCommandLine": false, - "DefaultValue": "Scenario_Refinery_Push_Security", - "EnumValues": {}, + "DefaultValue": "", + "EnumValues": { + "": "None/Random", + "Scenario_Bab_Checkpoint_Insurgents": "Scenario_Bab_Checkpoint_Insurgents", + "Scenario_Bab_Checkpoint_Security": "Scenario_Bab_Checkpoint_Security", + "Scenario_Bab_Domination": "Scenario_Bab_Domination", + "Scenario_Bab_Firefight_East": "Scenario_Bab_Firefight_East", + "Scenario_Bab_Outpost": "Scenario_Bab_Outpost", + "Scenario_Bab_Push_Insurgents": "Scenario_Bab_Push_Insurgents", + "Scenario_Bab_Push_Security": "Scenario_Bab_Push_Security", + "Scenario_Citadel_Ambush": "Scenario_Citadel_Ambush", + "Scenario_Citadel_Checkpoint_Insurgents": "Scenario_Citadel_Checkpoint_Insurgents", + "Scenario_Citadel_Checkpoint_Security": "Scenario_Citadel_Checkpoint_Security", + "Scenario_Citadel_Domination": "Scenario_Citadel_Domination", + "Scenario_Citadel_Firefight_East": "Scenario_Citadel_Firefight_East", + "Scenario_Citadel_Outpost": "Scenario_Citadel_Outpost", + "Scenario_Citadel_Push_Insurgents": "Scenario_Citadel_Push_Insurgents", + "Scenario_Citadel_Push_Security": "Scenario_Citadel_Push_Security", + "Scenario_Citadel_Survival": "Scenario_Citadel_Survival", + "Scenario_Crossing_Ambush": "Scenario_Crossing_Ambush", + "Scenario_Crossing_Checkpoint_Insurgents": "Scenario_Crossing_Checkpoint_Insurgents", + "Scenario_Crossing_Checkpoint_Security": "Scenario_Crossing_Checkpoint_Security", + "Scenario_Crossing_Domination": "Scenario_Crossing_Domination", + "Scenario_Crossing_Firefight_West": "Scenario_Crossing_Firefight_West", + "Scenario_Crossing_Frontline": "Scenario_Crossing_Frontline", + "Scenario_Crossing_Push_Insurgents": "Scenario_Crossing_Push_Insurgents", + "Scenario_Crossing_Push_Security": "Scenario_Crossing_Push_Security", + "Scenario_Crossing_Skirmish": "Scenario_Crossing_Skirmish", + "Scenario_Crossing_Team_Deathmatch": "Scenario_Crossing_Team_Deathmatch", + "Scenario_Farmhouse_Ambush": "Scenario_Farmhouse_Ambush", + "Scenario_Farmhouse_Checkpoint_Insurgents": "Scenario_Farmhouse_Checkpoint_Insurgents", + "Scenario_Farmhouse_Checkpoint_Security": "Scenario_Farmhouse_Checkpoint_Security", + "Scenario_Farmhouse_Domination": "Scenario_Farmhouse_Domination", + "Scenario_Farmhouse_Firefight_East": "Scenario_Farmhouse_Firefight_East", + "Scenario_Farmhouse_Firefight_West": "Scenario_Farmhouse_Firefight_West", + "Scenario_Farmhouse_Frontline": "Scenario_Farmhouse_Frontline", + "Scenario_Farmhouse_Push_Insurgents": "Scenario_Farmhouse_Push_Insurgents", + "Scenario_Farmhouse_Push_Security": "Scenario_Farmhouse_Push_Security", + "Scenario_Farmhouse_Skirmish": "Scenario_Farmhouse_Skirmish", + "Scenario_Farmhouse_Team_Deathmatch": "Scenario_Farmhouse_Team_Deathmatch", + "Scenario_Farmhouse_Survival": "Scenario_Farmhouse_Survival", + "Scenario_Gap_Ambush": "Scenario_Gap_Ambush", + "Scenario_Gap_Checkpoint_Insurgents": "Scenario_Gap_Checkpoint_Insurgents", + "Scenario_Gap_Checkpoint_Security": "Scenario_Gap_Checkpoint_Security", + "Scenario_Gap_Domination": "Scenario_Gap_Domination", + "Scenario_Gap_Firefight": "Scenario_Gap_Firefight", + "Scenario_Gap_Frontline": "Scenario_Gap_Frontline", + "Scenario_Gap_Outpost": "Scenario_Gap_Outpost", + "Scenario_Gap_Push_Insurgents": "Scenario_Gap_Push_Insurgents", + "Scenario_Gap_Push_Security": "Scenario_Gap_Push_Security", + "Scenario_Gap_Survival": "Scenario_Gap_Survival", + "Scenario_Hideout_Ambush": "Scenario_Hideout_Ambush", + "Scenario_Hideout_Checkpoint_Insurgents": "Scenario_Hideout_Checkpoint_Insurgents", + "Scenario_Hideout_Checkpoint_Security": "Scenario_Hideout_Checkpoint_Security", + "Scenario_Hideout_Domination": "Scenario_Hideout_Domination", + "Scenario_Hideout_Firefight_East": "Scenario_Hideout_Firefight_East", + "Scenario_Hideout_Firefight_West": "Scenario_Hideout_Firefight_West", + "Scenario_Hideout_Frontline": "Scenario_Hideout_Frontline", + "Scenario_Hideout_Push_Insurgents": "Scenario_Hideout_Push_Insurgents", + "Scenario_Hideout_Push_Security": "Scenario_Hideout_Push_Security", + "Scenario_Hideout_Skirmish": "Scenario_Hideout_Skirmish", + "Scenario_Hideout_Team_Deathmatch": "Scenario_Hideout_Team_Deathmatch", + "Scenario_Hideout_Survival": "Scenario_Hideout_Survival", + "Scenario_Hillside_Ambush": "Scenario_Hillside_Ambush", + "Scenario_Hillside_Checkpoint_Insurgents": "Scenario_Hillside_Checkpoint_Insurgents", + "Scenario_Hillside_Checkpoint_Security": "Scenario_Hillside_Checkpoint_Security", + "Scenario_Hillside_Domination": "Scenario_Hillside_Domination", + "Scenario_Hillside_Firefight_East": "Scenario_Hillside_Firefight_East", + "Scenario_Hillside_Firefight_West": "Scenario_Hillside_Firefight_West", + "Scenario_Hillside_Frontline": "Scenario_Hillside_Frontline", + "Scenario_Hillside_Push_Insurgents": "Scenario_Hillside_Push_Insurgents", + "Scenario_Hillside_Push_Security": "Scenario_Hillside_Push_Security", + "Scenario_Hillside_Skirmish": "Scenario_Hillside_Skirmish", + "Scenario_Hillside_Team_Deathmatch": "Scenario_Hillside_Team_Deathmatch", + "Scenario_Hillside_Survival": "Scenario_Hillside_Survival", + "Scenario_Ministry_Ambush": "Scenario_Ministry_Ambush", + "Scenario_Ministry_Checkpoint_Insurgents": "Scenario_Ministry_Checkpoint_Insurgents", + "Scenario_Ministry_Checkpoint_Security": "Scenario_Ministry_Checkpoint_Security", + "Scenario_Ministry_Domination": "Scenario_Ministry_Domination", + "Scenario_Ministry_Firefight_A": "Scenario_Ministry_Firefight_A", + "Scenario_Ministry_Skirmish": "Scenario_Ministry_Skirmish", + "Scenario_Ministry_Team_Deathmatch": "Scenario_Ministry_Team_Deathmatch", + "Scenario_Outskirts_Checkpoint_Insurgents": "Scenario_Outskirts_Checkpoint_Insurgents", + "Scenario_Outskirts_Checkpoint_Security": "Scenario_Outskirts_Checkpoint_Security", + "Scenario_Outskirts_Firefight_East": "Scenario_Outskirts_Firefight_East", + "Scenario_Outskirts_Firefight_West": "Scenario_Outskirts_Firefight_West", + "Scenario_Outskirts_Frontline": "Scenario_Outskirts_Frontline", + "Scenario_Outskirts_Push_Insurgents": "Scenario_Outskirts_Push_Insurgents", + "Scenario_Outskirts_Push_Security": "Scenario_Outskirts_Push_Security", + "Scenario_Outskirts_Skirmish": "Scenario_Outskirts_Skirmish", + "Scenario_Outskirts_Team_Deathmatch": "Scenario_Outskirts_Team_Deathmatch", + "Scenario_Outskirts_Survival": "Scenario_Outskirts_Survival", + "Scenario_Precinct_Ambush": "Scenario_Precinct_Ambush", + "Scenario_Precinct_Checkpoint_Insurgents": "Scenario_Precinct_Checkpoint_Insurgents", + "Scenario_Precinct_Checkpoint_Security": "Scenario_Precinct_Checkpoint_Security", + "Scenario_Precinct_Firefight_East": "Scenario_Precinct_Firefight_East", + "Scenario_Precinct_Firefight_West": "Scenario_Precinct_Firefight_West", + "Scenario_Precinct_Frontline": "Scenario_Precinct_Frontline", + "Scenario_Precinct_Push_Insurgents": "Scenario_Precinct_Push_Insurgents", + "Scenario_Precinct_Push_Security": "Scenario_Precinct_Push_Security", + "Scenario_Precinct_Skirmish": "Scenario_Precinct_Skirmish", + "Scenario_Precinct_Team_Deathmatch": "Scenario_Precinct_Team_Deathmatch", + "Scenario_Precinct_Survival": "Scenario_Precinct_Survival", + "Scenario_Refinery_Ambush": "Scenario_Refinery_Ambush", + "Scenario_Refinery_Checkpoint_Insurgents": "Scenario_Refinery_Checkpoint_Insurgents", + "Scenario_Refinery_Checkpoint_Security": "Scenario_Refinery_Checkpoint_Security", + "Scenario_Refinery_Firefight_West": "Scenario_Refinery_Firefight_West", + "Scenario_Refinery_Frontline": "Scenario_Refinery_Frontline", + "Scenario_Refinery_Push_Insurgents": "Scenario_Refinery_Push_Insurgents", + "Scenario_Refinery_Push_Security": "Scenario_Refinery_Push_Security", + "Scenario_Refinery_Skirmish": "Scenario_Refinery_Skirmish", + "Scenario_Refinery_Team_Deathmatch": "Scenario_Refinery_Team_Deathmatch", + "Scenario_Summit_Ambush": "Scenario_Summit_Ambush", + "Scenario_Summit_Checkpoint_Insurgents": "Scenario_Summit_Checkpoint_Insurgents", + "Scenario_Summit_Checkpoint_Security": "Scenario_Summit_Checkpoint_Security", + "Scenario_Summit_Firefight_East": "Scenario_Summit_Firefight_East", + "Scenario_Summit_Firefight_West": "Scenario_Summit_Firefight_West", + "Scenario_Summit_Frontline": "Scenario_Summit_Frontline", + "Scenario_Summit_Push_Insurgents": "Scenario_Summit_Push_Insurgents", + "Scenario_Summit_Push_Security": "Scenario_Summit_Push_Security", + "Scenario_Summit_Skirmish": "Scenario_Summit_Skirmish", + "Scenario_Summit_Team_Deathmatch": "Scenario_Summit_Team_Deathmatch", + "Scenario_Summit_Survival": "Scenario_Summit_Survival", + "Scenario_Powerplant_Ambush": "Scenario_Powerplant_Ambush", + "Scenario_PowerPlant_Checkpoint_Insurgents": "Scenario_PowerPlant_Checkpoint_Insurgents", + "Scenario_PowerPlant_Checkpoint_Security": "Scenario_PowerPlant_Checkpoint_Security", + "Scenario_PowerPlant_Domination": "Scenario_PowerPlant_Domination", + "Scenario_PowerPlant_Firefight_East": "Scenario_PowerPlant_Firefight_East", + "Scenario_PowerPlant_Firefight_West": "Scenario_PowerPlant_Firefight_West", + "Scenario_PowerPlant_Push_Insurgents": "Scenario_PowerPlant_Push_Insurgents", + "Scenario_PowerPlant_Push_Security": "Scenario_PowerPlant_Push_Security", + "Scenario_PowerPlant_Survival": "Scenario_PowerPlant_Survival", + "Scenario_Tell_Ambush": "Scenario_Tell_Ambush", + "Scenario_Tell_Checkpoint_Insurgents": "Scenario_Tell_Checkpoint_Insurgents", + "Scenario_Tell_Checkpoint_Security": "Scenario_Tell_Checkpoint_Security", + "Scenario_Tell_Domination": "Scenario_Tell_Domination", + "Scenario_Tell_Firefight_East": "Scenario_Tell_Firefight_East", + "Scenario_Tell_Firefight_West": "Scenario_Tell_Firefight_West", + "Scenario_Tell_Outpost": "Scenario_Tell_Outpost", + "Scenario_Tell_Push_Insurgents": "Scenario_Tell_Push_Insurgents", + "Scenario_Tell_Push_Security": "Scenario_Tell_Push_Security", + "Scenario_Tell_Survival": "Scenario_Tell_Survival", + "Scenario_Tideway_Checkpoint_Insurgents": "Scenario_Tideway_Checkpoint_Insurgents", + "Scenario_Tideway_Checkpoint_Security": "Scenario_Tideway_Checkpoint_Security", + "Scenario_Tideway_Domination": "Scenario_Tideway_Domination", + "Scenario_Tideway_Firefight_West": "Scenario_Tideway_Firefight_West", + "Scenario_Tideway_Frontline": "Scenario_Tideway_Frontline", + "Scenario_Tideway_Push_Insurgents": "Scenario_Tideway_Push_Insurgents", + "Scenario_Tideway_Push_Security": "Scenario_Tideway_Push_Security" + }, + "SkipIfEmpty": true + }, + { + "DisplayName": "Starting Lighting", + "Category": "Server Config", + "Description": "Set the server's starting lighting. Must be set to Day if no map and Scenario are chosen.", + "Keywords": "Lighting", + "FieldName": "Lighting", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "Lighting", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": { + "": "Day", + "Night": "Night" + }, + "SkipIfEmpty": true + }, + { + "DisplayName": "Starting Game Mode", + "Category": "Server Config", + "Description": "Set the server's starting game mode. Must be set to None/Random if no map and Scenario are chosen.", + "Keywords": "Gamemode", + "FieldName": "Game", + "InputType": "enum", + "IsFlagArgument": false, + "ParamFieldName": "Game", + "IncludeInCommandLine": false, + "DefaultValue": "", + "EnumValues": { + "": "None/Random", + "CaptureTheBase": "Capture The Base", + "Checkpoint": "Checkpoint", + "CheckpointHardcore": "Checkpoint Hardcore", + "CheckpointTutorial": "Checkpoint Tutorial", + "Domination": "Domination", + "Filming": "Filming", + "Firefight": "Firefight", + "Frontline": "Frontline", + "Mission": "Mission", + "Occupy": "Occupy", + "Operations": "Operations", + "Outpost": "Outpost", + "Skirmish": "Skirmish", + "TeamDeathmatch": "Team Deathmatch" + }, "SkipIfEmpty": true }, { "DisplayName": "Hostname", - "Category": "Startup Config", + "Category": "Server Config", "Description": "Set the servers hostname", "Keywords": "Hostname", "FieldName": "Hostname", "InputType": "text", "IsFlagArgument": false, "ParamFieldName": "Hostname", - "IncludeInCommandLine": true, + "IncludeInCommandLine": false, "DefaultValue": "My Server Powered by AMP", "EnumValues": {} }, + { + "DisplayName": "Max Players", + "Category": "Server Config", + "Description": "Set server maximum amount of players", + "Keywords": "Max Users", + "FieldName": "$MaxUsers", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "MaxPlayers", + "IncludeInCommandLine": false, + "DefaultValue": "32", + "EnumValues": {} + }, { "DisplayName": "Token", - "Category": "Startup Config", + "Category": "Server Config", "Description": "Set the steam GSLTToken APPID 581320 [Get A GSLToken ID](https://steamcommunity.com/dev/managegameservers/)", "Keywords": "Token", "FieldName": "GSLTToken", "InputType": "password", "IsFlagArgument": false, "ParamFieldName": "GSLTToken", - "IncludeInCommandLine": true, + "IncludeInCommandLine": false, "DefaultValue": "", "EnumValues": {}, "SkipIfEmpty": true }, - { - "DisplayName": "Max Players", - "Category": "Startup Config", - "Description": "Set server maximum amount of players", - "Keywords": "Max Users", - "FieldName": "$MaxUsers", - "InputType": "number", - "IsFlagArgument": false, - "ParamFieldName": "$MaxUsers", - "IncludeInCommandLine": false, - "DefaultValue": "25", - "EnumValues": {} - }, { "DisplayName": "Game Stats Token", - "Category": "Startup Config", + "Category": "Server Config", "Description": "Set the game stats token for XP Gain [Get A GameStats Token ID](https://gamestats.sandstorm.game/)", "Keywords": "Stats", "FieldName": "GameStatsToken", "InputType": "password", "IsFlagArgument": false, "ParamFieldName": "GameStatsToken", - "IncludeInCommandLine": true, + "IncludeInCommandLine": false, "DefaultValue": "", "EnumValues": {}, "SkipIfEmpty": true }, { "DisplayName": "Password", - "Category": "Startup Config", + "Category": "Server Config", "Description": "Sets a password for the server", "Keywords": "Password", - "FieldName": "Password", + "FieldName": "password", "InputType": "password", "IsFlagArgument": false, - "ParamFieldName": "Password", + "ParamFieldName": "password", "IncludeInCommandLine": false, "DefaultValue": "", "EnumValues": {}, "SkipIfEmpty": true }, - { - "DisplayName": "Password Enabled", - "Category": "Startup Config", - "Description": "Enables the server password", - "Keywords": "Password", - "FieldName": "password_enabled", - "InputType": "checkbox", + { + "DisplayName": "RCON Password", + "Category": "Server Config", + "Description": "Password to connect to RCON. Change this after installing the server", + "Keywords": "RCON,password", + "FieldName": "$RemoteAdminPassword", + "InputType": "RandomPassword", "IsFlagArgument": false, - "ParamFieldName": "password_enabled", + "ParamFieldName": "$RemoteAdminPassword", "IncludeInCommandLine": false, - "DefaultValue": "", - "EnumValues": { - "False": "", - "True": "?password=" - } - }, + "DefaultValue": "Password123" + }, { "DisplayName": "Mutator", - "Category": "Startup Config", - "Description": "Set a server mutator", + "Category": "Server Config", + "Description": "Set server mutators (comma separated)", "Keywords": "Mutator", "FieldName": "mutators", "InputType": "text", @@ -123,25 +331,32 @@ "IncludeInCommandLine": true, "DefaultValue": "", "EnumValues": {}, + "Placeholder": "HotPotato,Vampirism", "SkipIfEmpty": true }, { "DisplayName": "Rule Set", - "Category": "Startup Config", + "Category": "Server Config", "Description": "Set the rules for the server", "Keywords": "Rules", "FieldName": "ruleset", - "InputType": "text", + "InputType": "enum", "IsFlagArgument": false, "ParamFieldName": "ruleset", - "IncludeInCommandLine": true, + "IncludeInCommandLine": false, "DefaultValue": "OfficialRules", - "EnumValues": {}, + "EnumValues": { + "CheckpointFrenzy": "Checkpoint Frenzy", + "CompetitiveFirefight": "Competitive Firefight", + "CompetitiveTheater": "Competitive Theater", + "MatchmakingCasual": "Matchmaking Casual", + "OfficialRules": "Official Rules" + }, "SkipIfEmpty": true }, { "DisplayName": "Mods Enabled", - "Category": "Startup Config", + "Category": "Server Config", "Description": "Enables the server to use a Modlist", "Keywords": "Mods", "FieldName": "Mods_enabled", @@ -152,12 +367,27 @@ "DefaultValue": "", "EnumValues": { "False": "", - "True": "-Mods -ModList=Mods" + "True": "-Mods" } }, + { + "DisplayName": "Mod Travel To", + "Category": "Server Config", + "Description": "Set the Mod Travel to", + "Keywords": "Mods", + "FieldName": "ModDownloadTravelTo", + "InputType": "text", + "IsFlagArgument": false, + "ParamFieldName": "ModDownloadTravelTo", + "IncludeInCommandLine": true, + "DefaultValue": "", + "EnumValues": {}, + "Placeholder":"Canyon?Scenario=Scenario_Crossing_Checkpoint_Security?Lighting=Day", + "SkipIfEmpty": true + }, { "DisplayName": "MOTD", - "Category": "Startup Config", + "Category": "Server Config", "Description": "Set the server MOTD", "Keywords": "MOTD", "FieldName": "Motd", @@ -173,7 +403,7 @@ "DisplayName": "Admin Players", "Description": "A list of Steam64 IDs for players that are in-game admins. [Find your Steam64 ID](https://steamidfinder.com/)", "FieldName": "AdminPlayers", - "Category": "Startup Config", + "Category": "Server Config", "InputType": "list", "Special": "listfile:./insurgencysandstorm/581330/Insurgency/Config/Server/Admins.txt" }, @@ -181,7 +411,7 @@ "DisplayName": "Map Cycle", "Description": "A List of map scenarios for the server to use", "FieldName": "MapCycle", - "Category": "Startup Config", + "Category": "Server Config", "InputType": "list", "Special": "listfile:./insurgencysandstorm/581330/Insurgency/Config/Server/MapCycle.txt" }, @@ -189,7 +419,7 @@ "DisplayName": "Mods", "Description": "Define a list of Mods for the server to use.", "FieldName": "Mods", - "Category": "Startup Config", + "Category": "Server Config", "InputType": "list", "Special": "listfile:./insurgencysandstorm/581330/Insurgency/Config/Server/Mods.txt" }, @@ -207,5 +437,662 @@ "False": "False", "True": "True" } + }, + { + "DisplayName": "Kill Feed Spectator", + "Category": "Game Mode", + "Description": "Is the kill feed enabled for dedicated spectators and replays?", + "Keywords": "Kill Feed", + "FieldName": "bKillFeedSpectator", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "bKillFeedSpectator", + "DefaultValue": "True", + "EnumValues": { + "False": "False", + "True": "True" + } + }, + { + "DisplayName": "Display Killer Info", + "Category": "Game Mode", + "Description": "Show information about a death (killer, weapon) to the victim?", + "Keywords": "Kill Feed", + "FieldName": "bKillerInfo", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "bKillerInfo", + "DefaultValue": "True", + "EnumValues": { + "False": "False", + "True": "True" + } + }, + { + "DisplayName": "Kill Distance Reveal", + "Category": "Game Mode", + "Description": "Reveal distance of kills?", + "Keywords": "Kill Feed", + "FieldName": "bKillerInfoRevealDistance", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "bKillerInfoRevealDistance", + "DefaultValue": "True", + "EnumValues": { + "False": "False", + "True": "True" + } + }, + { + "DisplayName": "Team Kill Limit", + "Category": "Game Mode", + "Description": "Limit for the number of team kills one player can perform before being kicked.", + "Keywords": "Team", + "FieldName": "TeamKillLimit", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "TeamKillLimit", + "DefaultValue": "3", + "EnumValues": {} + }, + { + "DisplayName": "Team Kill Grace Timer", + "Category": "Game Mode", + "Description": "Grace timer between team killing incidents.", + "Keywords": "Team", + "FieldName": "TeamKillGrace", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "TeamKillGrace", + "DefaultValue": "0.2", + "EnumValues": {} + }, + { + "DisplayName": "Team Kill Reduce Time", + "Category": "Game Mode", + "Description": "How long until a player’s TK count reduces by 1.", + "Keywords": "Team", + "FieldName": "TeamKillReduceTime", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "TeamKillReduceTime", + "DefaultValue": "90", + "EnumValues": {} + }, + { + "DisplayName": "Can the dead speak?", + "Category": "Game Mode", + "Description": "Can alive players see messages from the dead?", + "Keywords": "Voice", + "FieldName": "bDeadSay", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "bDeadSay", + "DefaultValue": "False", + "EnumValues": { + "False": "False", + "True": "True" + } + }, + { + "DisplayName": "Can the dead speak to teammates?", + "Category": "Game Mode", + "Description": "Can alive players see messages from dead teammates using team-only chat?", + "Keywords": "Voice", + "FieldName": "bDeadSayTeam", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "bDeadSayTeam", + "DefaultValue": "True", + "EnumValues": { + "False": "False", + "True": "True" + } + }, + { + "DisplayName": "Allow Dead Players Voice Chat?", + "Category": "Game Mode", + "Description": "Can alive players hear voice chat from dead players?", + "Keywords": "Voice", + "FieldName": "bVoiceAllowDeadChat", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "bVoiceAllowDeadChat", + "DefaultValue": "False", + "EnumValues": { + "False": "False", + "True": "True" + } + }, + { + "DisplayName": "Allow enemies to hear proximity chat?", + "Category": "Game Mode", + "Description": "Can proximity voice chat be heard by enemies?", + "Keywords": "Radio", + "FieldName": "bVoiceEnemyHearsLocal", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "bVoiceEnemyHearsLocal", + "DefaultValue": "True", + "EnumValues": { + "False": "False", + "True": "True" + } + }, + { + "DisplayName": "Allow radio chat to broadcast on local channel", + "Category": "Game Mode", + "Description": "Can radio chat also broadcast on the local channel?", + "Keywords": "Radio", + "FieldName": "bVoiceRadioBroadcastLocal", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "bVoiceRadioBroadcastLocal", + "DefaultValue": "False", + "EnumValues": { + "False": "False", + "True": "True" + } + }, + { + "DisplayName": "Objective Capture Time", + "Category": "Game Mode", + "Description": "How long it takes to capture territorial objectives.", + "Keywords": "Time", + "FieldName": "ObjectiveCaptureTime", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "ObjectiveCaptureTime", + "DefaultValue": "30", + "EnumValues": {} + }, + { + "DisplayName": "Objective Reset Time", + "Category": "Game Mode", + "Description": "How long objective progress decays with no one on the point. Negative value disables.", + "Keywords": "Time", + "FieldName": "ObjectiveResetTime", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "ObjectiveResetTime", + "DefaultValue": "-1", + "EnumValues": {} + }, + { + "DisplayName": "Objective Speed Up Time", + "Category": "Game Mode", + "Description": "Additional capture speed-up for each player on the point.", + "Keywords": "Time", + "FieldName": "ObjectiveSpeedup", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "ObjectiveSpeedup", + "DefaultValue": "0.25", + "EnumValues": {} + }, + { + "DisplayName": "Objective Speed Up Players", + "Category": "Game Mode", + "Description": "Maximum players taken into account for capture speed-up.", + "Keywords": "Time,Speed", + "FieldName": "ObjectiveMaxSpeedupPlayers", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "ObjectiveMaxSpeedupPlayers", + "DefaultValue": "4", + "EnumValues": {} + }, + { + "DisplayName": "Kill Feed Game Starting Intermission time", + "Category": "Game Mode", + "Description": "How long after a round starts before showing a kill feed", + "Keywords": "Time,Speed", + "FieldName": "bKillFeedGameStartingIntermissionTime", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "bKillFeedGameStartingIntermissionTime", + "DefaultValue": "5", + "EnumValues": {} + }, + { + "DisplayName": "Game Start Intermission Timer", + "Category": "Multiplayer Mode", + "Description": "The additional time to wait for additional players during the starting intermission.", + "Keywords": "Time", + "FieldName": "GameStartingIntermissionTime", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "GameStartingIntermissionTime", + "DefaultValue": "5", + "EnumValues": {} + }, + { + "DisplayName": "Win Time", + "Category": "Multiplayer Mode", + "Description": "How long players are frozen before transitioning to the round intermission screen.", + "Keywords": "Time", + "FieldName": "WinTime", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "WinTime", + "DefaultValue": "5", + "EnumValues": {} + }, + { + "DisplayName": "Time Spent on Intermision Screen.", + "Category": "Multiplayer Mode", + "Description": "How long is spent on the intermission screen.", + "Keywords": "Time", + "FieldName": "PostRoundTime", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "PostRoundTime", + "DefaultValue": "15", + "EnumValues": {} + }, + { + "DisplayName": "Time Spent inbetween rounds", + "Category": "Multiplayer Mode", + "Description": "How much time is spent between last post round and game over.", + "Keywords": "Time", + "FieldName": "PostGameTime", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "PostGameTime", + "DefaultValue": "15", + "EnumValues": {} + }, + { + "DisplayName": "Auto Assign Teams?", + "Category": "Multiplayer Mode", + "Description": "Should teams be assigned on connect?", + "Keywords": "Team", + "FieldName": "bAutoAssignTeams", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "bAutoAssignTeams", + "DefaultValue": "True", + "EnumValues": { + "False": "False", + "True": "True" + } + }, + { + "DisplayName": "Allow Friendly Fire?", + "Category": "Multiplayer Mode", + "Description": "Enables friendly fire.", + "Keywords": "Team", + "FieldName": "bAllowFriendlyFire", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "bAllowFriendlyFire", + "DefaultValue": "True", + "EnumValues": { + "False": "False", + "True": "True" + } + }, + { + "DisplayName": "Friendly Fire Damage Modifier", + "Category": "Multiplayer Mode", + "Description": "Damage modifier for friendly fire", + "Keywords": "Damage", + "FieldName": "FriendlyFireModifier", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "FriendlyFireModifier", + "DefaultValue": "0.2", + "EnumValues": {} + }, + { + "DisplayName": "Friendly Fire Reflect Damage", + "Category": "Multiplayer Mode", + "Description": "Damage modifier for friendly fire that is mirrored back at the attacker.", + "Keywords": "Damage", + "FieldName": "FriendlyFireReflect", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "FriendlyFireReflect", + "DefaultValue": "0", + "EnumValues": {} + }, + { + "DisplayName": "Auto Balance Teams", + "Category": "Multiplayer Mode", + "Description": "Enables auto team balancing.", + "Keywords": "Team", + "FieldName": "bAutoBalanceTeams", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "bAutoBalanceTeams", + "DefaultValue": "True", + "EnumValues": { + "False": "False", + "True": "True" + } + }, + { + "DisplayName": "Auto Balance Delay", + "Category": "Multiplayer Mode", + "Description": "How long to wait after detecting unbalanced teams.", + "Keywords": "Team", + "FieldName": "AutoBalanceDelay", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "AutoBalanceDelay", + "DefaultValue": "10", + "EnumValues": {} + }, + { + "DisplayName": "Map Voting", + "Category": "Multiplayer Mode", + "Description": "Enabled map voting at the end of each game.", + "Keywords": "Map,Voting", + "FieldName": "bMapVoting", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "bMapVoting", + "DefaultValue": "True", + "EnumValues": { + "False": "False", + "True": "True" + } + }, + { + "DisplayName": "Enable Map Cycle", + "Category": "Multiplayer Mode", + "Description": "Enables the use of the map cycle. If disabled, the current map loops indefinitely.", + "Keywords": "Map", + "FieldName": "bUseMapCycle", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "bUseMapCycle", + "DefaultValue": "True", + "EnumValues": { + "False": "False", + "True": "True" + } + }, + { + "DisplayName": "Allow Voice During Intermission?", + "Category": "Multiplayer Mode", + "Description": "Allow both teams to talk to each other between rounds.", + "Keywords": "Voice", + "FieldName": "bVoiceIntermissionAllowAll", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "bVoiceIntermissionAllowAll", + "DefaultValue": "True", + "EnumValues": { + "False": "False", + "True": "True" + } + }, + { + "DisplayName": "Idle Kick Timer", + "Category": "Multiplayer Mode", + "Description": "How long a player can be idle for before being kicked.", + "Keywords": "Time", + "FieldName": "IdleLimit", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "IdleLimit", + "DefaultValue": "150", + "EnumValues": {} + }, + { + "DisplayName": "Low Reinforcements Idle Timer", + "Category": "Multiplayer Mode", + "Description": "How long a player can idle for when there are low reinforcements.", + "Keywords": "Time", + "FieldName": "IdleLimitLowReinforcements", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "IdleLimitLowReinforcements", + "DefaultValue": "90", + "EnumValues": {} + }, + { + "DisplayName": "Check For Idle Players Timer", + "Category": "Multiplayer Mode", + "Description": "How frequently to check for idle players.", + "Keywords": "Time", + "FieldName": "IdleCheckFrequency", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "IdleCheckFrequency", + "DefaultValue": "30", + "EnumValues": {} + }, + { + "DisplayName": "Allow Voice During Intermission?", + "Category": "Multiplayer Mode", + "Description": "Can Players use 3rd person spectator mode?", + "Keywords": "Spectate", + "FieldName": "bAllowThirdPersonSpectate", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "bAllowThirdPersonSpectate", + "DefaultValue": "False", + "EnumValues": { + "False": "False", + "True": "True" + } + }, + { + "DisplayName": "Minimum Players to start the game.", + "Category": "Multiplayer Mode", + "Description": "Minimum players required on each team to start the game.", + "Keywords": "Players, Minimum", + "FieldName": "MinimumPlayers", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "MinimumPlayers", + "DefaultValue": "1", + "EnumValues": {} + }, + { + "DisplayName": "Round Limit", + "Category": "Multiplayer Mode", + "Description": "Maximum number of rounds to play.", + "Keywords": "Rounds,Maximum", + "FieldName": "RoundLimit", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "RoundLimit", + "DefaultValue": "3", + "EnumValues": {} + }, + { + "DisplayName": "Win Limit", + "Category": "Multiplayer Mode", + "Description": "Number of rounds required for game victory.", + "Keywords": "Rounds", + "FieldName": "WinLimit", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "WinLimit", + "DefaultValue": "1", + "EnumValues": {} + }, + { + "DisplayName": "Game Time Limit", + "Category": "Multiplayer Mode", + "Description": "Number of rounds required for game victory.", + "Keywords": "Time", + "FieldName": "GameTimeLimit", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "GameTimeLimit", + "DefaultValue": "-1", + "EnumValues": {} + }, + { + "DisplayName": "Pre Round Limit", + "Category": "Multiplayer Mode", + "Description": "Amount of “freeze time” at the start of a round.", + "Keywords": "Time", + "FieldName": "PreRoundLimit", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "PreRoundLimit", + "DefaultValue": "10", + "EnumValues": {} + }, + { + "DisplayName": "Round Time", + "Category": "Multiplayer Mode", + "Description": "Duration of the round.", + "Keywords": "Time", + "FieldName": "RoundTime", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "RoundTime", + "DefaultValue": "1080", + "EnumValues": {} + }, + { + "DisplayName": "Overtime", + "Category": "Multiplayer Mode", + "Description": "Amount of overtime given when there is an objective being contested after the round timer expires.", + "Keywords": "Time", + "FieldName": "OverTime", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "OverTime", + "DefaultValue": "60", + "EnumValues": {} + }, + { + "DisplayName": "Team Switch Time", + "Category": "Multiplayer Mode", + "Description": "Minimum additional time spent between team switches.", + "Keywords": "Time", + "FieldName": "TeamSwitchTime", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "TeamSwitchTime", + "DefaultValue": "10", + "EnumValues": {} + }, + { + "DisplayName": "Switch Team Every Round", + "Category": "Multiplayer Mode", + "Description": "How often to switch teams. 0 = never, 1 = every round, 2 = every other round, etc.", + "Keywords": "Team,Switch", + "FieldName": "SwitchTeamsEveryRound", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "SwitchTeamsEveryRound", + "DefaultValue": "1", + "EnumValues": {} + }, + { + "DisplayName": "Allow Players to Switch Teams", + "Category": "Multiplayer Mode", + "Description": "Allow players to switch to the other team?", + "Keywords": "Team,Switch", + "FieldName": "bAllowPlayerTeamSelect", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "bAllowPlayerTeamSelect", + "DefaultValue": "True", + "EnumValues": { + "False": "False", + "True": "True" + } + }, + { + "DisplayName": "Enable Bots?", + "Category": "Multiplayer Mode", + "Description": "Enables Bots", + "Keywords": "Bots", + "FieldName": "bBots", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "bBots", + "DefaultValue": "False", + "EnumValues": { + "False": "False", + "True": "True" + } + }, + { + "DisplayName": "Bot Quota Fill", + "Category": "Multiplayer Mode", + "Description": "Bot quota to fill.", + "Keywords": "Bots", + "FieldName": "BotQuota", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "BotQuota", + "DefaultValue": "5", + "EnumValues": {} + }, + { + "DisplayName": "Initial Supply Points", + "Category": "Multiplayer Mode", + "Description": "Amount of starting supply points.", + "Keywords": "Supply,Points", + "FieldName": "InitialSupply", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "InitialSupply", + "DefaultValue": "15", + "EnumValues": {} + }, + { + "DisplayName": "Maximum Supply Points", + "Category": "Multiplayer Mode", + "Description": "Maximum supply that can be earned.", + "Keywords": "Supply,Points", + "FieldName": "MaximumSupply", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "MaximumSupply", + "DefaultValue": "15", + "EnumValues": {} + }, + { + "DisplayName": "Enable Supply Gain", + "Category": "Multiplayer Mode", + "Description": "Enable supply gain throughout the round.", + "Keywords": "Supply,Points", + "FieldName": "bSupplyGainEnabled", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "bSupplyGainEnabled", + "DefaultValue": "False", + "EnumValues": { + "False": "False", + "True": "True" + } + }, + { + "DisplayName": "Instant Supply Gain", + "Category": "Multiplayer Mode", + "Description": "Should supply gain be awarded instantly?", + "Keywords": "Supply,Points", + "FieldName": "bAwardSupplyInstantly", + "InputType": "checkbox", + "IsFlagArgument": false, + "ParamFieldName": "bAwardSupplyInstantly", + "DefaultValue": "False", + "EnumValues": { + "False": "False", + "True": "True" + } + }, + { + "DisplayName": "Supply Gain Frequency", + "Category": "Multiplayer Mode", + "Description": "Score threshold for earning supply.", + "Keywords": "Supply,Points", + "FieldName": "SupplyGainFrequency", + "InputType": "number", + "IsFlagArgument": false, + "ParamFieldName": "SupplyGainFrequency", + "DefaultValue": "150", + "EnumValues": {} } ] \ No newline at end of file