Difference between revisions of "Server Configuration"

From Holdfast: Nations At War
Jump to navigation Jump to search
(44 intermediate revisions by 6 users not shown)
Line 25: Line 25:
 
server_admin_password ChangeThisPassword
 
server_admin_password ChangeThisPassword
 
#server_password ChangeThisPassword
 
#server_password ChangeThisPassword
 +
server_intro_title Welcome to my server!
 +
server_intro_body Greetings fellow humans
 
</pre>
 
</pre>
  
The <code>server_password</code> is optional and can be left commented out.  The <code>server_admin_password</code> is used for [[Remote_Console_Commands|Remote Console Commands]].  The <code>server_region</code> can take one of the following values, resulting in the appropriate region being displayed in the server browser:
+
The <code>server_password</code> is optional and can be left commented out.  The <code>server_admin_password</code> is used for [[Remote_Console_Commands|Remote Console Commands]].  The into and title will define a message to pop up on joining the server.  The <code>server_region</code> can take one of the following values, resulting in the appropriate region being displayed in the server browser:
 
{|
 
{|
 
|-
 
|-
Line 38: Line 40:
  
 
The broadcast mode determines the network utilisation for close range combat.
 
The broadcast mode determines the network utilisation for close range combat.
 +
{| class="wikitable"
 +
|-
 +
! Parameter !! Usage
 +
|-
 +
| LowBandwidth || Reduced packet rate on close-range (high player count).  This is the default mode.
 +
|-
 +
| HighAccuracy || Increased packet rate on close-range (low player count)
 +
|-
 +
| Balanced || Balanced is in between LowLatency and HighAccuracy and should also be rather playable on big player servers running high-end machines.
 +
|-
 +
| Realtime || Realtime outputs even more bandwidth then HighAccuracy and should only be used on Melee Arena where the player numbers don't exceed a high count.
 +
|}
 +
Example
 
<pre>
 
<pre>
# LowLatency = Reduced packet rate on close-range (high player count)
+
network_broadcast_mode LowBandwidth
# HighAccuracy = Increased packet rate on close-range (low player count)
 
network_broadcast_mode LowLatency
 
 
</pre>
 
</pre>
  
Line 48: Line 61:
 
artillery_fieldgun_respawn_timer 120
 
artillery_fieldgun_respawn_timer 120
 
artillery_rocketlauncher_respawn_timer 120
 
artillery_rocketlauncher_respawn_timer 120
 +
</pre>
 +
 +
Enable the anti-griefing mechanics for artillery pieces:
 +
<pre>
 +
antigriefing_enabled false
 
</pre>
 
</pre>
  
Line 56: Line 74:
 
population_high_min_players 100
 
population_high_min_players 100
 
</pre>
 
</pre>
 +
 +
You can enable / disable performance warnings with this settings:
 +
<pre>show_serverperformance_warning true</pre>
 +
 +
Map randomisation can be enabled with:
 +
<pre>map_rotation_start_randomise true</pre>
 +
 +
You can change the amount of people it takes to capture objectives on flag based gamemodes. There are multiple commands that will change depending on how many people are on the server and playing.
 +
<pre>
 +
conquest_stealthcap_reqplayers_verylow 0
 +
conquest_stealthcap_reqplayers_low 2
 +
conquest_stealthcap_reqplayers_medium 3
 +
conquest_stealthcap_reqplayers_high 4
 +
</pre>
 +
 +
==Frontlines specific commands==
 +
Use this command as true to set the game type to Frontlines. Defaults to false. [[File:Frontlines Config Example.png|thumb|Example frontlines config]]
 +
<pre>
 +
frontlines_mode true
 +
</pre>
 +
 +
== Auto Shutdown/Restart System ==
 +
An auto-shutdown and auto-restart system has been introduced that can be configured either in the configuration file or using the [https://docs.google.com/document/d/1eljq4DgrJ1sD44rWTKnGzYgckh7EBs5AlfKABzGwclM VapuriLoadTester] launcher.
 +
=== Auto Shutdown ===
 +
The game server takes care of shutting itself down after a specified number of minutes. This feature doesn’t require the explicit use of the VapuriLoadTester (VLT) program to function.
 +
This will also close the VLT server helper program upon shutdown.
 +
 +
Define the time after when a server will shut down pending on your set number of minutes.
 +
<pre>server_autoshutdown_interval_minutes 240</pre>
 +
 +
Server will not wait for the round to finish in the ‘Auto-Shutdown System’ and will instead proceed with the shutdown after the ‘autoshutdown_interval’ + ‘autoshutdown_overtime’ has been exceeded.
 +
Ensure that this interval allows enough time for players to be informed of the server shutdown through broadcast messages.
 +
<pre>server_autoshutdown_overtime_minutes 10</pre>
 +
 +
Define the message you want to broadcast to the players in the server informing them that the server will be shutting down.
 +
<pre>server_autoshutdown_broadcasted_message Server will be shutting down.</pre>
 +
 +
Define the interval broadcast messages will be outputted at.
 +
<pre>server_autoshutdown_broadcasted_message_interval_minutes 2</pre>
 +
 +
=== Auto Restart ===
 +
The game server takes care of restarting itself every specified number of minutes. This feature doesn’t require the explicit use of VapuriLoadTester (VLT) program to function.
 +
 +
Defines the time after when a server will shut down pending on your set number of minutes.
 +
Server will always wait until the round is complete before proceeding with the restart.
 +
<pre>server_autorestart_interval_minutes 320</pre>
 +
 +
Server will not wait for the round to finish in the ‘Auto-Restart System’ and will instead proceed with the restart after the ‘autorestart_interval’ + ‘autorestart_overtime’ has been exceeded.
 +
Ensure that this interval allows enough time for players to be informed of the server restart through broadcast messages.
 +
<pre>server_autorestart_overtime_minutes 10</pre>
 +
 +
Define the message you want to broadcast to the players in the server informing them that the server will be undergoing a restart.
 +
<pre>server_autorestart_broadcasted_message Auto restart at the end of the round.</pre>
 +
 +
Define the interval broadcast messages will be outputted at until the round ends.
 +
<pre>server_autorestart_broadcasted_message_interval_minutes 2</pre>
  
 
=Map Rotations=
 
=Map Rotations=
 +
A number of example configuration files are provided with the Holdfast server files.  Studying these is the best way to understand the different map rotations. 
 +
 +
Additionally, Big Mamba has compiled a list of AGS-made configuration files to use as examples.  The github link to them can be found: [https://github.com/ankit2951/holdfast-config here].
 
==Basic Map Settings==
 
==Basic Map Settings==
*In Progress*
+
'''In Progress'''
 +
 
 +
map_name
 +
game_mode
 +
game_type
 +
round_time_minutes
 +
ships_respawn_timer
 +
round_spawn_close_timer_seconds
 +
allow_midround_spawning
 +
allow_faction_switching
 +
allow_spectating
 +
max_player_respawns
 +
deathmatch_max_kills
 +
reinforcements_per_faction
 +
minimum_players
 +
maximum_players
 +
melee_weapons_only
 +
amount_of_rounds
 +
round_spawn_close_timer_seconds_between_rounds
 +
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 can be configured with the following commands.  Their defaults are shown below. Vehicle is for Cavalry units, dynamic is for Frontlines tables.
 +
<pre>
 +
wave_spawn_time_seconds 10
 +
wave_spawn_vehicle_time_seconds 20
 +
wave_spawn_dynamic_time_seconds 15
 +
</pre>
 +
 
 +
You can also enable spawn immunity up to a maximum of 5s with.
 +
<pre>
 +
spawn_immunity_timer 5
 +
</pre>
 +
 
 +
===Maps===
 +
{| class="wikitable"
 +
! Type
 +
! Map
 +
! Enum
 +
! Game Modes
 +
|-
 +
| {{Map/Type | AlUddinRuins}}
 +
|[[Maps: Al Uddin Ruins|Al Uddin Ruins]]
 +
|AlUddinRuins
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | AlUddinRuins }} | GameMode/Name | 1 |, }}
 +
|-
 +
| {{Map/Type | ArendanRiver}}
 +
|[[Maps: Arendan River|Arendan River]]
 +
|ArendanRiver
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | ArendanRiver }} | GameMode/Name | 1 |, }}
 +
|-
 +
| {{Map/Type | Aspern}}
 +
|[[Maps: Aspern|Aspern]]
 +
|Aspern
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | Aspern }} | GameMode/Name | 1 |, }}
 +
|-
 +
| {{Map/Type | AunbyValley}}
 +
|[[Maps: Aunby Valley|Aunby Valley]]
 +
|AunbyValley
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | AunbyValley }} | GameMode/Name | 1 |, }}
 +
|-
 +
| {{Map/Type | AutumnWatch}}
 +
|[[Maps: Autumn Watch|Autumn Watch]]
 +
|AutumnWatch
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | AunbyValley }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | BlackForest}}
 +
| [[Maps: Black Forest|Black Forest]]
 +
|BlackForest
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | BlackForest }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | CampSalamanca}}
 +
