Skip to main content

Citizens Permissions

This page lists all permissions used by the Citizens & NPC system.

Admin Permission

PermissionDescription
citizen.adminRequired for all /kscitizen management commands. Without this permission, a player cannot create, edit, remove, teleport to, respawn, or reload citizens.

All subcommands of /kscitizen check for citizen.admin before executing. Console commands bypass this check.

Command Permission Matrix

CommandPermissionNotes
/kscitizen list [group]citizen.adminList all registered citizens
/kscitizen create <id>citizen.adminCreate a new citizen at the player's position
/kscitizen remove <id>citizen.adminPermanently delete a citizen
/kscitizen tp <id>citizen.adminTeleport to a citizen's position
/kscitizen respawn <id>citizen.adminDespawn and re-spawn a single citizen
/kscitizen respawnallcitizen.adminDespawn and re-spawn all citizens
/kscitizen reloadcitizen.adminReload citizen configs from disk
/kscitizen info <id>citizen.adminDisplay detailed citizen information
/kscitizen marker <id> [type]citizen.adminSet or remove a quest marker above a citizen
/kscitizen viewercitizen.adminOpen the NPC Viewer admin page
/kscitizen wprecord <id>citizen.adminStart waypoint recording mode
/kscitizen wpadd [seconds]citizen.adminAdd a waypoint at the player's current position
/kscitizen wpundocitizen.adminRemove the last recorded waypoint
/kscitizen wpdonecitizen.adminStop recording and save waypoints
info

The alias /npc works identically to /kscitizen. Permission checks are the same regardless of which alias is used.

Showcase Mode

When the server is running in read-only showcase mode, write operations are blocked even for players with citizen.admin. The following commands are additionally blocked in showcase mode:

  • /kscitizen create
  • /kscitizen remove
  • /kscitizen respawnall
  • /kscitizen reload
  • /kscitizen wprecord, wpadd, wpundo, wpdone

Read-only commands (list, tp, info, marker, viewer) remain available in showcase mode.

Per-Citizen Interaction Permissions

Individual citizens can require a custom permission for player interaction. This is configured per-citizen in the JSON config:

{
"id": "vip_merchant",
"permission": "citizen.interact.vip",
"noPermissionMessage": "Only VIP members can talk to this merchant."
}
FieldDescription
permissionPermission string required to interact with this citizen. Players without it are blocked.
noPermissionMessageMessage shown to players who lack the required permission.
tip

Per-citizen permissions are completely optional. If permission is not set (or is null), all players can interact with the NPC.

Setting Up Permissions

Permissions are managed through your Hytale server's permission system. To grant a player the citizen admin permission:

# Grant citizen management access
/permission set <player> citizen.admin true
warning

Do not grant citizen.admin to regular players. It provides full control over all NPCs on the server, including the ability to create, modify, and permanently delete citizens.