jobs.json
The active job catalog. Job ids are referenced by configs, permissions, shops, code, and saved players, so keep them stable.
Job ids are sticky
Job ids should be lowercase and stable. Changing a job id affects saved players, shop restrictions, emergency target jobs, spawn tags, and permissions.
Default job ids
citizenpolicemedicmayorthiefdrugmakermethcookarmsdealerhitmancooktaxidriverafk
The shipped afk job is a system job used by AFK logic. Keep it non-selectable unless the gameplay code is also changed.
Common job fields
| Field | Meaning |
|---|---|
| id | Technical id used by configs, permissions, shops, and code. |
| name | Display name fallback. |
| description | Display description fallback. |
| category | Grouping in roleplay menu. |
| slot | UI order. |
| selectable | Whether players can choose it. |
| color | Job accent color. |
| startingMoney | Money only for first connection where that job is the default. |
| salary | Amount paid every salary interval. |
| maxSlots | Max players in job. -1 means unlimited. |
| minPlayTimeHours | Required playtime. |
| spawnTag | Spawn point tag. |
| capabilities | Gameplay ability ids. |
| weapons | Weapon prefabs granted on job change or spawn. |
| nonDroppableWeapons | Weapon prefabs that cannot be dropped. |
| weaponStartingAmmo | Ammo granted by weapon prefab path. |
| startingKevlar | Armor on job start. |
| requiresVote | Vote before taking job. |
| canBeDemoted | Whether demotion votes can target the job. |
| clothing | Clothing resource paths. |
Common capability ids
cuffsearchhealpickpockethack_atm
Reload
Use litherarp.jobs_reload after manual edits. The managed editor in /config reloads automatically when you save.