Custom map
LitheraRP exposes enough in-game tooling for a determined operator to wire up a map other than RP Downtown: runtime map doors, runtime map glass, NPC mapOverrides, per-map economy data. This page is the roadmap for that work.
The tools below make custom-map integration feasible, but anything other than thieves.rpdowntown3t is a community integration. Lithera Studio does not maintain spawn points, NPC placements, doors, glass, or property data for third-party maps. Expect to do the work yourself, and to QA every change in game.
What a custom map needs
Plan for these surfaces. Each one has its own page; the workflow stitches them together.
- Spawn points and spawn tags referenced by
configs/jobs.json(spawnTag) andconfigs/spawn.json. - NPC placement via
mapOverridesinconfigs/npcs.json. - Runtime map doors with the in-game Toolgun →
configs/map_doors.json. - Runtime map glass with the in-game Toolgun →
configs/map_glass.json. - Door pricing, key limits, property groups, penthouse rules in
configs/economy/map.json. - GPS points in
configs/phone.json. - Jail locations, taxi paths, vehicle admin spawns through their respective configs.
- Performance and navigation QA from a real test session before opening it to players.
Suggested workflow
- Pick the map package on the s&box cloud and identify its package ident.
- Run a private dedicated server on that map and join with operator permissions.
- Place runtime map doors with the Toolgun. See Add a runtime map door for the full procedure.
- Place runtime map glass with the Toolgun. See Add runtime map glass.
- Add per-map NPC overrides through
configs/npcs.json -> mapOverrides. - Update
configs/economy/map.jsonwith prices and property groups that make sense for the new map. If you intend to ship this as an addon for others, preferUpsertArrayByIdpatches over wholesale replacement. - Adjust
configs/jobs.jsonspawn tags so each job lands somewhere sensible on the new map. - Add GPS points so the phone is useful again.
- Cross-check jail locations, taxi paths, and any other location-dependent system.
- QA in game: spawn flow, doors, glass, NPCs, taxi, jail, mayor laws.
Package it as an addon
Once the integration is stable, package it as a .litrpaddon manifest so other communities can install it from /config → Addons. See addons.json and Create a LitheraRP addon manifest.
A well-packaged map addon will:
- Use stable ids prefixed by the map package, for example
lakeside_main_spawn, to avoid collisions. - Use
UpsertArrayByIdpatches so re-applies are idempotent. - Leave server-owner choices (job salaries, tax rates, law board) untouched.
- Document which jobs and shop entries depend on the new map ids.