Skip to main content

Commands

All citizen management commands use the /kscitizen prefix. The alias /npc can be used as a shorthand.

Permissions

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 group parameter filters by the citizen's group field.

/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
danger

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:

  1. Despawns all citizens.
  2. Re-reads citizens.json and custom/custom_citizens.json.
  3. Prefetches any missing skins.
  4. Citizens are respawned when a player is in the appropriate world.

Output:

Citizens config reloaded! (18 citizens)
tip

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 CommandAlias
/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).