Our news See more of us on Google? Add
Discord

Citizens

Create NPCs (non-player characters) that look like players, with dialogue, movement paths and quest integration. The foundation of RPG servers.

RPG and NPCs SpigotPaperPurpur

About Citizens

Citizens is a plugin for creating and managing NPCs (non-player characters) on a Minecraft server. NPCs look like real players (with any skin you like), but the server controls them. They can stand in place, walk along set paths, hold conversations, trade with players and play a part in quests. Citizens is the foundation of RPG and MMO servers. NPCs can have different roles: a trader (sells and buys items), a guard (attacks hostile mobs), a guide (leads players along a route) or a quest giver (hands out quests).

The plugin is modular. Citizens on its own gives you NPC creation and movement paths. Denizen (a separate plugin) adds advanced scripts, dialogue and quest mechanics. Citizens also integrates with Sentinel (NPCs as guards or fighters) and BetonQuest (a quest system).

Citizens is one of the key RPG plugins worth considering for your Minecraft server. It supports Minecraft 1.8.8 - 1.21.x and runs on Spigot, Paper and Purpur.

Citizens features

Here are the main features Citizens adds to your server. You can configure each of them in the plugin's config file.

  • NPCs with any skin
  • Movement paths (waypoints)
  • Denizen integration (dialogue)
  • Different NPC types (trader, guard)
  • Sentinel (combat NPCs)
  • Supports 20+ entity types

Citizens commands

Here are the 6 most important Citizens commands. You'll find the full list in the official documentation. Keep in mind that you can block or allow any command through a permissions system (for example LuckPerms).

Command Description Permission
/npc create [name] Creates a new NPC citizens.npc.create
/npc skin [player] Gives the NPC the skin of a player account citizens.npc.skin
/npc select Selects an NPC (right-click it) citizens.npc.select
/npc remove Removes the selected NPC citizens.npc.remove
/npc tphere Teleports the NPC to you citizens.npc.tphere
/npc lookclose Makes the NPC look at the nearest player citizens.npc.lookclose
Tip: Use tab completion in the server console (the Tab key) to see the arguments a command accepts. On a server with LuckPerms, give permissions to groups, not to individual players.

Permissions

The permissions system lets you control who can use each Citizens feature. You grant permissions through a ranks plugin such as LuckPerms (/lp group [group] permission set [node] true). The "Default OP" column shows whether server operators have the permission without any configuration.

Permission node Description Default OP
citizens.npc.create Creating NPCs Yes
citizens.npc.edit Editing NPCs Yes
citizens.npc.remove Removing NPCs Yes

Citizens configuration

On first launch, Citizens generates a config file in the plugins/Citizens/ folder. Below are the most important options, with comments. The full list of settings is in the official documentation.

config.yml Example configuration
# Citizens config.yml
npc:
  default:
    look-close:
      enabled: false       # By default, NPCs don't look at players
      range: 5             # Look range
    pathfinding:
      enabled: true
      attack-range: 1.75   # Attack range of guards
  max-npcs-per-player: 10  # NPC limit per player

After changing the configuration, save the file and use a reload command (for example /reload or the plugin's own reload command). If the plugin doesn't pick up the changes after a reload, restart the server: stop it with /stop and start it again.

YAML is an unforgiving format. A single wrong space or tab can break the whole file. Use an editor with syntax highlighting (VS Code, Notepad++) and check the file on yamllint.com before you upload it to the server.

How to install Citizens

Download Citizens from the official CI server. Drop the .jar into plugins/ and restart the server. Create NPCs with the /npc create [name] command. For dialogue and quests, install Denizen or BetonQuest.

  1. Download Citizens from the official site. Make sure you get a version that's compatible with your Minecraft version (1.8.8 - 1.21.x).
  2. Copy the downloaded .jar file into the plugins/ folder in your server directory.
  3. Stop the server with /stop and start it again. Don't use /reload for a first install.
  4. Check the server console. If Citizens loaded correctly, you'll see a message with the plugin's version. If there's an error, check that you have all the dependencies installed.
  5. Configure the plugin by editing plugins/Citizens/config.yml (or its equivalent). After making changes, use the reload command.
Server compatibility: Citizens runs on Spigot, Paper and Purpur. We recommend Paper as your server engine: it has better performance and more APIs than Spigot.

Alternatives to Citizens

Citizens isn't the only plugin in its category. Below are alternatives worth considering if you're looking for something different or Citizens doesn't meet your needs.

FancyNPCs

A lighter alternative with a minimalist approach to creating NPCs.

ZNPCsPlus

A modern packet-based NPC plugin that works without ProtocolLib.

Frequently asked questions about Citizens

How do I install Citizens?

Download Citizens from the official CI server. Drop the .jar into plugins/ and restart the server. Create NPCs with the /npc create [name] command. For dialogue and quests, install Denizen or BetonQuest. You'll find detailed instructions, with dependencies and configuration, in the installation section above.

Which server engines does Citizens run on?

Citizens runs on: Spigot, Paper, Purpur. We recommend Paper as your engine: for most servers, it offers the best balance between performance and plugin compatibility. You can read more about server engines in our comparison.

Is Citizens free?

Citizens is available on its official site. Check the license details on the download page.

Citizens isn't working. What should I do?

Check the logs/latest.log file in your server directory. The most common causes of errors are: (1) a missing dependency, (2) an incompatible Minecraft version (check that your server version is within 1.8.8 - 1.21.x), (3) an error in config.yml (check the YAML formatting), (4) a conflict with another plugin that does the same thing.

Can I use Citizens on a Bedrock server?

No. Citizens is a Java Edition plugin and runs on Spigot/Paper/Purpur servers. Bedrock Edition uses a different system (behavior packs). If you want Java and Bedrock players on one server, check out Geyser.

More plugins in the RPG and NPCs category