Difference between revisions of "Server Configuration/Body"

From Holdfast: Nations At War
Jump to navigation Jump to search
(Created page with "\= Server Configuration Files = \[\[File\:Hfconfig.png|thumb|right|Example Configuration File]] Server configuration files are plain text files containing settings defining th...")
 
Line 1: Line 1:
\= Server Configuration Files =
+
=Server Configuration Files=
\[\[File\:Hfconfig.png|thumb|right|Example Configuration File]]
+
[[File:Hfconfig.png|thumb|right|Example Configuration File]]
Server configuration files are plain text files containing settings defining the server setup and the maps/game modes available in rotation. There are three types of line in a configuration file:
 
  
* **Setting lines** — of the form <code>\<setting> \<value></code>.
+
Server configuration files are plain text files containing settings defining the server setup and the maps/game modes available in rotation. There are three types of line:
* **Comment lines** — starting with a <code>#</code> character. Ignored by the server.
+
* Setting lines: <code>&lt;setting&gt; &lt;value&gt;</code> – the important ones.
* **Empty lines** — purely for spacing. Ignored by the server.
+
* Comment lines: starting with <code>#</code> – ignored; good for notes and saved rotations.
 +
* Empty lines: spacing only – ignored.
  
The usual layout: server-wide settings at the top, followed by one or more map rotations. Examples are included with the server download (see \[\[Server Hosting|Server Hosting]]).
+
The usual layout: global server settings at the top, followed by a list of map-rotation settings. Further examples ship with the server (see [[Server_Hosting|Server Hosting]]).
  
\= Server-Wide Settings =
+
==Server-Wide Settings==
These settings define how the server is visible to users, how it communicates with the server browser, and any restrictions on the server.
+
These define how the server shows up to players, how it talks to the server browser, and basic restrictions.
 
 
First up are the **port** settings. These are mandatory, and all must be unique per server instance on the same box.
 
  
 +
'''Ports''' – all '''must be unique per instance''' on the same machine:
 
<pre class="hf-code"><nowiki>
 
<pre class="hf-code"><nowiki>
 
server_port 20100
 
server_port 20100
Line 20: Line 19:
 
</nowiki></pre>
 
</nowiki></pre>
  
Next are the settings defining how the server displays to players:
+
'''Display & access:'''
 
 
 
<pre class="hf-code"><nowiki>
 
<pre class="hf-code"><nowiki>
 
server_name New Server - Army Battlefield
 
server_name New Server - Army Battlefield
Line 32: Line 30:
 
</nowiki></pre>
 
</nowiki></pre>
  
The optional <code>server\_password</code> can remain commented out. The <code>server\_admin\_password</code> is used for \[\[Remote Console Commands|Remote Console Commands]]. The intro title/body define the join popup. The <code>server\_region</code> values are:
+
* <code>server_password</code> is optional (leave commented to keep the server public).
 
+
* <code>server_admin_password</code> is used for [[Remote_Console_Commands|Remote Console Commands]].
{| class="wikitable sortable"
+
* <code>server_intro_*</code> shows a join popup.
  
| ! Region !! Also accepted |  |                  |
+
'''Server regions''' (shown in the browser):
| ------------------------- | - | ---------------- |
+
{| class="wikitable"
| europe                   |  |                  |
+
! Region codes
| -                        |  |                  |
+
|-
| usa                       |   | usaeast, usawest |
+
| europe || usa || usaeast || usawest || australia
| -                        |   |                 |
+
|-
| australia                 |  |                  |
+
| china || japan || russia || southkorea || brazil
| -                         |  |                  |
+
|}
| china                     |   |                  |
 
| -                        |  |                  |
 
| japan                     |  |                 |
 
| -                        |  |                  |
 
| russia                   |  |                  |
 
| -                        |   |                  |
 
| southkorea               |  |                  |
 
| -                        |  |                  |
 
| brazil                   |  |                  |
 
| }                         |  |                  |
 
  
The **broadcast mode** determines network utilisation for close-range combat.
+
'''Broadcast mode''' – network usage focus for close-range combat:
{| class="wikitable sortable"
+
{| class="wikitable"
 
+
! Parameter !! Usage
| ! Parameter !! Usage |  |                                                                                                          |
+
|-
| -------------------- | - | -------------------------------------------------------------------------------------------------------- |
+
| LowBandwidth || Reduced packet rate on close range (high player count). Default.
| LowBandwidth         |   | Reduced packet rate on close-range (high player count). Default.                                         |
+
|-
| -                   |  |                                                                                                          |
+
| HighAccuracy || Increased packet rate on close range (low player count).
| HighAccuracy         |   | Increased packet rate on close-range (low player count).                                                 |
+
|-
| -                   |  |                                                                                                          |
+
| Balanced || Between LowBandwidth and HighAccuracy; good for larger servers on strong hardware.
| Balanced             |   | In-between LowBandwidth and HighAccuracy. Playable on big servers with good hardware.                   |
+
|-
| -                   |  |                                                                                                          |
+
| UltraHighAccuracy || Slightly lighter than Realtime; recommended only for Melee; higher caps than Realtime.
| UltraHighAccuracy   |   | Slightly less intensive than RealTime; recommended only for Melee; supports higher counts than RealTime. |
+
|-
| -                   |  |                                                                                                          |
+
| Realtime || Highest bandwidth; use only for Melee Arena with lower player counts.
| Realtime             |   | Even higher bandwidth than HighAccuracy; only for small-count Melee Arena.                               |
+
|}
| }                   |  |                                                                                                          |
+
Example:
| Example:             |  |                                                                                                          |
+
<pre class="hf-code"><nowiki>network_broadcast_mode LowBandwidth</nowiki></pre>
 
 
<pre class="hf-code"><nowiki>
 
