| |
network_broadcast_mode LowBandwidth
Artillery respawn timers (seconds). Defaults are 120s (2 minutes):
artillery_fieldgun_respawn_timer 120
artillery_rocketlauncher_respawn_timer 120
Enable the anti-griefing mechanics for artillery pieces:
antigriefing_enabled false
Population thresholds for low/medium/high player count map buckets (defaults below):
population_low_min_players 30
population_medium_min_players 50
population_high_min_players 100
Toggle performance warnings:
show_serverperformance_warning true
Start on a random rotation entry:
map_rotation_start_randomise true
Capture requirements for Conquest/Frontlines (by pop bucket):
conquest_stealthcap_reqplayers_verylow 0
conquest_stealthcap_reqplayers_low 2
conquest_stealthcap_reqplayers_medium 3
conquest_stealthcap_reqplayers_high 4
\== Frontlines specific commands ==
Use this to set the game **type** to Frontlines (defaults to false). \[\[File\:Frontlines Config Example.png|thumb|Example Frontlines config]]
frontlines_mode true
\== Auto Shutdown/Restart System ==
An auto-shutdown and auto-restart system can be configured either in the config file or using the \[[1](https://docs.google.com/document/d/1eljq4DgrJ1sD44rWTKnGzYgckh7EBs5AlfKABzGwclM) VapuriLoadTester] launcher.
\=== Auto Shutdown ===
The game server can shut itself down after a specified number of minutes. This also closes the VLT helper program upon shutdown.
Define the time after which the server will shut down (minutes):
server_autoshutdown_interval_minutes 240
Shutdown does **not** wait for round end once interval + overtime elapses. Ensure players are warned via broadcasts:
server_autoshutdown_overtime_minutes 10
server_autoshutdown_broadcasted_message Server will be shutting down.
server_autoshutdown_broadcasted_message_interval_minutes 2
\=== Auto Restart ===
The server can restart itself every X minutes. This **does** wait for the round to complete unless overtime is exceeded.
server_autorestart_interval_minutes 320
server_autorestart_overtime_minutes 10
server_autorestart_broadcasted_message Auto restart at the end of the round.
server_autorestart_broadcasted_message_interval_minutes 2
\= Map Rotations =
Studying the example config files bundled with the server is the best way to understand rotations. Additionally, Big Mamba has compiled a list of AGS-made configuration files: \[[2](https://github.com/ankit2951/holdfast-config) here].
\== Basic Map Settings ==
In Progress
map_name
game_mode
game_type
round_time_minutes
ships_respawn_timer
allow_midround_spawning
allow_faction_switching
allow_spectating
max_player_respawns
deathmatch_max_kills
reinforcements_per_faction
minimum_players
maximum_players
melee_weapons_only
faction_balancing
faction_balancing_discrepancy_amount
max_accumulated_faction_points
ships_preset
faction_attacking
faction_defending
max_tickets
ships_spawn
rowboat_cooldown_timer
rowboat_cooldown_while_sinking_timer
ships_spacemode
sappers_buildlimit
sappers_attacking_starting_materials
sappers_defending_starting_materials
max_player_respawn
officers_spawn_mounted
Spawn wave timers (defaults shown). vehicle applies to Cavalry; dynamic for Frontlines tables:
wave_spawn_time_seconds 10
wave_spawn_vehicle_time_seconds 20
wave_spawn_dynamic_time_seconds 15
Spawn immunity (max 5s):
spawn_immunity_timer 5
\=== Melee Arena Settings ===
First-round spawn window (allow time for initial load):
round_spawn_close_timer_seconds 45
Between-round spawn window (shorter for flow):
round_spawn_close_timer_seconds_between_rounds 15
Rounds to win:
amount_of_rounds 50
\=== Maps ===
Visit \[\[Maps|Maps]] or \[\[Server Configuration Enums|Server Configuration Enums]] for a full list of Holdfast maps.
\== Officer Orders ==
Enable/disable the officers order system.
class_system_orders <true/false>
Enable/disable the officers reinforcement system (flag in NaW; table in Frontlines).
class_system_orders_reinforce <true/false>
Reinforcement cooldown (seconds):
class_system_orders_reinforce_cooldown 240
Reinforcement spawn count per flag (set to -1 for Frontlines):
class_system_orders_reinforce_limit 25
Cooldowns (seconds) for leading abilities:
class_system_orders_reinforce_cooldown
class_system_orders_charge_cooldown
class_system_orders_formline_cooldown
class_system_orders_breakrankandfollow_cooldown
class_system_orders_fireatwill_cooldown
class_system_orders_makeready_cooldown
class_system_orders_fireorder_cooldown
class_system_orders_ceasefire_cooldown
class_system_orders_sergeantformline_cooldown
class_system_orders_sergeantrally_cooldown
class_system_orders_sergeantfireatwill_cooldown
class_system_orders_sergeantfireorder_cooldown
class_system_orders_sergeantceasefire_cooldown
class_system_orders_sergeantmakeready_cooldown
class_system_orders_sergeantbreakrankandfollow_cooldown
\== Conquest config ==
These options also affect Frontlines "Offensive".
conquest_tick_reward 3
conquest_ticker_time_seconds 1
conquest_tickets_per_capture 100
conquest_max_tickets 7500
conquest_territory_lock_time_seconds 0
\== Weather and time of day ==
Set the weather/time preset active on map load. none = random pool of valid presets for map type.
nature_preset none
\== Friendly fire ==
Enable friendly fire?
friendly_fire <true/false>
Melee bounce when FF disabled (true = weapon collides with friendlies):
friendly_fire_melee_bounce <true/false>
Reflect a percentage of FF damage back to attacker:
damage_split 50
\== Frontlines ==
Time (seconds) to domination loss in Offensive mode:
frontline_offensive_domination_duration_seconds 120
Capture point overrides:
capture_point_override <objective> <num_respawns> <time_for_1_person_to_capture> <max_people_affecting_time>
# Examples
capture_point_override A 150 30 1
capture_point_override B 175 30 1
capture_point_override C 350 60 2
capture_point_override D -1 90 3
\= Automatic Console Commands =
You can issue any \[\[Remote Console Commands|RC commands]] at the start of a rotation to reset defaults, spawn bots, or set up scenarios.
\= Override Commands =
Server administrators can customise roleplay scenarios via server-side overrides: class limits, spawnable classes, weapon/equipment selection, props/artillery per rotation, etc.
- Land — Class Limit Override On Spawn Points
Spawn override commands define which classes appear on which spawn locations and their limits. (Note: replaces existing classes on that spawn.)
\[\[File:200 Carpenters vs 200 Rifleman.png|thumb|right|Tahir Desert Army Battlefield — 200 Carpenters vs 200 Riflemen]]
# Example — 1 team 200 Carpenter, the other 200 Rifleman
spawn_override A Carpenter 200
spawn_override B Rifleman 200
Exclusive modded uniforms
Limit spawns to modded uniforms only:
exclusive_modded_uniforms british french
Place after !map\_rotation start and before !map\_rotation end.
- Starting Weapon Override
Define starting weapons per faction/class (multiple per slot allowed via commas). Place within a rotation.
# Examples
starting_weapons_selection_override British Grenadier 4 2 Rifle
starting_weapons_selection_override French Grenadier 4 3 Rifle Pike,Spontoon,Sword Pistol
Starting Weapon Bayonet Override
starting_weapons_bayonet_enabled <Faction> <Class> <true/false>
- Firearm Ammo Override
Per firearm, per class:
# Examples
firearm_ammo_override British LightInfantry Musket_NewLandPatternBrownBess 2 0
firearm_ammo_override French LightInfantry Musket_NewLandPatternBrownBess 0 1
Weapon Class Ammo Override
Apply the same values to an entire weapon class:
weapon_class_ammo_override <Faction> <Class> <WeaponClass> <Starting> <Loaded> <MaxCarry>
- Sapper Buildable Defences — Limits & Materials
Disable/limit emplacements or set starting materials:
# Disable explosives for defenders
sappers_buildlimit ExplosiveBarrel defending 0
# Starting materials
sappers_attacking_starting_materials 50
sappers_defending_starting_materials 200
- Spawn Overrides (Land)
Add or replace spawn points depending on the game type. Use get playerPosition and get playerRotation in the console to capture coordinates.
objects_override spawnsection <PosXYZ> <RotXYZ> <ID>,<Spawn_Name>,<Category>,<Side>,<SizeX>,<SizeY>
- Naval — Class Limits, Spawns, Health, Spacemode, Ship Spawns
Allow army classes on ships, define ship spawns, adjust health, enable flight, and set custom ship spawn locations.
# Class limits per ship type
ships_spawn_detail_override Frigate50gun British Rifleman 200
ships_spawn_detail_override Frigate50gun French Rifleman 200
# Spawning & presets (use ships_preset 37 before custom spawns)
ships_preset 37
ships_spawn Frigate50gun 1 British 0
ships_spawn Rocketboat 10 French 4
# Health overrides
ships_health_detail_override Frigate50gun British 20000
ships_health_detail_override Frigate50gun French 70
# Flight mode (fun)
ships_spacemode true
# Spawn overrides (ocean maps)
objects_override shipspawnsection <PosXYZ> <RotXYZ>
\= Map Voting =
\== Basics ==
Enable and configure map voting in the global section (not inside rotations):
map_voting_enabled true
map_voting_duration 15
map_voting_allow_same_map false
map_voting_history_count 3
map_voting_gameplay_modes ArmyBattlefield ArmyBattlefield ArmyConquest ArmySiege
map_voting_log_file_path logs_output/mapvotinglogs.txt
\==== Parameter notes ====
map\_voting\_duration — seconds the vote remains open.
map\_voting\_allow\_same\_map — can the same map appear again (e.g., RandomWaters with different configs).
map\_voting\_history\_count — how long since a map was played before it’s eligible again.
map\_voting\_gameplay\_modes — which modes are eligible (repeats allowed to weight).
map\_voting\_log\_file\_path — optional logging target.
\== Help — my map can’t be voted ==
Maps are bucketed by player count and mode. To hide a map from voting set all buckets to false. To enable broadly, set all to true (or leave commented).
population_verylow_playable <true/false>
population_low_playable <true/false>
population_medium_playable <true/false>
population_high_playable <true/false>
Note: For modded maps, load order matters — put the map first in the mod load order.
\== Map vote history by server population ==
map_voting_history_count_verylow 1
map_voting_history_count_low 2
map_voting_history_count_medium 4
map_voting_history_count_high 10
\== Can I manually trigger map voting? ==
Not directly, but you can end the round via a win condition object or the dynamic win condition flag to force a vote.
\== Include a random map choice ==
map_voting_include_random_choice <true/false>
\= Workshop Mods =
For creators, see \[\[Script Modding Guide]] for deeper details.
\== Install mods ==
Global (not inside a rotation):
mods_installed_server_only <steamid>
mods_installed <steamid>
Per rotation (mod must be installed on server):
load_mod <steam_id> # client + server
load_mod_client_only <steamid> # client only
load_mod_server_only <steamid> # server only
\== Mod Variables ==
Some workshop mods expose config variables:
mod_variable <string> # global (all rotations)
mod_variable_local <string> # local to the current rotation
\= Discord Admin Webhook Logger =
\== Basics ==
Enable Discord developer mode (Settings → Advanced). Warnings show admin PMs/slays/kicks/revives/slaps. Banmutes show config-writing actions (kicks, VOIP/chat mutes, spammer, etc.).
discord_webhook_warning_tag_admin <@!ID> | <@!ID>
discord_webhook_warning_id <webhookID>
discord_webhook_warning_token <webhookToken>
discord_webhook_banmute_tag_admin <@!ID> | <@!ID>
discord_webhook_banmute_id <webhookID>
discord_webhook_banmute_token <webhookToken>
\== How to set up ==
Place these in the **global** section of the server config (not inside a rotation).
Create two webhooks in your Discord channel and click **Copy Webhook URL** for each. Open each URL in a browser and copy the values of id and token into the corresponding config keys above. To tag users at the top of messages, right-click their name, **Copy ID**, and use the format <@!1234567890>.
If configured correctly, admin actions will log the following to the target channel:
- Action performed
- Title from
\_tag\_admin
- Admin (with Steam profile link)
- Target user (with Steam profile link)
- Server name
- Reason
- Date/time
|