Overview
Holdfast allows server owners to customise existing maps to create a whole new experience. You can add props, change spawns, weapon setup, class limits, and more until you've created something entirely new. Map customisation is defined using Map Rotations in the configuration file.
Starting Maps
As well as building upon the normal maps, there are two flat and empty maps that are perfect to let your imagination run wild: CustomMap and CustomMapNaval. As you'll likely spend plenty of time setting up your new map, create a new rotation with an unlimited timer and open spawns, e.g.:

!map_rotation start map_name CustomMap game_mode ArmyBattlefield round_time_minutes -1 reinforcements_per_faction 9000 wave_spawn_time_seconds 1 max_player_respawns -1 faction_balancing false allow_midround_spawning true allow_faction_switching true allow_spectating true minimum_players -1 maximum_players 150 time_hour 8 time_dynamic false friendly_fire true weather_preset calm weather_dynamic false game_type hardcore !map_rotation end
To refresh changes to your map without restarting your server, issue the following (substitute the correct rotation index):
rc fileReloader serverConfigFile rc mapRotation 1
Positioning
Before placing a prop, decide where it goes and which way it faces. Stand where you want it in-game, open the console with F1 and type get.

This prints your position and rotation:
playerPosition => (15.3, 16.8, 146.9) playerRotation => (0.0, 218.0, 0.0)
- Position is (X, Y, Z). Positive X is North, positive Y is up, positive Z is West.
- Rotation is degrees around (X, Y, Z). You'll use Y most to turn objects; X and Z tilt.
- To face the opposite direction of the example above, use
(0.0, 38.0, 0.0)(218 − 180).
As of 0.35, get details also copies position & rotation to your clipboard for easy pasting.
Placing Props
Props range from simple decor (just position/rotation) to interactables (with extra parameters).
Decorative Props
See Spawnable Props for the full list. Place a decorative prop with:
objects_override <prop> <pX> <pY> <pZ> <rX> <rY> <rZ>
- <prop> — Enum from Spawnable Props
- <pX> <pY> <pZ> — Position (use
get playerPosition) - <rX> <rY> <rZ> — Rotation (use
get playerRotation)

Example — add a Target Dummy at the example coordinates:
!map_rotation start map_name CustomMap game_mode ArmyBattlefield round_time_minutes -1 reinforcements_per_faction 9000 wave_spawn_time_seconds 1 max_player_respawns -1 faction_balancing false allow_midround_spawning true allow_faction_switching true allow_spectating true minimum_players -1 maximum_players 150 time_hour 8 time_dynamic false friendly_fire true weather_preset calm weather_dynamic false game_type hardcore objects_override TargetDummy 15.3 16.8 146.9 0.0 218.0 0.0 !map_rotation end
Interactable Props
These require extra arguments.
Weapon Racks
Players can hold E to take weapons from a rack (limited supply).
objects_override WeaponRack <Object Position> <Object Rotation> <Weapon> <Number Of Weapons In Rack>
- <Object Position> —
x y z(useget playerPosition) - <Object Rotation> —
x y z(useget playerRotation) - <Weapon> — Enum from Weapon
- <Number Of Weapons In Rack> —
0–255
Example:
# Override Commands (This is a comment and will be ignored by the game) objects_override WeaponRack 1 2 3 7 8 9 Rifle_Pattern1800Infantry 4
Place this between !map_rotation start and !map_rotation end.
Firearm Ammoboxes
Customisable ammo boxes for RP/events. Players replenish ammo on use.
objects_override firearmammobox <Object Position> <Object Rotation> <Firearm> <Maximum Interactions Until Depletion> <Ammo Given> <Maximum Interactions Allowed Per Player>
- <Object Position> —
x y z - <Object Rotation> —
x y z - <Firearm> — Enum from Firearm
- <Maximum Interactions Until Depletion> —
0–255total uses - <Ammo Given> —
0–255rounds per use - <Maximum Interactions Allowed Per Player> —
0–255per-player cap
Example:
# Override Commands (This is a comment and will be ignored by the game) objects_override firearmammobox 1 2 3 7 8 9 Rifle_Pattern1800Infantry 20 2 1
Place this between !map_rotation start and !map_rotation end.
Polishing Up
Once your map is laid out, adjust class limits, spawns, and other settings as usual via the Server Configuration guide.
Community Maps
The Holdfast modding community shares custom map configs and assists new modders. Join via the official Discord:
Once joined, go to the #become-a-modder channel and click the button to get the Modder role to unlock the Modding Bench channels.