|[[Maps: Camp Salamanca|Camp Salamanca]]
 +
|CampSalamanca
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | CampSalamanca }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | Canyon}}
 +
|[[Maps: Canyon|Canyon]]
 +
|Canyon
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | Canyon }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | Causeways}}
 +
|[[Maps: Causeways|Causeways]]
 +
|Causeways
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | Causeways }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | CrossHills}}
 +
|[[Maps: Cross Hills|Cross Hills]]
 +
|CrossHills
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | CrossHills }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | DesertRuins}}
 +
|[[Maps: Desert Ruins|Desert Ruins]]
 +
|DesertRuins
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | DesertRuins }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | DutchCanals}}
 +
|[[Maps: Dutch Canals|Dutch Canals]]
 +
|DutchCanals
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | DutchCanals }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | ErnestRidge}}
 +
|[[Maps: Ernest Ridge|Ernest Ridge]]
 +
|ErnestRidge
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | ErnestRidge }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | FortChristiana}}
 +
|[[Maps: Fort Christina|Fort Christina]]
 +
|FortChristiana
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | FortChristiana }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | FortDarial}}
 +
|[[Maps: Fort Darial|Fort Darial]]
 +
|FortDarial
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | FortDarial }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | FortPierre}}
 +
|[[Maps: Fort Pierre|Fort Pierre]]
 +
|FortPierre
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | FortPierre }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | FortSalettes}}
 +
|[[Maps: Fort Salettes|Fort Salettes]]
 +
|FortSalettes
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | FortSalettes }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | FortSchwarz}}
 +
|[[Maps: Fort Schwarz|Fort Schwarz]]
 +
|FortSchwarz
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | FortSchwarz }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | FortWinston}}
 +
|[[Maps: Fort Winston|Fort Winston]]
 +
|FortWinston
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | FortWinston }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | Glacier}}
 +
|[[Maps: Glacier|Glacier]]
 +
|Glacier
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | Glacier }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | Heartmound}}
 +
|[[Maps: Heartmound|Heartmound]]
 +
|Heartmound
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | Heartmound }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | Highlands}}
 +
|[[Maps: Highlands|Highlands]]
 +
|Highlands
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | Highlands }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | KingGeorge}}
 +
|[[Maps: King George|King George]]
 +
|KingGeorge
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | KingGeorge }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | LamarshFen}}
 +
|[[Maps: LamarshFen|LamarshFen]]
 +
|Lamarsh Fen
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | LamarshFen }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | Linburg}}
 +
|[[Maps: Linburg|Linburg]]
 +
|Linburg
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | Linburg }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | Marquette}}
 +
|[[Maps: Marquette|Marquette]]
 +
|Marquette
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | Marquette }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | PortNile}}
 +
|[[Maps: Port Nile|Port Nile]]
 +
|PortNile
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | PortNile }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | SacredValley}}
 +
|[[Maps: Sacred Valley|Sacred Valley]]
 +
|SacredValley
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | SacredValley }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | Sharpton}}
 +
|[[Maps: Sharpton|Sharpton]]
 +
|Sharpton
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | Sharpton }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | SpanishFarm}}
 +
|[[Maps: Spanish Farm|Spanish Farm]]
 +
|SpanishFarm
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | SpanishFarm }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | BerktonGreen}}
 +
|[[Maps: Berkton Green|Berkton Green]]
 +
|BerktonGreen
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | BerktonGreen }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | Countryside}}
 +
|[[Maps: Countryside|Countryside]]
 +
|Countryside
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | Countryside }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | FortImraan}}
 +
|[[Maps: Fort Imraan|Fort Imraan]]
 +
|FortImraan
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | FortImraan }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | Foxhole}}
 +
|[[Maps: Foxhole|Foxhole]]
 +
|Foxhole
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | Foxhole }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | Freurlund}}
 +
|[[Maps: Freurlund|Freurlund]]
 +
|Freurlund
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | Freurlund }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | HeroesLanding}}
 +
|[[Maps: Heroes Landing|Heroes Landing]]
 +
|HeroesLanding
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | Freurlund }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | Mansion}}
 +
|[[Maps: Mansion|Mansion]]
 +
|Mansion
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | Mansion }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | Marre}}
 +
|[[Maps: Marre|Marre]]
 +
|Marre
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | Marre }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | Sacrifice}}
 +
|[[Maps: Sacrifice|Sacrifice]]
 +
|Sacrifice
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | Sacrifice }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | StPeters}}
 +
|[[Maps: St. Peter's|St. Peter's]]
 +
|StPeters
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | StPeters }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | Wasteland}}
 +
|[[Maps: Wasteland|Wasteland]]
 +
|Wasteland
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | Wasteland }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | AncientPlains}}
 +
|[[Maps: Ancient Plains|Ancient Plains]]
 +
|AncientPlains
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | AncientPlains }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | DesertPlains}}
 +
|[[Maps: Desert Plains|Desert Plains]]
 +
|DesertPlains
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | DesertPlains }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | DesertPlainsSmall}}
 +
|[[Maps: Desert Plains (Small)|Desert Plains (Small)]]
 +
|DesertPlainsSmall
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | DesertPlainsSmall }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | GrassyPlains}}
 +
|[[Maps: Grassy Plains 1|Grassy Plains 1]]
 +
|GrassyPlains
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | GrassyPlains }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | GrassyPlainsII}}
 +
|[[Maps: Grassy Plains 2|Grassy Plains 2]]
 +
|GrassyPlainsII
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | GrassyPlainsII }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | GrassyPlainsIII}}
 +
|[[Maps: Grassy Plains 3|Grassy Plains 3]]
 +
|GrassyPlainsIII
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | GrassyPlainsIII }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | GrassyPlainsIV}}
 +
|[[Maps: Grassy Plains 4|Grassy Plains 4]]
 +
|GrassyPlainsIV
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | GrassyPlainsIV }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | GrassyPlainsV}}
 +
|[[Maps: Grassy Plains 5|Grassy Plains 5]]
 +
|GrassyPlainsV
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | GrassyPlainsV }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | SnowyPlainsSmall}}
 +
|[[Maps: Snowy Plains (Small)|Snowy Plains (Small)]]
 +
|SnowyPlainsSmall
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | SnowyPlainsSmall }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | SnowyPlains}}
 +
|[[Maps: Snowy Plains 1|Snowy Plains 1]]
 +
|SnowyPlains
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | SnowyPlains }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | SnowyPlainsII}}
 +
|[[Maps: Snowy Plains 2|Snowy Plains 2]]
 +
|SnowyPlainsII
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | SnowyPlainsII }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | SnowyPlainsIII}}
 +
|[[Maps: Snowy Plains 3|Snowy Plains 3]]
 +
|SnowyPlainsIII
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | SnowyPlainsIII }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | SnowyPlainsIV}}
 +
|[[Maps: Snowy Plains 4|Snowy Plains 4]]
 +
|SnowyPlainsIV
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | SnowyPlainsIV }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | SnowyPlainsV}}
 +
|[[Maps: Snowy Plains 5|Snowy Plains 5]]
 +
|SnowyPlainsV
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | SnowyPlainsV }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | Egypt}}
 +
|[[Maps: Tahir Desert|Tahir Desert]]
 +
|Egypt
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | Egypt }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | BalamorBay}}
 +
|[[Maps: Balamor Bay|Balamor Bay]]
 +
|BalamorBay
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | BalamorBay }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | Caribbean}}
 +
|[[Maps: Caribbean|Caribbean]]
 +
|Caribbean
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | Caribbean }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | FortNational}}
 +
|[[Maps: Fort Imperial|Fort Imperial]]
 +
|FortNational
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | FortNational }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | HaroutiIslands}}
 +
|[[Maps: Harouti Islands|Harouti Islands]]
 +
|HaroutiIslands
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | HaroutiIslands }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | MartelloTower}}
 +
|[[Maps: Martello Tower|Martello Tower]]
 +
|MartelloTower
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | MartelloTower }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | RandomWaters}}
 +
|[[Maps: Open Waters|Open Waters]]
 +
|RandomWaters
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | RandomWaters }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | SouthSeaCastle}}
 +
|[[Maps: South Sea Castle|South Sea Castle]]
 +
|SouthSeaCastle
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | SouthSeaCastle }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | CastleArena}}
 +
|[[Maps: Castle Arena|Castle Arena]]
 +
|CastleArena
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | CastleArena }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | FortArena}}
 +
|[[Maps: Fort Arena|Fort Arena]]
 +
|FortArena
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | FortArena }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | GarrisonArena}}
 +
|[[Maps: Garrison Arena|Garrison Arena]]
 +
|GarrisonArena
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | GarrisonArena }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | PalisadeArena}}
 +
|[[Maps: Palisade Arena|Palisade Arena]]
 +
|PalisadeArena
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | PalisadeArena }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | SacredArena}}
 +
|[[Maps: Sacred Arena|Sacred Arena]]
 +
|SacredArena
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | SacredArena }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | WatchtowerArena}}
 +