network_broadcast_mode LowBandwidth
 
</nowiki></pre>
 
 
 
Artillery respawn timers (seconds). Defaults are 120s (2 minutes):
 
  
 +
'''Artillery respawn (seconds). Defaults are 120s:'''
 
<pre class="hf-code"><nowiki>
 
<pre class="hf-code"><nowiki>
 
artillery_fieldgun_respawn_timer 120
 
artillery_fieldgun_respawn_timer 120
Line 83: Line 66:
 
</nowiki></pre>
 
</nowiki></pre>
  
Enable the anti-griefing mechanics for artillery pieces:
+
'''Artillery anti-grief:'''
 
+
<pre class="hf-code"><nowiki>antigriefing_enabled false</nowiki></pre>
<pre class="hf-code"><nowiki>
 
antigriefing_enabled false
 
</nowiki></pre>
 
 
 
Population thresholds for low/medium/high player count map buckets (defaults below):
 
  
 +
'''Population thresholds''' (gate maps by player counts):
 
<pre class="hf-code"><nowiki>
 
<pre class="hf-code"><nowiki>
 
population_low_min_players 30
 
population_low_min_players 30
Line 97: Line 76:
 
</nowiki></pre>
 
</nowiki></pre>
  
Toggle performance warnings:
+
'''Warnings & rotation randomisation:'''
 
 
 
<pre class="hf-code"><nowiki>
 
<pre class="hf-code"><nowiki>
 
show_serverperformance_warning true
 
show_serverperformance_warning true
</nowiki></pre>
 
 
Start on a random rotation entry:
 
 
<pre class="hf-code"><nowiki>
 
 
map_rotation_start_randomise true
 
map_rotation_start_randomise true
 
</nowiki></pre>
 
</nowiki></pre>
  
Capture requirements for Conquest/Frontlines (by pop bucket):
+
'''Objective capture (Conquest/flag modes):'''
 
 
 
<pre class="hf-code"><nowiki>
 
<pre class="hf-code"><nowiki>
 
conquest_stealthcap_reqplayers_verylow 0
 
conquest_stealthcap_reqplayers_verylow 0
Line 118: Line 90:
 
</nowiki></pre>
 
</nowiki></pre>
  
\== Frontlines specific commands ==
+
==Fro
Use this to set the game **type** to Frontlines (defaults to <code>false</code>). \[\[File\:Frontlines Config Example.png|thumb|Example Frontlines config]]
 
 
 
<pre class="hf-code"><nowiki>
 
frontlines_mode true
 
</nowiki></pre>
 
 
 
\== Auto Shutdown/Restart System ==
 
