|
|
| 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><setting> <value></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
| |