Skip to content

Custom monuments

aristocratos edited this page Sep 27, 2026 · 1 revision

🇷🇺 Русская версия

Custom Monuments (Кастомные Монументы)

Adds your own monuments made in RustEdit to the map as new monuments, together with their terrain. The mod finds free spots for them during generation. Nothing vanilla is replaced: to put your monument in place of a vanilla one, use the swap.

Custom monuments Swap
Where New spots chosen by the mod Exactly where a vanilla monument stood
Terrain Heights, textures, topology and holes from your file Unchanged
Roads and rails Built around the monument (it's placed before them) Were built for the original
When During generation After the map is saved

Settings

"Custom Monuments": {
  "Enabled": true,
  "Folder with .map files (relative to server root)": "maps/custom",
  "List": [
    {
      "Enabled": true,
      "Name": "Gas station",
      "File": "gas_station.prefab",
      "Count": 2,
      "Radius": 0,
      "Blend": 25,
      "HeightMode": "Stamp",
      "CopySplat": true,
      "CopyTopology": false,
      "CopyAlpha": true,
      "RandomRotation": true,
      "MaxHeightDifference": 15,
      "MinHeight": 2,
      "MaxHeight": 150,
      "MinDistanceToMonuments": 150,
      "MinDistanceSameType": 500,
      "Filter": { "Enabled": false }
    }
  ]
}

Enabled turns the whole section on, the folder is where your files are, relative to the mod folder (maps/custom by default). Each List entry is one monument file.

Preparing the file

Two formats are supported. Put the file in the folder and write its name in File.

.map: a regular RustEdit map with your monument on it.

  • The first prefab in the hierarchy is the anchor, the monument's center. Put a SpawnPoint there (or the original monument prefab), as for the swap. A SpawnPoint anchor isn't placed on the map. A .map made for the swap works here too.
  • Prefab positions are taken relative to the anchor, heights relative to the ground under the anchor.
  • The terrain (heights, textures, topology, holes) is read from the map around the anchor, so shape the terrain right there.

.prefab: RustEdit's "Save as prefab".

  • The pivot (0, 0, 0) is the center, y = 0 is ground level.
  • If RustEdit saved the terrain next to the prefab (<name>.prefab.heights, .splat0, .splat1, .alpha, .topology), keep those files next to the .prefab and they are used. Without them only the prefabs are placed, and Stamp works like Flatten.

Prefabs that don't exist in the current Rust version and prefabs with broken coordinates (NaN) are skipped with a warning in the log.

IO (wires) of the file is saved into the map and works with CustomGenerator.Server on the live server.

Fields

Field Default Description
Enabled true Place this monument. A missing file turns it off with a warning
Name "" Name for the log and the map preview. Empty means the file name
File "" File name in the custom monuments folder
Count 1 How many copies to place. You may get fewer if there's no room
Radius 0 Footprint radius (m). 0 means auto: the farthest prefab + 10 m, at least 20 m
Blend 25 Width (m) of the ring around the footprint where the monument's terrain smoothly blends into the world
HeightMode Stamp Stamp: heights from the file. Flatten: a flat pad. None: keep the world terrain
CopySplat false Copy ground textures from the file
CopyTopology false Copy topology from the file (tiers are kept from the world)
CopyAlpha true Copy terrain holes, e.g. bunker entrances
RandomRotation true Rotate each copy randomly around the vertical axis
MaxHeightDifference 15 Max height difference (m) of the world terrain under the footprint
MinHeight / MaxHeight 2 / 150 Allowed terrain height (m above sea level) at the center
MinDistanceToMonuments 150 Min distance (m) to other monuments
MinDistanceSameType 500 Min distance (m) between copies of this monument
Filter off Where the monument may stand, same as the group filter

How placement works

  1. Custom monuments are placed right after the vanilla main monuments, before roads and rails. The footprint gets the Monument topology, so roads, rails, cliffs and decor keep away.
  2. The mod tries random spots and picks the flattest of the first 16 suitable ones. Spots depend on the seed: the same seed gives the same result.
  3. A spot is suitable when:
    • the terrain height at the center is between MinHeight and MaxHeight, and the Filter allows the center (TopologyNot is checked over the whole footprint);
    • the footprint is on land, with no ocean, river, lake, road, rail or other monument, and the Blend ring doesn't touch the ocean, a river or a monument;
    • the height difference under the footprint is at most MaxHeightDifference;
    • it's at least MinDistanceToMonuments + Radius from vanilla monuments, and doesn't overlap other custom monuments (MinDistanceSameType between copies of one entry).
  4. The terrain inside Radius is set by HeightMode around the average height of the footprint and blended into the world within Blend.
  5. Entries are processed in list order, so earlier ones get the better spots.

The log shows every placed copy and a summary:

Custom monument 'Gas station' #1: 312, -845 (height 24.3, rotation 117)
Custom monument 'Gas station': placed 2/2, radius 46m, 118 prefabs each

Clone this wiki locally