|[[Maps: Watchtower Arena|Watchtower Arena]]
 +
|WatchtowerArena
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | WatchtowerArena }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | CustomMap}}
 +
|[[Maps: Custom Map|Custom Map]]
 +
|CustomMap
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | CustomMap }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | CustomMapNaval}}
 +
|[[Maps: Naval Custom Map|Naval Custom Map]]
 +
|CustomMapNaval
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | CustomMapNaval }} | GameMode/Name | 1 |, }}
 +
|-
 +
|{{Map/Type | TrainingGrounds}}
 +
|[[Maps: Training Grounds|Training Grounds]]
 +
|TrainingGrounds
 +
|{{#invoke: ApplyPattern | applyTemplate | {{ Map/GameModes | TrainingGrounds }} | GameMode/Name | 1 |, }}
 +
 
 +
|}
 +
 
 +
==Officer orders==
 +
Enable/disable the officers order system.
 +
<pre>
 +
class_system_orders <true/false>
 +
</pre>
 +
Enable/disable the officers reinforcement system. Flag in NaW, table in Frontlines.
 +
<pre>
 +
class_system_orders_reinforce <true/false>
 +
</pre>
 +
How long, in seconds, the officer can use the reinforcement ability.
 +
<pre>
 +
class_system_orders_reinforce_cooldown 240
 +
</pre>
 +
How many players will be able to spawn on a flag when it is placed down. Set this to -1 if playing on Frontlines gametype.
 +
<pre>
 +
class_system_orders_reinforce_limit 25
 +
</pre>
 +
 
 +
==Conquest config==
 +
These config options also apply to the Frontlines gamemode "Offensive"
 +
 
 +
Conquest tick reward will grant the team a set amount of points per each tick. Recommended 3.
 +
<pre>
 +
conquest_tick_reward 3
 +
</pre>
 +
Conquest ticker time will set how long in seconds each tick for points will take. Recommended 1
 +
<pre>
 +
conquest_ticker_time_seconds 1
 +
</pre>
 +
How many points will be awarded to the team when you capture an objective. Recommended 100.
 +
<pre>
 +
conquest_tickets_per_capture 100
 +
</pre>
 +
How many points are required to win a game of conquest. ArmyConquest recommended 2500. Offensive recommended 7500.
 +
<pre>
 +
conquest_max_tickets 7500
 +
</pre>
 +
How long in seconds, till you can capture an objective after the round starts.
 +
<pre>
 +
conquest_territory_lock_time_seconds 0
 +
</pre>
 +
 
 +
==Weather and time of day==
 +
This setting will determine what weather and time of day [[Remote_Console_Commands#Weather_Settings|preset]] will be active on map load. Setting this to <code>none</code> will result in a random pool of [[Remote_Console_Commands#Weather_Settings|presets]] that are valid for that type of map.
 +
<pre>
 +
nature_preset none
 +
</pre>
 +
 
 +
==Friendly fire==
 +
Enable friendly fire?
 +
<pre>
 +
friendly_fire <true/false>
 +
</pre>
 +
If friendly fire is disabled, changing this to true will mean that when you hit a friendly player with a melee attack, the attack will act like it has hit a solid object, ending the melee attack. Setting this to false will result in melee attacks not interacting with friendly players and going directly though their hitbox uninterputed unless they interact with something else in the game world.
 +
<pre>
 +
friendly_fire_melee_bounce <true/false>
 +
</pre>
 +
Setting this to a number will be a percentage of how much friendly fire damage is reflected back to the player. For example setting this to 50, will mean that any damage you deal to a teammate, 50% of that damage will be reflected back to you.
 +
<pre>
 +
damage_split 50
 +
</pre>
 +
 
 +
==Frontlines==
 +
This will set how much time, in seconds, it takes for a team to become dominated, and lose the round in the Offensive gamemode on the Frontline gametype.
 +
<pre>
 +
frontline_offensive_domination_duration_seconds 120
 +
</pre>
 +
 
 +
This will allow you to change settings of capture points in general.
 +
<pre>
 +
capture_point_override <objective> <num_respawns> <time_for_1_person_to_capture> <max_people_affecting_time>
 +
</pre>
 +
For example
 +
<pre>
 +
capture_point_override A 150 30 1 //A capture point: 150 respawns with 30 sec capture, other people dont affect capture speed.
 +
capture_point_override B 175 30 1 //B capture point: 175 respawns with 30 sec capture, other people dont affect capture speed.
 +
capture_point_override C 350 60 2 //C capture point: 350 respawns with 60 sec capture alone, or 30 sec capture with 2+ people.
 +
capture_point_override D -1 90 3 //A capture point: infinite respawns with 90 sec capture alone, 45 sec capture if 2, 30 sec capture if 3+
 +
</pre>
 +
 
 
==Automatic Console Commands==
 
==Automatic Console Commands==
 
You can issue any of the [[Remote_Console_Commands|Remote Console Commands]] at the start of a map rotation by included them in the server configuration file.  You may want to do this to:
 
You can issue any of the [[Remote_Console_Commands|Remote Console Commands]] at the start of a map rotation by included them in the server configuration file.  You may want to do this to:
Line 65: Line 638:
 
* Automatically spawn a number of bots on map load
 
* Automatically spawn a number of bots on map load
 
* Set up specific scenarios for non-standard events
 
* Set up specific scenarios for non-standard events
==Override Commands & Server-Side Modding==
+
==Override Commands==
Server administrators are able to create and customise their own roleplay scenarios through various server-side configuration settings. [[Server_Configuration#Override Commands & Server-Side Modding|Override commands]] can be used to create a unique experience that is not limited by the usual confines of [[Holdfast: Nations At War|Holdfast: NaW’s]] original gameplay design. Configure limits for classes, define the allowed spawnable classes per spawn point, select the equipment they spawn with, equip weapons from racks, replenish ammunition, spawn various props, interactable objects and artillery pieces per map rotation and more.
+
Server administrators are able to create and customise their own roleplay scenarios through various server-side configuration settings. [[Server_Configuration#Override Commands|Override commands]] can be used to create a unique experience that is not limited by the usual confines of [[Holdfast: Nations At War|Holdfast: NaW’s]] original gameplay design. Configure limits for classes, define the allowed spawnable classes per spawn point, select the equipment they spawn with, equip weapons from racks, replenish ammunition, spawn various props, interactable objects and artillery pieces per map rotation and more.
  
 
Here’s how you can make use of override commands and any other related commands that can prove useful to help you get started or create your own scenarios.
 
Here’s how you can make use of override commands and any other related commands that can prove useful to help you get started or create your own scenarios.
Line 96: Line 669:
 
</pre>
 
</pre>
  
To use this command, it must be added after <code>!map_rotation start</code> and before <code>!map_rotation end</code>.
+
Similarly, administrators have the ability to allow users to only spawn with modded uniforms.
 +
 
 +
''Note: You will need a modded uniform for each class you want to spawn, as base game uniforms will not be available.''
 +
;<code>'''exclusive_modded_uniforms <true/false>'''</code>
 +
 
 +
To use these commands, it must be added after <code>!map_rotation start</code> and before <code>!map_rotation end</code>.
  
 
====Starting Weapon Override====
 
====Starting Weapon Override====
Line 125: Line 703:
 
<pre># Override Commands (This is a comment and will be ignored by the game)
 
<pre># Override Commands (This is a comment and will be ignored by the game)
 
starting_weapons_override British Grenadier 4 2 Rifle_Pattern1800Infantry
 
starting_weapons_override British Grenadier 4 2 Rifle_Pattern1800Infantry
starting_weapons_override French Grenadier 4 3 Rifle_Pattern1800Infantry Pike Sabre
+
starting_weapons_override French Grenadier 4 3 Rifle_Pattern1800Infantry BoardingPike_Variation1 Sabre_1796PatternLight
 
</pre>
 
</pre>
  
Line 207: Line 785:
  
 
To use this command, it must be added after <code>!map_rotation start</code> and before <code>!map_rotation end</code>.
 
To use this command, it must be added after <code>!map_rotation start</code> and before <code>!map_rotation end</code>.
 +
 +
====Spawn Overrides====
 +
Spawns can be overridden or added to, depending on the game type.  For ArmyDeathmatch, ArmyBattlefield, and Melee Arena these commands will replace any existing spawn points on the map.  For Siege and Conquest these will '''add''' to the existing set of spawn points.  It is not currently possible to set up new capturable spawn points on maps.  Using these in Naval or Coastal battles can result in players spawning in the middle of the ocean.
 +
 +
<code>objects_override spawnsection <Position> <Rotation> <ID>,<Spawn_Point_Name>,<Spawn Category>,<Attacking, Defending or Neutral>,<Spawn Size X>,<Spawn Size Y> </code>
 +
 +
:'''<Position>''' A set of float values in the format x y z = 0.0 0.0 0.0 - The center of the spawn point on the map using x, y, and z coordinates.
 +
:: Enter <code>get playerPosition</code> into the [[Console|console]] ingame to display your character's position.
 +
 +
:'''<Rotation>''' A set of float values in the format x y z = 0.0 0.0 0.0 - The rotation in degrees of the spawn point on the map around the x, y, and z axes, where Y is "up".
 +
:: Enter <code>get playerRotation</code> into the [[Console|console]] ingame to display your character's rotation.
 +
 +
:'''<ID>''' A whole number uniquely identifying this spawn point.  This must be between 10 and 256, and cannot match another ID.
 +
 +
:'''<Spawn_Point_Name>''' The name you want listed in the spawn menu.  Ideally these should be kept short to fit in the menu.  To include spaces in the name, replace them with underscores.  For example, the name Tahir_Desert_Ruins would display as Tahir Desert Ruins.
 +
 +
:'''<Spawn Category>''' This defines the icon of the spawn in the menu.  It should be selected from the following options:
 +
:: BaseSpawn, FortifiedPosition, OpenPlains, Farm, Field, Village, Camp, Lodge, Church, Ruins, Port, Ship
 +
 +
:'''<Attacking, Defending or Neutral>''' For Army Siege and Conquest, this will determine which faction can use this spawn.  For other modes this is ignored, and the spawn points are granted half an half to each team based on their order of input in config.
 +
 +
:'''<Spawn Size X> & <Spawn Size Y>''' This takes a floating point number and determines the size of the spawn area in meters.  To visualise this when testing, spawn a couple of dozen bots with movement turned off. 
 +
:: ''Be careful not to have a large spawn area on the edge of the map as it can cause players to spawn out of bounds.''
  
 
=== Naval ===
 
=== Naval ===
Line 237: Line 838:
 
====Ship Spawning & Custom Ship Presets====
 
====Ship Spawning & Custom Ship Presets====
  
Make use of the commands below to define the ship types to spawn in a particular map rotation. Through the same command, you can also define the number of ships to spawn, for which faction as well as their paint scheme. It works on both the Naval Battlefield, Naval Assault & Coastal Siege game modes. You must make sure to set ‘ships_preset’ index to 37 per map rotation before using the command below. This preset index doesn’t contain any ships so you retain further control over the ships you want to spawn. IE. You can spawn in 1 50-Gun Frigate with a yellow and black color scheme for the British faction while having 3 8-Gun Schooners for the French with a random color variation
+
Make use of the commands below to define the ship types to spawn in a particular map rotation. Through the same command, you can also define the number of ships to spawn, for which faction as well as their paint scheme. It works on both the Naval Battlefield, Naval Assault & Coastal Siege game modes. You must make sure to set <ships_preset> index to 37 per map rotation before using the command below. This preset index doesn't contain any ships so you retain further control over the ships you want to spawn. IE. You can spawn in 1 50-Gun Frigate with a yellow and black color scheme for the British faction while having 3 8-Gun Schooners for the French with a random color variation
  
 
Input the below commands per map rotation in the server configuration file.
 
Input the below commands per map rotation in the server configuration file.
  
<code>ships_spawn <[[Server_Configuration_Enums#Ship Type|Ship Type]]> <Amount Of Ships> <[[Server_Configuration_Enums#Faction|Faction]]> <Color></code>
+
<code>ships_spawn <[[Server_Configuration_Enums#Ship Type|Ship Type]]> <Amount Of Ships> <[[Server_Configuration_Enums#Faction|Faction]]> <Color> <[[Server_Configuration_Enums#Ship_Name|Ship Name]]></code>
  
 
: '''<[[Server_Configuration_Enums#Ship Type|Ship Type]]>''' Ship type to spawn
 
: '''<[[Server_Configuration_Enums#Ship Type|Ship Type]]>''' Ship type to spawn
Line 278: Line 879:
  
 
: '''<Health Points>''' An integer value between 0 and 99999 - Health Points of the ship
 
: '''<Health Points>''' An integer value between 0 and 99999 - Health Points of the ship
 +
 +
'''Default Ship HP values:'''
 +
 +
: ''Frigate:'' 5500
 +
: ''12GunBrigg:'' 3000
 +
: ''8GunSchooner:'' 2000
 +
: ''2GunSchooner:'' 1250
 +
: ''Gunboat:'' 500
 +
: ''Rocketboat:'' 500
  
 
'''Example'''
 
'''Example'''
Line 292: Line 902:
 
====Ship Spacemode====
 
====Ship Spacemode====
  
Be at the forefront of interplanetary travel! By inserting this command per map rotation, you can enable ships to fly.  Press the ‘Space’ key to ascend and the ‘Shift’ key to descend.
+
Be at the forefront of interplanetary travel! By inserting this command per map rotation, you can enable ships to fly.  Press the Space key to ascend and the Shift key to descend.
  
 
Input the below command per map rotation in the server configuration file.
 
Input the below command per map rotation in the server configuration file.
Line 308: Line 918:
 
</pre>
 
</pre>
  
===Object Override===
+
====Spawn Overrides====
====Weapon Racks====
+
This operates in a similar fashion to the land spawn override, but to affect ship spawn locations on ocean maps. It will not override existing spawn locations, but will function on custom maps (such as CustomMapNaval) when using Naval Battlefield or Coastal Siege.
Weapon Racks are interactable objects that can hold specific amounts of weapons. Players can interact with a weapon rack by holding 'E' to take a weapon from the rack and add it to their character's inventory. Taking a weapon depletes the amount left on the rack allowing for a limited supply of weapons if the server host wishes.
 
  
;<code>objects_override WeaponRack <Object Position> <Object Rotation> <[[Server_Configuration_Enums#Weapon|Weapon]]> <Number Of Weapons In Rack></code>
+
<code>objects_override shipspawnsection <Position> <Rotation></code>
  
:'''<Object Position>''' A set of float values in the format x y z = 0.0 0.0 0.0 - The location of where the Weapon Rack will be spawned onto the map using x, y, and z coordinates
+
:'''<Position>''' A set of float values in the format x y z = 0.0 0.0 0.0 - The center of the spawn point on the map using x, y, and z coordinates.
 
:: Enter <code>get playerPosition</code> into the [[Console|console]] ingame to display your character's position.
 
:: Enter <code>get playerPosition</code> into the [[Console|console]] ingame to display your character's position.
  
:'''<Object Rotation>''' A set of float values in the format x y z = 0.0 0.0 0.0 - The orientation that the Weapon Rack will be rotated when spawned onto the map
+
:'''<Rotation>''' A set of float values in the format x y z = 0.0 0.0 0.0 - The rotation in degrees of the spawn point on the map around the x, y, and z axes, where Y is "up".
 
:: Enter <code>get playerRotation</code> into the [[Console|console]] ingame to display your character's rotation.
 
:: Enter <code>get playerRotation</code> into the [[Console|console]] ingame to display your character's rotation.
  
: '''<[[Server_Configuration_Enums#Weapon|Weapon]]>''' The type of weapon that will be on the weapon rack
+
===Object Override===
 
+
Objects can be added to the game by following the guide in [[Map_Editing#Positioning|Map Editing]].
: '''<Number Of Weapons In Rack>''' An integer value between 0 and 255 - The number of weapons that can be obtained from the rack before its depleted
 
 
 
'''Example'''
 
  
Spawn a weapon rack at position (1 2 3) with rotation (7 8 9) with 4 rifles on it:
+
=Map Voting=
<pre># Override Commands (This is a comment and will be ignored by the game)
+
==Basics==
objects_override WeaponRack 1 2 3 7 8 9 Musket_NewLandPatternBrownBess 4
+
To enable map voting in general, you need to setup a few commands in the global scope of your server config.
</pre>
+
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
  
To use this command, it must be added after <code>!map_rotation start</code> and before <code>!map_rotation end</code>.
+
====map_voting_enabled====
 +
This tells the server that the map voting system is enabled or disabled.
 +
====map_voting_duration====
 +
This tells the system how long (in seconds) the map voting should allow people to vote for.
  
====Firearm Ammoboxes====
+
====map_voting_allow_same_map====
 +
This tells the system if it should offer the same map. For example, in a naval oriented server, you might want to allow this to offer [RandomWaters|Maps] multiple times with different configs.
 +
====map_voting_history_count====
 +
This tells the system how long should a map not have been played for it to be allowed to be voted on again.
 +
====map_voting_gameplay_modes====
 +
This tells the system the order of which game modes should be playable. You're welcome to repeat any gamemode to pad out any different game mode.
 +
====map_voting_log_file_path====
 +
This will log the voted maps into a txt file of your choosing. (Not necessary to function)
  
Customizable Ammobox for role-play and custom events. Through this, players can replenish their ammunition.
+
==Help my map can't be voted for==
 +
The way the map voting system works is in terms of buckets. These buckets are based on playable player counts and game mode. If you want a map to be completely ignored by map voting, set all the playable values to false. If you don't care about player count and want to enable the map for voting, set everything to true or leave the map rotation setting commented out.
 +
population_verylow_playable  <true/false>
 +
population_low_playable  <true/false>
 +
population_medium_playable <true/false>
 +
population_high_playable <true/false>
  
<code>objects_override firearmammobox <Object Position> <Object Rotation> <[[Server_Configuration_Enums#Firearm|Firearm]]> <Maximum Interactions Until Depletion> <Ammo Given> <Maximum Interactions Allowed Per Player></code>
+
Another thing to note, the load order matters. If you're using a modded map, make sure that it's the first thing in the mod load order.
  
:'''<Object Position>''' A set of float values in the format x y z = 0.0 0.0 0.0 - The location of where the firearmammobox will be spawned onto the map using x, y, and z coordinates
+
==Map vote history depending on amount of players in server==
:: Enter <code>get playerPosition</code> into the [[Console|console]] ingame to display your character's position.
+
map_voting_history_count_verylow 1
 +
map_voting_history_count_low 2
 +
map_voting_history_count_medium 4
 +
map_voting_history_count_high 10
  
:'''<Object Rotation>''' A set of float values in the format x y z = 0.0 0.0 0.0 - The orientation that the firearmammobox will be rotated when spawned onto the map
+
==Can I manually trigger the map voting to start==
:: Enter <code>get playerRotation</code> into the [[Console|console]] ingame to display your character's rotation.
+
Unfortunately, no, but theres a workaround. You can setup a win condition object or the dynamic win condition flag, and either of those systems would end the round and trigger map voting.
  
:'''<[[Server_Configuration_Enums#Firearm|Firearm]]>''' Which Firearm will the ammunition box replenish
+
=Discord Admin Webhook Logger=
 +
==Basics==
 +
To enable Discord webhooks you must have the Discord developer tools enabled. You can enable it in the "Advanced" tab in the Discord options. [[File:DiscordDevModeSetting.png|thumb|Discord developer mode setting]]
 +
Discord warnings will show things such as admin PMs, slays, kicks, revives and slaps.
 +
Discord banmutes will show things that write to config files, such as kicks, voip mutes, chat mutes and voip spammer.
  
:'''<Maximum Interactions Until Depletion>''' An integer value between 0 and 255 - The amount of times players can retrieve ammunition from the box
+
discord_webhook_warning_tag_admin <@!ID> | <@!ID>
 +
discord_webhook_warning_id <webhookID>
 +
discord_webhook_warning_token <webhookToken>
  
:'''<Ammo Given>''' An integer value between 0 and 255 - The amount ammunition given to a player on each interaction
+
discord_webhook_banmute_tag_admin <@!ID> | <@!ID>
 +
discord_webhook_banmute_id <webhookID>
 +
discord_webhook_banmute_token <webhookToken>
  
:'''<Maximum Interactions Allowed Per Player>''' An integer value between 0 and 255 - The Maximum times a specific player may retrieve ammunition from the box
+
==How to setup==
:: Useful to prevent a player from hogging all the ammo
+
These config commands should be input where the main server settings are, do not put them in map rotation.
  
'''Example'''
+
To find the correct values, you must first make sure that you have the Discord permissions in your server to create webhooks. After this create one webhook for each set.
  
Spawn a firearm ammobox at position (1 2 3) with rotation (7 8 9) with 20 total rounds depleted at a rate of 2 rounds per usage.
+
After you have made your two webhooks, you should see the option to "Copy Webhook URL". Open these in your browser and you will see assorted text. The details you need are "id:" and "token:". Copy the values from each of those into their respective <code>_id</code> and <code>_token</code> config commands.
<pre># Override Commands (This is a comment and will be ignored by the game)
 
objects_override firearmammobox 1 2 3 7 8 9 20 2 1
 
</pre>
 
  
To use this command, it must be added after <code>!map_rotation start</code> and before <code>!map_rotation end</code>.
+
<code>_tag_admin</code> will serve as a way to tag or input any text you would like at the top of the webhook url. To get the player you would like to attach to the discord message, right click on their name, at the bottom you should see "Copy ID". This will put that users ID into your clipboard. The format for the ping should be put as <code><@!12344567890></code>  
  
====Artillery & Other Props====
+
If done correctly, when you perform an admin action in game, the webhook will respond in the designated channel with the following information:
This command allows server hosts to add a massive assortment of objects such as extra artillery equipment, barricades, target dummies and pianos. 
+
*Action performed
 +
*Title provided in <code>_tag_admin</code>
 +
*Admin who performed the action (With a direct link to their Steam profile)
 +
*User who admin performed the action on (With a direct link to their Steam profile)
 +
*The name of the server the action was performed on
 +
*The reason
 +
*The date and time of the action
  
<code>objects_override <[[Spawnable Props|Spawnable_Props]]> <Object Position> <Object Rotation></code>
+
{|style="margin: 0 auto;"
 
+
| [[File:DiscordWebhookCopyUrl.png|thumb|Where to create discord webhooks]]
:'''<[[Spawnable Props|Spawnable_Props]]>''' Object which to spawn
+
| [[File:DiscordWebhookURL.png|thumb|Where to find the id and token]]
 
+
| [[File:DiscordWebhookPreview.png|thumb|Discord admin webhook example]]
:'''<Object Position>''' A set of float values in the format x y z = 0.0 0.0 0.0 - The location of where the object will be spawned onto the map using x, y, and z coordinates
+
|}
:: Enter <code>get playerPosition</code> into the [[Console|console]] ingame to display your character's position.
 
 
 
:'''<Object Rotation>''' A set of float values in the format x y z = 0.0 0.0 0.0 - The orientation that the object will be rotated when spawned onto the map
 
:: Enter <code>get playerRotation</code> into the [[Console|console]] ingame to display your character's rotation.
 
 
 
'''Example'''
 
 
 
Spawn a chair at position (1 2 3) with rotation (7 8 9).
 
Spawn a 9 Pounder cannon at position (5 6 7) with rotation (9 11 23).
 
<pre># Override Commands (This is a comment and will be ignored by the game)
 
objects_override Chair1 1 2 3 7 8 9
 
objects_override CannonFieldGun9Pdr 5 6 7 9 11 23
 
</pre>
 
 
 
To use this command, it must be added after <code>!map_rotation start</code> and before <code>!map_rotation end</code>.
 

Revision as of 22:09, 26 May 2022

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 to be found in a configuration file:

  • Setting lines, of the form <setting> <value>. These are the important part of the file.
  • Comment lines, starting with a # character. These lines are ignored. These are useful to annotate your settings, or to keep a list of map rotations at the top of your config file for reference.
  • Empty lines, used for layout / spacing. These lines are ignored.

The general layout of a configuration file is to have all server-wide settings at the top of the file, followed by a list of map rotation settings. See the image on the right. Further examples are included with the server download (see Server Hosting).

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.

First up are the port settings. These are mandatory, and all must be unique per server instance on the same box.

server_port 20100
steam_communications_port 8700
steam_query_port 27000

Next are the settings defining how the server displays to players:

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

The server_password is optional and can be left commented out. The server_admin_password is used for Remote Console Commands. The into and title will define a message to pop up on joining the server. The server_region can take one of the following values, resulting in the appropriate region being displayed in the server browser:

europe usa usaeast usawest australia
china japan russia southkorea brazil

The broadcast mode determines the network utilisation for close range combat.

Parameter Usage
LowBandwidth Reduced packet rate on close-range (high player count). This is the default mode.
HighAccuracy Increased packet rate on close-range (low player count)
Balanced Balanced is in between LowLatency and HighAccuracy and should also be rather playable on big player servers running high-end machines.
Realtime Realtime outputs even more bandwidth then HighAccuracy and should only be used on Melee Arena where the player numbers don't exceed a high count.

Example

network_broadcast_mode LowBandwidth

The respawn time for artillery can be defined in seconds. Both default to 2 minutes.

artillery_fieldgun_respawn_timer 120
artillery_rocketlauncher_respawn_timer 120

Enable the anti-griefing mechanics for artillery pieces:

antigriefing_enabled false

These settings control the player thresholds for determining which maps are available in the rotation for low/med/high player counts. This is useful to restrict certain maps when server populations do not suit them. The default values are below.

population_low_min_players 30
population_medium_min_players 50
population_high_min_players 100

You can enable / disable performance warnings with this settings:

show_serverperformance_warning true

Map randomisation can be enabled with:

map_rotation_start_randomise true

You can change the amount of people it takes to capture objectives on flag based gamemodes. There are multiple commands that will change depending on how many people are on the server and playing.

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 command as true to set the game type to Frontlines. Defaults to false.

Example frontlines config
frontlines_mode true

Auto Shutdown/Restart System

An auto-shutdown and auto-restart system has been introduced that can be configured either in the configuration file or using the VapuriLoadTester launcher.

Auto Shutdown

The game server takes care of shutting itself down after a specified number of minutes. This feature doesn’t require the explicit use of the VapuriLoadTester (VLT) program to function. This will also close the VLT server helper program upon shutdown.

Define the time after when a server will shut down pending on your set number of minutes.

server_autoshutdown_interval_minutes 240

Server will not wait for the round to finish in the ‘Auto-Shutdown System’ and will instead proceed with the shutdown after the ‘autoshutdown_interval’ + ‘autoshutdown_overtime’ has been exceeded. Ensure that this interval allows enough time for players to be informed of the server shutdown through broadcast messages.

server_autoshutdown_overtime_minutes 10

Define the message you want to broadcast to the players in the server informing them that the server will be shutting down.

server_autoshutdown_broadcasted_message Server will be shutting down.

Define the interval broadcast messages will be outputted at.

server_autoshutdown_broadcasted_message_interval_minutes 2

Auto Restart

The game server takes care of restarting itself every specified number of minutes. This feature doesn’t require the explicit use of VapuriLoadTester (VLT) program to function.

Defines the time after when a server will shut down pending on your set number of minutes. Server will always wait until the round is complete before proceeding with the restart.

server_autorestart_interval_minutes 320

Server will not wait for the round to finish in the ‘Auto-Restart System’ and will instead proceed with the restart after the ‘autorestart_interval’ + ‘autorestart_overtime’ has been exceeded. Ensure that this interval allows enough time for players to be informed of the server restart through broadcast messages.

server_autorestart_overtime_minutes 10

Define the message you want to broadcast to the players in the server informing them that the server will be undergoing a restart.

server_autorestart_broadcasted_message Auto restart at the end of the round.

Define the interval broadcast messages will be outputted at until the round ends.

server_autorestart_broadcasted_message_interval_minutes 2

Map Rotations

A number of example configuration files are provided with the Holdfast server files. Studying these is the best way to understand the different map rotations.

Additionally, Big Mamba has compiled a list of AGS-made configuration files to use as examples. The github link to them can be found: here.

Basic Map Settings

In Progress

map_name game_mode game_type round_time_minutes ships_respawn_timer round_spawn_close_timer_seconds allow_midround_spawning allow_faction_switching allow_spectating max_player_respawns deathmatch_max_kills reinforcements_per_faction minimum_players maximum_players melee_weapons_only amount_of_rounds round_spawn_close_timer_seconds_between_rounds 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 can be configured with the following commands. Their defaults are shown below. Vehicle is for Cavalry units, dynamic is for Frontlines tables.

wave_spawn_time_seconds 10
wave_spawn_vehicle_time_seconds 20
wave_spawn_dynamic_time_seconds 15

You can also enable spawn immunity up to a maximum of 5s with.

spawn_immunity_timer 5

Maps

Type Map Enum Game Modes

Army Front

Al Uddin Ruins AlUddinRuins Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Army Front

Arendan River ArendanRiver Army Assault, Army Battlefield, Army Deathmatch, Army Siege, Army Conquest

Army Front

Aspern Aspern Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Army Front

Aunby Valley AunbyValley Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Army Front

Autumn Watch AutumnWatch Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Army Front

Black Forest BlackForest Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Army Front

Camp Salamanca CampSalamanca Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Army Front

Canyon Canyon Army Assault, Army Battlefield, Army Deathmatch, Army Conquest, Melee Arena

Army Front

Causeways Causeways Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Army Front

Cross Hills CrossHills Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Army Front

Desert Ruins DesertRuins Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Army Front

Dutch Canals DutchCanals Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Army Front

Ernest Ridge ErnestRidge Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Army Front

Fort Christina FortChristiana Army Assault, Army Battlefield, Army Deathmatch, Army Siege, Army Conquest

Army Front

Fort Darial FortDarial Army Siege

Army Front

Fort Pierre FortPierre Army Assault, Army Battlefield, Army Deathmatch, Army Siege, Army Conquest

Army Front

Fort Salettes FortSalettes Army Assault, Army Battlefield, Army Deathmatch, Army Siege, Army Conquest

Army Front

Fort Schwarz FortSchwarz Army Assault, Army Battlefield, Army Deathmatch, Army Siege, Army Conquest

Army Front

Fort Winston FortWinston Army Assault, Army Battlefield, Army Deathmatch, Army Siege, Army Conquest

Army Front

Glacier Glacier Army Assault, Army Battlefield, Army Deathmatch, Army Conquest, Army Siege

Army Front

Heartmound Heartmound Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Army Front

Highlands Highlands Army Assault, Army Battlefield, Army Deathmatch, Army Siege, Army Conquest

Army Front

King George KingGeorge Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Army Front

LamarshFen Lamarsh Fen Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Army Front

Linburg Linburg Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Army Front

Marquette Marquette Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Army Front

Port Nile PortNile Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Army Front

Sacred Valley SacredValley Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Army Front

Sharpton Sharpton Army Assault, Army Battlefield, Army Deathmatch, Army Siege, Army Conquest

Army Front

Spanish Farm SpanishFarm Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Frontlines WW1

Berkton Green BerktonGreen Offensive, Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Frontlines WW1

Countryside Countryside Offensive, Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Frontlines WW1

Fort Imraan FortImraan Army Siege, Invasion

Frontlines WW1

Foxhole Foxhole Offensive, Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Frontlines WW1

Freurlund Freurlund Offensive, Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Frontlines WW1

Heroes Landing HeroesLanding Offensive, Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Frontlines WW1

Mansion Mansion Offensive, Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Frontlines WW1

Marre Marre Offensive, Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Frontlines WW1

Sacrifice Sacrifice Offensive, Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Frontlines WW1

St. Peter's StPeters Offensive, Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Frontlines WW1

Wasteland Wasteland Offensive, Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Plains - Linebattle

Ancient Plains AncientPlains Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Plains - Linebattle

Desert Plains DesertPlains Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Plains - Linebattle

Desert Plains (Small) DesertPlainsSmall Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Plains - Linebattle

Grassy Plains 1 GrassyPlains Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Plains - Linebattle

Grassy Plains 2 GrassyPlainsII Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Plains - Linebattle

Grassy Plains 3 GrassyPlainsIII Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Plains - Linebattle

Grassy Plains 4 GrassyPlainsIV Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Plains - Linebattle

Grassy Plains 5 GrassyPlainsV Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Plains - Linebattle

Snowy Plains (Small) SnowyPlainsSmall Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Plains - Linebattle

Snowy Plains 1 SnowyPlains Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Plains - Linebattle

Snowy Plains 2 SnowyPlainsII Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Plains - Linebattle

Snowy Plains 3 SnowyPlainsIII Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Plains - Linebattle

Snowy Plains 4 SnowyPlainsIV Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Plains - Linebattle

Snowy Plains 5 SnowyPlainsV Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Plains - Linebattle

Tahir Desert Egypt Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

Naval Warfront - Naval & Coastal

Balamor Bay BalamorBay Coastal Siege

Naval Warfront - Naval & Coastal

Caribbean Caribbean Naval Assault, Naval Battlefield

Naval Warfront - Naval & Coastal

Fort Imperial FortNational Coastal Siege

Naval Warfront - Naval & Coastal

Harouti Islands HaroutiIslands Naval Assault, Naval Battlefield

Naval Warfront - Naval & Coastal

Martello Tower MartelloTower Naval Assault, Naval Battlefield, Coastal Siege

Naval Warfront - Naval & Coastal

Open Waters RandomWaters Naval Assault, Naval Battlefield

Naval Warfront - Naval & Coastal

South Sea Castle SouthSeaCastle Army Assault, Army Battlefield, Army Deathmatch, Coastal Siege

Melee Arena

Castle Arena CastleArena Army Assault, Army Battlefield, Army Deathmatch, Army Conquest, Melee Arena

Melee Arena

Fort Arena FortArena Army Assault, Army Battlefield, Army Deathmatch, Army Conquest, Melee Arena

Melee Arena

Garrison Arena GarrisonArena Army Assault, Army Battlefield, Army Deathmatch, Army Conquest, Melee Arena

Melee Arena

Palisade Arena PalisadeArena Army Assault, Army Battlefield, Army Deathmatch, Army Conquest, Melee Arena

Melee Arena

Sacred Arena SacredArena Army Assault, Army Battlefield, Army Deathmatch, Army Conquest, Melee Arena

Melee Arena

Watchtower Arena WatchtowerArena Army Assault, Army Battlefield, Army Deathmatch, Army Conquest, Coastal Siege

Miscellaneous

Custom Map CustomMap Army Assault, Army Battlefield, Army Deathmatch, Army Siege, Army Conquest

Miscellaneous

Naval Custom Map CustomMapNaval Naval Assault, Naval Battlefield

Miscellaneous

Training Grounds TrainingGrounds Army Assault, Army Battlefield, Army Deathmatch, Army Conquest

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>

How long, in seconds, the officer can use the reinforcement ability.

class_system_orders_reinforce_cooldown 240

How many players will be able to spawn on a flag when it is placed down. Set this to -1 if playing on Frontlines gametype.

class_system_orders_reinforce_limit 25

Conquest config

These config options also apply to the Frontlines gamemode "Offensive"

Conquest tick reward will grant the team a set amount of points per each tick. Recommended 3.

conquest_tick_reward 3

Conquest ticker time will set how long in seconds each tick for points will take. Recommended 1

conquest_ticker_time_seconds 1

How many points will be awarded to the team when you capture an objective. Recommended 100.

conquest_tickets_per_capture 100

How many points are required to win a game of conquest. ArmyConquest recommended 2500. Offensive recommended 7500.

conquest_max_tickets 7500

How long in seconds, till you can capture an objective after the round starts.

conquest_territory_lock_time_seconds 0

Weather and time of day

This setting will determine what weather and time of day preset will be active on map load. Setting this to none will result in a random pool of presets that are valid for that type of map.

nature_preset none

Friendly fire

Enable friendly fire?

friendly_fire <true/false>

If friendly fire is disabled, changing this to true will mean that when you hit a friendly player with a melee attack, the attack will act like it has hit a solid object, ending the melee attack. Setting this to false will result in melee attacks not interacting with friendly players and going directly though their hitbox uninterputed unless they interact with something else in the game world.

friendly_fire_melee_bounce <true/false>

Setting this to a number will be a percentage of how much friendly fire damage is reflected back to the player. For example setting this to 50, will mean that any damage you deal to a teammate, 50% of that damage will be reflected back to you.

damage_split 50

Frontlines

This will set how much time, in seconds, it takes for a team to become dominated, and lose the round in the Offensive gamemode on the Frontline gametype.

frontline_offensive_domination_duration_seconds 120

This will allow you to change settings of capture points in general.

capture_point_override <objective> <num_respawns> <time_for_1_person_to_capture> <max_people_affecting_time>

For example

capture_point_override A 150 30 1 //A capture point: 150 respawns with 30 sec capture, other people dont affect capture speed.
capture_point_override B 175 30 1 //B capture point: 175 respawns with 30 sec capture, other people dont affect capture speed.
capture_point_override C 350 60 2 //C capture point: 350 respawns with 60 sec capture alone, or 30 sec capture with 2+ people.
capture_point_override D -1 90 3 //A capture point: infinite respawns with 90 sec capture alone, 45 sec capture if 2, 30 sec capture if 3+

Automatic Console Commands

You can issue any of the Remote Console Commands at the start of a map rotation by included them in the server configuration file. You may want to do this to:

  • Reset default values for settings like God Mode or player movement speeds, either on a staging map like Training Grounds or on all possible maps.
  • Automatically spawn a number of bots on map load
  • Set up specific scenarios for non-standard events

Override Commands

Server administrators are able to create and customise their own roleplay scenarios through various server-side configuration settings. Override commands can be used to create a unique experience that is not limited by the usual confines of Holdfast: NaW’s original gameplay design. Configure limits for classes, define the allowed spawnable classes per spawn point, select the equipment they spawn with, equip weapons from racks, replenish ammunition, spawn various props, interactable objects and artillery pieces per map rotation and more.

Here’s how you can make use of override commands and any other related commands that can prove useful to help you get started or create your own scenarios.

Land

Class Limit Override On Spawn Points

Spawn override commands provide administrators with the ability to define which classes to spawn on which spawn location and their limitations as well. By using the following override, you can also have classes that are only playable on naval and coastal scenarios be present on army-based game modes.

Note: This will overwrite (not add to!) the classes available at a spawn point.

Tahir Desert Army Battlefield 200 Carpenters vs 200 Rifleman
spawn_override <Spawn Point> <Class> <Class Limit>
<Spawn Point> correlates to the spawn present in the spawn menu for instance Barricade (A) on Spanish Farm. Values are defined as letters for <Spawn Point> A B C D E F G H etc...
<Class> The name of the class being added to the spawn point
<Class Limit> An integer value between 1 and 255 - Set the number of players allowed to spawn as the specified class

Example

These commands will give 1 team 200 of the carpenter class and the other team 200 Riflemen:

# Override Commands (This is a comment and will be ignored by the game)
spawn_override A Carpenter 200
spawn_override B Rifleman 200

Similarly, administrators have the ability to allow users to only spawn with modded uniforms.

Note: You will need a modded uniform for each class you want to spawn, as base game uniforms will not be available.

exclusive_modded_uniforms <true/false>

To use these commands, it must be added after !map_rotation start and before !map_rotation end.

Starting Weapon Override

Make use of the following override command to define the weapons each and every class for a particular faction spawn with. Due to the introduction of weapon racks that allow players to equip weapons irrespective of their class, a particular class can now spawn with multiple different firearm or melee weapon types.

To use this command for yourself it must be added after !map_rotation start and before !map_rotation end in the following format...

starting_weapons_override <Faction> <Class> <Maximum Firearm Weapons> <Maximum Melee Weapons> <Starting Weapon>
<Faction> The Faction of the Class you wish to customize
<Class> The name of the class you wish to customize
<Maximum Firearm Weapons> An integer value between 0 and 50. The Maximum amount of Firearms that the class can possess through either the starting weapons commands or weapon racks.
<Maximum Melee Weapons> An integer value between 0 and 50. The Maximum amount of Melee Weapons that the class can possess through either the starting weapon commands or weapon racks.
Bayoneted Muskets count both as a firearm and a melee weapon
Allowing unarmed combat with fists also counts as a melee weapon
<Starting Weapon> - The weapon(s) that the class will spawn with

For multiple weapons add a space then another <Starting Weapon>:

starting_weapons_override <Faction> <Class> <Maximum Firearm Weapons> <Maximum Melee Weapons> <Starting Weapon> <Starting Weapon> <Starting Weapon> <Starting Weapon>

Example

Give the British grenadiers a rifle and give the French grenadiers a rifle, pike & sabre:

# Override Commands (This is a comment and will be ignored by the game)
starting_weapons_override British Grenadier 4 2 Rifle_Pattern1800Infantry
starting_weapons_override French Grenadier 4 3 Rifle_Pattern1800Infantry BoardingPike_Variation1 Sabre_1796PatternLight

To use this command, it must be added after !map_rotation start and before !map_rotation end.

Firearm Ammo Override

Use the following override command to configure firearm ammunition related settings as well as limitations. As the functionality for pickable weapons through weapon racks and ammo boxes exists within the game, through these settings we allow you to configure ammunition related settings for each and every weapon based on the class a firearm is being equipped by.

Input the below commands per map rotation in the server configuration file.

firearm_ammo_override <Faction> <Class> <Firearm> <Starting Ammo> <Loaded Ammo In Barrel> <Maximum Carryable Ammo>

<Faction> The Faction of the Class you wish to customize
<Class> The name of the class you wish to customize
<Firearm> The type of firearm that you are customizing
<Starting Ammo> An integer between 0 and 255 - The amount of ammunition the firearm will start with
<Loaded Ammo> An integer defined as a numerical value between 0 and 255 - How much ammunition is preloaded into the firearm for the weapons
Using values of 2 and above will act as temporary increase in clip size until the ammunition is drained and a reload is required.
<Maximum Carryable Ammo> An integer between 0 and 255 - The maximum amount of ammunition able to be carried for a firearm.
This value can be larger than <Starting Ammo> for game-modes that use the ammo box object

Example

Give the British light infantry two rounds but none in the barrel and give the French light infantry a musket with one loaded round but none in reserve:

# Override Commands (This is a comment and will be ignored by the game)
firearm_ammo_override British LightInfantry Musket_NewLandPatternBrownBess 2 0
firearm_ammo_override French LightInfantry Musket_NewLandPatternBrownBess 0 1

To use this command, it must be added after !map_rotation start and before !map_rotation end.

Sapper Buildable Defences Limitations

Configure limitations per buildable object. With this, you can disable explosives, increase the buildable chair limit and more.

It is important to note this command functions similar to an RC command and it will persist through rounds. This means that if you disable explosives on the first map rotation, they will remain disabled on the map rotations following that unless otherwise enabled once more in a subsequent rotation.

Input the below commands per map rotation in the server configuration file.

sappers_buildlimit <Emplacement Type> <Attacking Or Defending> <Emplacement Limit>

<Emplacement Type> The emplacement you wish to set a limitation on
<Attacking Or Defending> If the limit should apply for the attacking or defending faction
<Emplacement Limit> An integer between 0 and 255 - Set a limit on the allowed buildable emplacements

Example

Disable the use of explosive barrels for the defending faction:

# Sapper Configuration Commands (This is a comment and will be ignored by the game)
sappers_buildlimit ExplosiveBarrel defending 0

To use this command, it must be added after !map_rotation start and before !map_rotation end.

Sapper Buildable Defences Starting Materials

Define the starting materials for the attacking and defending factions.

Input the below commands per map rotation in the server configuration file.

sappers_attacking_starting_materials <Material Limit>
sappers_defending_starting_materials <Material Limit>
<Material Limit> An integer between 0 and 10000 - Set the materials each faction starts with

Example

Set the starting limit for the attackers to 50 and the defenders to 200:

# Sapper Configuration Commands (This is a comment and will be ignored by the game)
sappers_attacking_starting_materials 50
sappers_defending_starting_materials 200

To use this command, it must be added after !map_rotation start and before !map_rotation end.

Spawn Overrides

Spawns can be overridden or added to, depending on the game type. For ArmyDeathmatch, ArmyBattlefield, and Melee Arena these commands will replace any existing spawn points on the map. For Siege and Conquest these will add to the existing set of spawn points. It is not currently possible to set up new capturable spawn points on maps. Using these in Naval or Coastal battles can result in players spawning in the middle of the ocean.

objects_override spawnsection <Position> <Rotation> <ID>,<Spawn_Point_Name>,<Spawn Category>,<Attacking, Defending or Neutral>,<Spawn Size X>,<Spawn Size Y>

<Position> A set of float values in the format x y z = 0.0 0.0 0.0 - The center of the spawn point on the map using x, y, and z coordinates.
Enter get playerPosition into the console ingame to display your character's position.
<Rotation> A set of float values in the format x y z = 0.0 0.0 0.0 - The rotation in degrees of the spawn point on the map around the x, y, and z axes, where Y is "up".
Enter get playerRotation into the console ingame to display your character's rotation.
<ID> A whole number uniquely identifying this spawn point. This must be between 10 and 256, and cannot match another ID.
<Spawn_Point_Name> The name you want listed in the spawn menu. Ideally these should be kept short to fit in the menu. To include spaces in the name, replace them with underscores. For example, the name Tahir_Desert_Ruins would display as Tahir Desert Ruins.
<Spawn Category> This defines the icon of the spawn in the menu. It should be selected from the following options:
BaseSpawn, FortifiedPosition, OpenPlains, Farm, Field, Village, Camp, Lodge, Church, Ruins, Port, Ship
<Attacking, Defending or Neutral> For Army Siege and Conquest, this will determine which faction can use this spawn. For other modes this is ignored, and the spawn points are granted half an half to each team based on their order of input in config.
<Spawn Size X> & <Spawn Size Y> This takes a floating point number and determines the size of the spawn area in meters. To visualise this when testing, spawn a couple of dozen bots with movement turned off.
Be careful not to have a large spawn area on the edge of the map as it can cause players to spawn out of bounds.

Naval

Class Limit Override On Ships

By using the following override commands, you can define your own selection of classes to spawn on which ship. It also provides you with the option of allowing players to spawn with army-based classes on ships. IE. If you’re looking at allowing players to spawn with the Line Infantry Class on the 13-Gun Brig-Sloop, you can do just that.

Input the below commands per map rotation in the server configuration file.

ships_spawn_detail_override <Ship Type> <Faction> <Class> <Class Limit>

<Ship Type> Ship type of which to override the spawn point of
<Faction> The Faction of the ship
<Class> The name of the class being added to the spawn point
<Class Limit> An integer value between 1 and 255

Example

"Only" allow 200 Riflemen for British and French frigates.

# Override Commands (This is a comment and will be ignored by the game)
ships_spawn_detail_override Frigate50gun British Rifleman 200
ships_spawn_detail_override Frigate50gun French Rifleman 200

To use this command, it must be added after !map_rotation start and before !map_rotation end.

Ship Spawning & Custom Ship Presets

Make use of the commands below to define the ship types to spawn in a particular map rotation. Through the same command, you can also define the number of ships to spawn, for which faction as well as their paint scheme. It works on both the Naval Battlefield, Naval Assault & Coastal Siege game modes. You must make sure to set <ships_preset> index to 37 per map rotation before using the command below. This preset index doesn't contain any ships so you retain further control over the ships you want to spawn. IE. You can spawn in 1 50-Gun Frigate with a yellow and black color scheme for the British faction while having 3 8-Gun Schooners for the French with a random color variation

Input the below commands per map rotation in the server configuration file.

ships_spawn <Ship Type> <Amount Of Ships> <Faction> <Color> <Ship Name>

<Ship Type> Ship type to spawn
<Amount Of Ships> An integer between 0 and 50 - Amount of ships to spawn
<Faction> The Faction of the ship
<Color> Color is defined as an integer between 0 and 5

Example

Spawn 1 British frigate and 10 French rocketboats.

# Override Commands (This is a comment and will be ignored by the game)
# Set ship_preset to 37 (doesn't spawn any ships)
ships_preset 37
# Spawn ships
ships_spawn Frigate50gun 1 British 0
ships_spawn Rocketboat 10 French 4

To use this command, it must be added after !map_rotation start and before !map_rotation end.

Health Override For Ships

Administrators can define health points for each and every naval vessel type within the game. This addition could prove useful for organised events or perhaps even the creation of unique scenarios featuring flagships.

Input the below commands per map rotation in the server configuration file.

ships_health_detail_override <Ship Type> <Faction> <Health Points>

<Ship Type> Ship type to spawn
<Faction> The Faction of the ship
<Health Points> An integer value between 0 and 99999 - Health Points of the ship

Default Ship HP values:

Frigate: 5500
12GunBrigg: 3000
8GunSchooner: 2000
2GunSchooner: 1250
Gunboat: 500
Rocketboat: 500

Example

Set British frigate HP to 20000 and French frigate HP to 70 because Britannia rules the waves.

# Override Commands (This is a comment and will be ignored by the game)
ships_health_detail_override Frigate50gun British 20000
ships_health_detail_override Frigate50gun French 70

To use this command, it must be added after !map_rotation start and before !map_rotation end.

Ship Spacemode

Be at the forefront of interplanetary travel! By inserting this command per map rotation, you can enable ships to fly. Press the Space key to ascend and the Shift key to descend.

Input the below command per map rotation in the server configuration file.

ships_spacemode <True or False>

<True or False> True enables ships to fly while false is the default gameplay

Example

Enable ships to fly.

# Fun Commands (This is a comment and will be ignored by the game)
ships_spacemode true

Spawn Overrides

This operates in a similar fashion to the land spawn override, but to affect ship spawn locations on ocean maps. It will not override existing spawn locations, but will function on custom maps (such as CustomMapNaval) when using Naval Battlefield or Coastal Siege.

objects_override shipspawnsection <Position> <Rotation>

<Position> A set of float values in the format x y z = 0.0 0.0 0.0 - The center of the spawn point on the map using x, y, and z coordinates.
Enter get playerPosition into the console ingame to display your character's position.
<Rotation> A set of float values in the format x y z = 0.0 0.0 0.0 - The rotation in degrees of the spawn point on the map around the x, y, and z axes, where Y is "up".
Enter get playerRotation into the console ingame to display your character's rotation.

Object Override

Objects can be added to the game by following the guide in Map Editing.

Map Voting

Basics

To enable map voting in general, you need to setup a few commands in the global scope of your server config.

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

map_voting_enabled

This tells the server that the map voting system is enabled or disabled.

map_voting_duration

This tells the system how long (in seconds) the map voting should allow people to vote for.

map_voting_allow_same_map

This tells the system if it should offer the same map. For example, in a naval oriented server, you might want to allow this to offer [RandomWaters|Maps] multiple times with different configs.

map_voting_history_count

This tells the system how long should a map not have been played for it to be allowed to be voted on again.

map_voting_gameplay_modes

This tells the system the order of which game modes should be playable. You're welcome to repeat any gamemode to pad out any different game mode.

map_voting_log_file_path

This will log the voted maps into a txt file of your choosing. (Not necessary to function)

Help my map can't be voted for

The way the map voting system works is in terms of buckets. These buckets are based on playable player counts and game mode. If you want a map to be completely ignored by map voting, set all the playable values to false. If you don't care about player count and want to enable the map for voting, set everything to true or leave the map rotation setting commented out.

population_verylow_playable  <true/false>
population_low_playable  <true/false>
population_medium_playable <true/false>
population_high_playable <true/false>

Another thing to note, the load order matters. If you're using a modded map, make sure that it's the first thing in the mod load order.

Map vote history depending on amount of players in server

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 the map voting to start

Unfortunately, no, but theres a workaround. You can setup a win condition object or the dynamic win condition flag, and either of those systems would end the round and trigger map voting.

Discord Admin Webhook Logger

Basics

To enable Discord webhooks you must have the Discord developer tools enabled. You can enable it in the "Advanced" tab in the Discord options.

Discord developer mode setting

Discord warnings will show things such as admin PMs, slays, kicks, revives and slaps. Discord banmutes will show things that write to config files, such as kicks, voip mutes, chat mutes and voip spammer.

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 setup

These config commands should be input where the main server settings are, do not put them in map rotation.

To find the correct values, you must first make sure that you have the Discord permissions in your server to create webhooks. After this create one webhook for each set.

After you have made your two webhooks, you should see the option to "Copy Webhook URL". Open these in your browser and you will see assorted text. The details you need are "id:" and "token:". Copy the values from each of those into their respective _id and _token config commands.

_tag_admin will serve as a way to tag or input any text you would like at the top of the webhook url. To get the player you would like to attach to the discord message, right click on their name, at the bottom you should see "Copy ID". This will put that users ID into your clipboard. The format for the ping should be put as <@!12344567890>

If done correctly, when you perform an admin action in game, the webhook will respond in the designated channel with the following information:

  • Action performed
  • Title provided in _tag_admin
  • Admin who performed the action (With a direct link to their Steam profile)
  • User who admin performed the action on (With a direct link to their Steam profile)
  • The name of the server the action was performed on
  • The reason
  • The date and time of the action
Where to create discord webhooks
Where to find the id and token
Discord admin webhook example