An auto-shutdown and auto-restart system can be configured either in the config file or using the \[[https://docs.google.com/document/d/1eljq4DgrJ1sD44rWTKnGzYgckh7EBs5AlfKABzGwclM](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):
 
 
 
<pre class="hf-code"><nowiki>
 
server_autoshutdown_interval_minutes 240
 
</nowiki></pre>
 
 
 
Shutdown does **not** wait for round end once <code>interval + overtime</code> elapses. Ensure players are warned via broadcasts:
 
 
 
<pre class="hf-code"><nowiki>
 
server_autoshutdown_overtime_minutes 10
 
server_autoshutdown_broadcasted_message Server will be shutting down.
 
server_autoshutdown_broadcasted_message_interval_minutes 2
 
</nowiki></pre>
 
 
 
\=== Auto Restart ===
 
The server can restart itself every X minutes. This **does** wait for the round to complete unless overtime is exceeded.
 
 
 
<pre class="hf-code"><nowiki>
 
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
 
</nowiki></pre>
 
 
 
\= 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: \[[https://github.com/ankit2951/holdfast-config](https://github.com/ankit2951/holdfast-config) here].
 
 
 
\== Basic Map Settings ==
 
'''In Progress'''
 
 
 
<pre class="hf-code"><nowiki>
 
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
 
</nowiki></pre>
 
 
 
Spawn wave timers (defaults shown). <code>vehicle</code> applies to Cavalry; <code>dynamic</code> for Frontlines tables:
 
 
 
<pre class="hf-code"><nowiki>
 
wave_spawn_time_seconds 10
 
wave_spawn_vehicle_time_seconds 20
 
wave_spawn_dynamic_time_seconds 15
 
</nowiki></pre>
 
 
 
Spawn immunity (max 5s):
 
 
 
<pre class="hf-code"><nowiki>
 
spawn_immunity_timer 5
 
</nowiki></pre>
 
 
 
\=== Melee Arena Settings ===
 
First-round spawn window (allow time for initial load):
 
 
 
<pre class="hf-code"><nowiki>
 
round_spawn_close_timer_seconds 45
 
</nowiki></pre>
 
 
 
Between-round spawn window (shorter for flow):
 
 
 
<pre class="hf-code"><nowiki>
 
round_spawn_close_timer_seconds_between_rounds 15
 
</nowiki></pre>
 
 
 
Rounds to win:
 
 
 
<pre class="hf-code"><nowiki>
 
amount_of_rounds 50
 
</nowiki></pre>
 
 
 
\=== 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.
 
 
 
<pre class="hf-code"><nowiki>
 
class_system_orders <true/false>
 
</nowiki></pre>
 
 
 
Enable/disable the officers reinforcement system (flag in NaW; table in Frontlines).
 
 
 
<pre class="hf-code"><nowiki>
 
class_system_orders_reinforce <true/false>
 
</nowiki></pre>
 
 
 
Reinforcement cooldown (seconds):
 
 
 
<pre class="hf-code"><nowiki>
 
class_system_orders_reinforce_cooldown 240
 
</nowiki></pre>
 
 
 
Reinforcement spawn count per flag (set to <code>-1</code> for Frontlines):
 
 
 
<pre class="hf-code"><nowiki>
 
class_system_orders_reinforce_limit 25
 
</nowiki></pre>
 
 
 
Cooldowns (seconds) for leading abilities:
 
 
 
<pre class="hf-code"><nowiki>
 
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
 
</nowiki></pre>
 
 
 
\== Conquest config ==
 
These options also affect Frontlines "Offensive".
 
 
 
<pre class="hf-code"><nowiki>
 
conquest_tick_reward 3
 
conquest_ticker_time_seconds 1
 
conquest_tickets_per_capture 100
 
conquest_max_tickets 7500
 
conquest_territory_lock_time_seconds 0
 
</nowiki></pre>
 
 
 
\== Weather and time of day ==
 
Set the weather/time preset active on map load. <code>none</code> = random pool of valid presets for map type.
 
 
 
<pre class="hf-code"><nowiki>
 
nature_preset none
 
</nowiki></pre>
 
 
 
\== Friendly fire ==
 
Enable friendly fire?
 
 
 
<pre class="hf-code"><nowiki>
 
friendly_fire <true/false>
 
</nowiki></pre>
 
 
 
Melee bounce when FF disabled (true = weapon collides with friendlies):
 
 
 
<pre class="hf-code"><nowiki>
 
friendly_fire_melee_bounce <true/false>
 
</nowiki></pre>
 
 
 
Reflect a percentage of FF damage back to attacker:
 
 
 
<pre class="hf-code"><nowiki>
 
damage_split 50
 
</nowiki></pre>
 
 
 
\== Frontlines ==
 
Time (seconds) to domination loss in Offensive mode:
 
 
 
<pre class="hf-code"><nowiki>
 
frontline_offensive_domination_duration_seconds 120
 
</nowiki></pre>
 
 
 
Capture point overrides:
 
 
 
<pre class="hf-code"><nowiki>
 
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
 
</nowiki></pre>
 
 
 
\= 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.
 
 
 
<div class="mw-collapsible mw-collapsed">
 
; '''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]]
 
 
 
<pre class="hf-code"><nowiki>
 
# Example — 1 team 200 Carpenter, the other 200 Rifleman
 
spawn_override A Carpenter 200
 
spawn_override B Rifleman 200
 
</nowiki></pre>
 
 
 
'''Exclusive modded uniforms'''
 
Limit spawns to modded uniforms only:
 
 
 
<pre class="hf-code"><nowiki>
 
exclusive_modded_uniforms british french
 
</nowiki></pre>
 
 
 
<i>Place after <code>!map\_rotation start</code> and before <code>!map\_rotation end</code>.</i>
 
 
 
; '''Starting Weapon Override'''
 
Define starting weapons per faction/class (multiple per slot allowed via commas). Place within a rotation.
 
 
 
<pre class="hf-code"><nowiki>
 
# Examples
 
starting_weapons_selection_override British Grenadier 4 2 Rifle
 
starting_weapons_selection_override French  Grenadier 4 3 Rifle Pike,Spontoon,Sword Pistol
 
</nowiki></pre>
 
 
 
'''Starting Weapon Bayonet Override'''
 
 
 
<pre class="hf-code"><nowiki>
 
starting_weapons_bayonet_enabled <Faction> <Class> <true/false>
 
</nowiki></pre>
 
 
 
; '''Firearm Ammo Override'''
 
Per firearm, per class:
 
 
 
<pre class="hf-code"><nowiki>
 
# Examples
 
firearm_ammo_override British LightInfantry Musket_NewLandPatternBrownBess 2 0
 
firearm_ammo_override French  LightInfantry Musket_NewLandPatternBrownBess 0 1
 
</nowiki></pre>
 
 
 
'''Weapon Class Ammo Override'''
 
Apply the same values to an entire weapon class:
 
 
 
<pre class="hf-code"><nowiki>
 
weapon_class_ammo_override <Faction> <Class> <WeaponClass> <Starting> <Loaded> <MaxCarry>
 
</nowiki></pre>
 
 
 
; '''Sapper Buildable Defences — Limits & Materials'''
 
Disable/limit emplacements or set starting materials:
 
 
 
<pre class="hf-code"><nowiki>
 
# Disable explosives for defenders
 
sappers_buildlimit ExplosiveBarrel defending 0
 
# Starting materials
 
sappers_attacking_starting_materials 50
 
sappers_defending_starting_materials 200
 
</nowiki></pre>
 
 
 
; '''Spawn Overrides (Land)'''
 
Add or replace spawn points depending on the game type. Use <code>get playerPosition</code> and <code>get playerRotation</code> in the console to capture coordinates.
 
 
 
<pre class="hf-code"><nowiki>
 
objects_override spawnsection <PosXYZ> <RotXYZ> <ID>,<Spawn_Name>,<Category>,<Side>,<SizeX>,<SizeY>
 
</nowiki></pre>
 
 
 
</div>
 
 
 
<div class="mw-collapsible mw-collapsed">
 
; '''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.
 
 
 
<pre class="hf-code"><nowiki>
 
# 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>
 
</nowiki></pre>
 
 
 
</div>
 
 
 
\= Map Voting =
 
\== Basics ==
 
Enable and configure map voting in the global section (not inside rotations):
 
 
 
<pre class="hf-code"><nowiki>
 
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
 
</nowiki></pre>
 
 
 
\==== Parameter notes ====
 
 
 
* <code>map\_voting\_duration</code> — seconds the vote remains open.
 
* <code>map\_voting\_allow\_same\_map</code> — can the same map appear again (e.g., RandomWaters with different configs).
 
* <code>map\_voting\_history\_count</code> — how long since a map was played before it’s eligible again.
 
* <code>map\_voting\_gameplay\_modes</code> — which modes are eligible (repeats allowed to weight).
 
* <code>map\_voting\_log\_file\_path</code> — 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 <code>false</code>. To enable broadly, set all to <code>true</code> (or leave commented).
 
 
 
<pre class="hf-code"><nowiki>
 
population_verylow_playable  <true/false>
 
population_low_playable      <true/false>
 
population_medium_playable  <true/false>
 
population_high_playable    <true/false>
 
</nowiki></pre>
 
 
 
'''Note:''' For modded maps, load order matters — put the map first in the mod load order.
 
 
 
\== Map vote history by server population ==
 
 
 
<pre class="hf-code"><nowiki>
 
map_voting_history_count_verylow 1
 
map_voting_history_count_low    2
 
map_voting_history_count_medium  4
 
map_voting_history_count_high  10
 
</nowiki></pre>
 
 
 
\== 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 ==
 
 
 
<pre class="hf-code"><nowiki>
 
map_voting_include_random_choice <true/false>
 
</nowiki></pre>
 
 
 
\= Workshop Mods =
 
For creators, see \[\[Script Modding Guide]] for deeper details.
 
 
 
\== Install mods ==
 
Global (not inside a rotation):
 
 
 
<pre class="hf-code"><nowiki>
 
mods_installed_server_only <steamid>
 
mods_installed <steamid>
 
</nowiki></pre>
 
 
 
Per rotation (mod must be installed on server):
 
 
 
<pre class="hf-code"><nowiki>
 
load_mod <steam_id>            # client + server
 
load_mod_client_only <steamid> # client only
 
load_mod_server_only <steamid> # server only
 
</nowiki></pre>
 
 
 
\== Mod Variables ==
 
Some workshop mods expose config variables:
 
 
 
<pre class="hf-code"><nowiki>
 
mod_variable <string>        # global (all rotations)
 
mod_variable_local <string>  # local to the current rotation
 
</nowiki></pre>
 
 
 
\= 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.).
 
 
 
<pre class="hf-code"><nowiki>
 
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>
 
</nowiki></pre>
 
 
 
\== 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 <code>id</code> and <code>token</code> into the corresponding config keys above. To tag users at the top of messages, right-click their name, **Copy ID**, and use the format <code><@!1234567890></code>.
 
 
 
If configured correctly, admin actions will log the following to the target channel:
 
 
 
* Action performed
 
* Title from <code>\_tag\_admin</code>
 
* Admin (with Steam profile link)
 
* Target user (with Steam profile link)
 
* Server name
 
* Reason
 
* Date/time
 

Revision as of 09:30, 19 September 2025

Server Configuration Files

Example Configuration File

Server configuration files are plain text files containing settings defining the server setup and the maps/game modes available in rotation. There are three types of line:

  • Setting lines: <setting> <value> – the important ones.
  • Comment lines: starting with # – ignored; good for notes and saved rotations.
  • Empty lines: spacing only – ignored.

The usual layout: global server settings at the top, followed by a list of map-rotation settings. Further examples ship with the server (see Server Hosting).

Server-Wide Settings

These define how the server shows up to players, how it talks to the server browser, and basic restrictions.

Ports – all must be unique per instance on the same machine:

server_port 20100
steam_communications_port 8700
steam_query_port 27000

Display & access:

server_name New Server - Army Battlefield
server_welcome_message Welcome to my new game server!
server_region europe
server_admin_password ChangeThisPassword
#server_password ChangeThisPassword
server_intro_title Welcome to my server!
server_intro_body Greetings fellow humans
  • server_password is optional (leave commented to keep the server public).
  • server_admin_password is used for Remote Console Commands.
  • server_intro_* shows a join popup.

Server regions (shown in the browser):

Region codes
europe usa usaeast usawest australia
china japan russia southkorea brazil

Broadcast mode – network usage focus for close-range combat:

Parameter Usage
LowBandwidth Reduced packet rate on close range (high player count). Default.
HighAccuracy Increased packet rate on close range (low player count).
Balanced Between LowBandwidth and HighAccuracy; good for larger servers on strong hardware.
UltraHighAccuracy Slightly lighter than Realtime; recommended only for Melee; higher caps than Realtime.
Realtime Highest bandwidth; use only for Melee Arena with lower player counts.

Example:

network_broadcast_mode LowBandwidth

Artillery respawn (seconds). Defaults are 120s:

artillery_fieldgun_respawn_timer 120
artillery_rocketlauncher_respawn_timer 120

Artillery anti-grief:

antigriefing_enabled false

Population thresholds (gate maps by player counts):

population_low_min_players 30
population_medium_min_players 50
population_high_min_players 100

Warnings & rotation randomisation:

show_serverperformance_warning true
map_rotation_start_randomise true

Objective capture (Conquest/flag modes):

conquest_stealthcap_reqplayers_verylow 0
conquest_stealthcap_reqplayers_low 2
conquest_stealthcap_reqplayers_medium 3
conquest_stealthcap_reqplayers_high 4

==Fro