map_doors.json

Runtime map doors placed by admins in game. Separate from configs/economy/map.json, which holds prices, property metadata, key limits, and penthouse rules. This file is for physical door objects spawned at runtime on the map.

High-level parts

  • enabled
  • doors
  • disabledSceneDoors

Managed door fields

FieldMeaning
idStable lower-case door id.
mapMap key or *. Current production docs should use RP Downtown keys only.
enabledWhether the door spawns.
titlePlayer-facing door title.
accessTypebuyable or jobRestricted.
positionBottom-center world position in x y z format.
yawClosed-door yaw in degrees.
modelPathDoor visual model. Toolgun presets use shipped map door models from Assets/entities/map/doors; Custom can also store an s&box cloud package ident when the package type is model. The spawn prop org whitelist is not applied to this admin-only door tool.
sizeX, sizeY, sizeZModel size multipliers. 1, 1, 1 keeps the selected model at native size.
materialPathOptional material override. Leave empty to use the model's own materials.
hingeSideleft or right.
hingeAxisauto, x, or y. auto chooses the widest horizontal model-bounds axis and is recommended for most local and cloud door models. Use x or y only when the model still pivots from the handle side.
targetAngleOpen angle in degrees.
openTimeOpen and close duration in seconds.
priceBuyable door price. Ignored and cleaned to 0 for jobRestricted doors.
repairCostLock repair cost.
canBeLockpickedWhether lockpicks can break this lock.
propertyGroupIdOptional shared buyable property group. Ignored for jobRestricted.
propertyGroupTitleOptional fallback title for that group. Ignored for jobRestricted.
allowedJobsJob ids allowed to open job-restricted doors. Ignored for buyable.

disabledSceneDoors

Managed by the Map Door tool when an operator removes or imports a native scene door. It records a stable scene-door signature, map, title, position, and model path so the runtime can hide the original map door on boot.

Use /configMap doorsRestore Defaults or litherarp.map_doors_restore_scene_defaults to clear those overrides and re-enable native map doors.

Toolgun model presets

  • Interior Doormodels/interior_door.vmdl
  • Legacy Door 01models/props_doors/door01_left.vmdl
  • Legacy Door 05models/props_doors/door01_left_05.vmdl
  • Legacy Door 06models/props_doors/door01_left_06.vmdl
  • Wood Door 01Bmodels/props/trim_sheets/doors/wooden_doors/wooden_door_01b.vmdl
  • Wood Door 01Cmodels/props/trim_sheets/doors/wooden_doors/wooden_door_01c.vmdl
  • Wood Door 01Dmodels/props/trim_sheets/doors/wooden_doors/wooden_door_01d.vmdl
  • Wood Door 01Emodels/props/trim_sheets/doors/wooden_doors/wooden_door_01e.vmdl
  • Metal Door 01Amodels/props/trim_sheets/doors/metal_doors/metal_door_01a.vmdl
  • Metal Door 03Amodels/props/trim_sheets/doors/metal_doors/metal_door_03a.vmdl
  • Metal Door 04Amodels/props/trim_sheets/doors/metal_doors/metal_door_04a.vmdl
  • Metal Door 04Bmodels/props/trim_sheets/doors/metal_doors/metal_door_04b.vmdl
  • Plastic Door 01Amodels/props/trim_sheets/doors/plastic_doors/plastic_door_01a.vmdl
  • Cell Doormodels/celldoor.vmdl
  • Cell Gatemodels/props/cell_gate/cellgate_door.vmdl
  • Custom → a local server .vmdl path or an s&box cloud model package ident selected by the operator. Non-model packages are rejected before save.

Admin workflow

  1. Give the operator map.doors.manage or *.
  2. Equip the Toolgun.
  3. Select Map Door.
  4. Aim at the floor or bottom point where the closed door should stand.
  5. Set title, model preset, access type, size, hinge side, and hinge axis in the tool settings. Keep hingeAxis on Auto unless the preview marker appears on the handle side.
  6. For Buyable, set price and an optional property group. For JobRestricted, set allowed job ids.
  7. Primary fire to place the door.
  8. Reload (R) on an existing runtime door to load it into edit mode.
  9. Reload (R) on a native map door to import it as a runtime door; saving the edit hides the original scene door.
  10. In edit mode, adjust tool settings and primary fire to update or import the selected door.
  11. Secondary fire on an existing runtime map door to remove it from both the scene and configs/map_doors.json.
  12. Secondary fire on a native map door to hide it through disabledSceneDoors.
  13. Open /configMap doors for review, bulk edits, duplication, native-door restore, or manual cleanup.
  14. Save or run litherarp.map_doors_reload to rebuild runtime doors.
QA placement in game

Runtime doors are map-sensitive. Bad placement can block spawn routes, trap players, or create unreachable property groups. Always QA placement in game after saving.

Reload

litherarp.map_doors_reload rebuilds runtime doors after a manual edit. litherarp.map_doors_reset overwrites the Data copy with shipped defaults. litherarp.map_doors_restore_scene_defaults clears disabledSceneDoors.