Citizens
Create NPCs (non-player characters) that look like players, with dialogue, movement paths and quest integration. The foundation of RPG servers.
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 |
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.
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.
# 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.
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.
- 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).
-
Copy the downloaded
.jarfile into theplugins/folder in your server directory. -
Stop the server with
/stopand start it again. Don't use/reloadfor a first install. - 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.
-
Configure the plugin by editing
plugins/Citizens/config.yml(or its equivalent). After making changes, use the reload command.
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.