Commands
All citizen management commands use the /kscitizen prefix. The alias /npc can be used as a shorthand.
All commands require the citizen.admin permission. Regular players cannot use any of these commands.
Command Reference
/kscitizen list [group]
Lists all registered citizens with their spawn status.
/kscitizen list
/kscitizen list quest_npcs
Output:
=== Citizens (18) ===
● oasis_healer [quest_npcs] (-21, 0, 3)
● desert_scout [quest_npcs] (-65, -10, 4)
○ example_npc (0, 65, 0)
- Green dot = currently spawned
- Red dot = not spawned (different world or hidden)
- Optional
groupparameter filters by the citizen'sgroupfield.
/kscitizen create <id>
Creates a new citizen at your current position.
/kscitizen create town_guard
The new citizen is created with these defaults:
- Player model (
isPlayerModel: true) - Your current position and world
- Your facing direction (rotY)
- Passive attitude, idle movement
- Scale 1.0
The NPC spawns immediately after creation. Edit the JSON to customize appearance and behavior, then reload.
/kscitizen remove <id>
Permanently removes a citizen from the configuration and despawns its entity.
/kscitizen remove town_guard
This action is irreversible. The citizen is removed from citizens.json and the save is written immediately. There is no undo.
/kscitizen tp <id>
Teleports you to the citizen's configured position.
/kscitizen tp oasis_healer
This teleports you to the NPC's spawn coordinates, regardless of whether the NPC is currently spawned. Useful for finding NPCs in large worlds.
/kscitizen respawn <id>
Despawns and re-spawns a specific citizen.
/kscitizen respawn desert_scout
Use this after making changes that require a fresh spawn, such as:
- Changing the skin
- Modifying equipment
- Adjusting scale
- Fixing position issues
/kscitizen reload
Reloads the entire citizen configuration from disk.
/kscitizen reload
This:
- Despawns all citizens.
- Re-reads
citizens.jsonandcustom/custom_citizens.json. - Prefetches any missing skins.
- Citizens are respawned when a player is in the appropriate world.
Output:
Citizens config reloaded! (18 citizens)
Always use /kscitizen reload after editing JSON configuration files. The server does not detect file changes automatically.
/kscitizen info <id>
Displays detailed information about a specific citizen.
/kscitizen info oasis_healer
Output:
=== Citizen: oasis_healer ===
Name: Zara
Group: none
World: Forgotten_Temple
Position: -21.3, 0.0, 3.0
Model: Player (Darkelf)
Role: Citizen_Interactable_Role
Movement: IDLE
Status: Spawned
Shows: name, group, world, position, model type, NPC role, movement type, spawn status, dialog count and shop ID (if configured).
/kscitizen marker <citizenId> [! | ? | off]
Sets or removes a per-player quest marker above a citizen. This is primarily a testing command.
/kscitizen marker oasis_healer ! # Show quest available marker
/kscitizen marker oasis_healer ? # Show quest turn-in marker
/kscitizen marker oasis_healer off # Remove marker
- The marker is only visible to the player who runs the command.
- Defaults to
!if no marker type is specified. - Must be run by a player (not from the console).
Command Aliases
| Full Command | Alias |
|---|---|
/kscitizen | /npc |
Examples:
/npc list
/npc create my_npc
/npc reload
Console Usage
Most commands can be run from the server console, except:
/kscitizen create-- Requires a player (uses the player's position)./kscitizen tp-- Requires a player (teleports the player)./kscitizen marker-- Requires a player (per-player visibility)./kscitizen respawn-- Requires a player (needs world context).