Citizens: NPCs und Quest-Charaktere auf dem Minecraft-Server
Citizens macht aus einem Server eine bewohnte Welt. Ohne ihn gibt es entweder gar keine NPCs oder eine zusammengefrickelte Lösung mit unsichtbaren Zombies. Wir gehen Installation, Setup und Anbindung an Quests oder Denizen durch, damit am Ende echte Händler, Wachen und Questgeber stehen.
Was Citizens ist und warum gerade dieser Plugin
Citizens ist ein Open-Source-Plugin, das seit 2011 entwickelt wird, und nach 14 Jahren ist es der De-facto-Standard für NPCs auf Spigot und Paper. Out of the box erstellt er statische und sich bewegende Charaktere, setzt Skins, Ausrüstung, Namen-Hologramme und Klick-Reaktionen. Quests oder Shops macht er selbst nicht, aber sein API ist die Basis, auf der Dutzende anderer Plugins aufbauen.
Alternativen gibt es: ZNPCsPlus, FancyNpcs, Adyeshach. Sie sind jünger, leichter und auf großen Servern manchmal schneller, aber kein populäres Quest-Plugin spricht direkt mit ihnen. Wenn du Quests, BeautifulQuests, Sentinel, Denizen, ShopKeepers oder einen von hundert anderen einsetzen willst, brauchen alle Citizens. Damit ist die Wahl in den meisten Fällen klar.
In der Praxis treibt Citizens NPCs auf Servern von kleinen privaten RP-Shards bis zu großen Minigame-Netzwerken an. Das Plugin wird aktiv weiterentwickelt, hat regelmäßige Releases für neue Minecraft-Versionen und einen Discord für Bug-Reports.
Installation auf Paper oder Spigot
Lade die aktuelle .jar von der offiziellen Seite oder von Spigot resources. Die 2.0.x-Reihe läuft auf Paper und Spigot 1.20.x sowie 1.21.x. Für 1.16-1.19 nimmst du ältere Builds aus dem Dev-Channel.
.jar nach plugins/, Server neu starten. Nach dem Start siehst du:
plugins/Citizens/
├── config.yml
├── saves.yml
├── traits/
└── messages.yml
saves.yml enthält deine NPCs. Sichere die Datei zusammen mit der Welt. Wird sie korrupt, sind alle NPCs weg und das Wiederherstellen per Hand ist kein Spaß. Mir sind einmal 40 NPCs durch einen Crash mitten im Speichern verloren gegangen, seitdem habe ich alle zwei Stunden eine separate Kopie von saves.yml.
Wenn du eigene Plugins mit Citizens-Integration schreibst, binde CitizensAPI als compileOnly Dependency ein und setze softdepend: [Citizens] in der plugin.yml.
Den ersten NPC erstellen
Der Basis-Befehl:
/npc create Quester
Der NPC spawnt an deiner Position mit automatisch vergebener ID. Standardmäßig nimmt er deinen eigenen Spielerskin. Ändern kannst du das mit:
/npc skin Notch
/npc skin --url https://textures.minecraft.net/texture/abc123...
Du kannst jeden aktiven Mojang-Nick angeben, Citizens zieht dann die Textur. Für volle Kontrolle nimm MineSkin, generiere dort einen eigenen Skin, kopiere die URL und setze sie hinter --url. Skins werden lokal gecached, damit das API nicht bei jedem Respawn überlastet wird.
Basis-Befehle zum Bearbeiten
Erst NPC auswählen: stell dich daneben und linksklick, oder nutze /npc sel <id>. Alles weitere arbeitet auf dem ausgewählten NPC.
/npc rename &eMerchant
/npc lookat <player|coords>
/npc equip
/npc move
/npc despawn
/npc spawn
/npc remove
/npc remove all
/npc equip öffnet ein GUI, in das du Rüstung und Item in die Hand legst. /npc move teleportiert den NPC zu dir. /npc lookat lässt ihn dem nächsten Spieler folgen mit dem Blick. /npc rename unterstützt Legacy-Farben mit & und auf modernen Versionen MiniMessage-Tags, wenn in config.yml aktiviert.
Nützliche Extras:
/npc list
/npc help <Seite>
/npc tphere
/npc tp
/npc copy
/npc copy kloniert einen NPC mit allen Traits, was bei einer Reihe identischer Wachen viel Zeit spart.
Verhalten: patrol, follow, wander
Citizens bringt drei Bewegungsmodi mit. Sie werden über /npc behavior oder den passenden Trait gesetzt:
/npc path
/npc wander
/npc follow <player>
/npc path öffnet einen Pfad-Editor. Du setzt Wegpunkte per Linksklick auf Blöcke und speicherst. Der NPC läuft danach im Loop. Für einen Händler unnötig, für eine patrouillierende Wache oder Dorf-Animation perfekt.
/npc wander lässt ihn zufällig in einem Radius umherlaufen:
/npc wander --range 10 --delay 100
/npc follow heftet den NPC an einen Spieler. Praktisch für Story-Begleiter in RP-Szenarien.
Wenn der Standard-Pathfinder zu dumm ist, installiere Citizens-Pathfinder oder nutze Sentinel mit seiner schlaueren Navigation. Der eingebaute hängt manchmal an Treppen und Zäunen.
Trait-System
Ein Trait ist ein Verhaltensmodul, das auf einen NPC kommt. Citizens liefert mehrere Core-Traits, weitere kommen von Drittanbietern:
/npc trait gravity
/npc trait sneak
/npc trait sleep
/npc trait controllable
gravity schaltet die Schwerkraft für fliegende NPCs ab. controllable lässt den Spieler den NPC wie ein Pferd reiten und steuern, gut für Cutscenes. sleep legt den NPC ins Bett.
Alle verfügbaren Traits anzeigen:
/npc trait --list
Jeder Trait speichert seine Daten im NPC und wird in saves.yml persistiert. Trait entfernen:
/npc trait --remove gravity
Klick-Befehle
Das nützlichste Feature für Server ohne Quest-Plugin. Citizens hängt eine Liste von Befehlen an einen NPC, die beim Klick ausgeführt werden:
/npc command add say Hello %player%!
/npc command add --player heal %player%
/npc command add --op gamemode creative %player%
/npc command add --console give %player% diamond 1
/npc command list
/npc command remove <id>
--player führt den Befehl als Spieler aus (er braucht das echte Permission). --op gibt einmalige OP-Rechte für genau diesen Befehl. --console läuft als Konsole, was meistens das Richtige für Item- oder Geldausgabe ist.
Zusätzliche Optionen:
/npc command cooldown 30
/npc command cost 100
/npc command permissions essentials.heal
/npc command sequential
cost zieht Geld über Vault, cooldown setzt eine Pause pro Spieler, sequential führt die Befehle nacheinander pro Klick aus, nicht alle auf einmal.
Quests-Integration
Wenn du echte Quests mit Fortschritt, Zielen und Belohnungen willst, baue das nicht selbst über /npc command. Es gibt fertige Plugins über Citizens.
Quests von LMBishop (ein Fork des originalen BlackVein) ist der populärste Pick. GUI-Editor plus yml-Files, unterstützt Kill-Quests, Mining, Lieferungen, Dialoge, verzweigte Auswahl. Anbindung an NPCs ist einfach:
/quests editor
Im Editor setzt du NPC-IDs für Giver und Receiver, der Spieler nimmt die Quest per Klick an.
BeautifulQuests ist eine moderne Alternative mit Fokus auf das GUI. Funktional ähnlich, die Wahl ist meist Geschmackssache.
Für wirklich komplexe nichtlineare Szenarien schau dir Denizen an.
Denizen: Scripting für ernsthafte Szenarien
Denizen ist eine vollwertige Bukkit-Scriptsprache, die über die DenizenCitizens Bridge mit Citizens redet. Die Syntax sieht aus wie YAML, aber mit Variablen, Bedingungen und Tags.
Ein einfaches Dialog-Script:
greet_quest:
type: assignment
actions:
on assignment:
- trigger name:chat state:true
- trigger name:click state:true
interact scripts:
- 10 GreetInteract
GreetInteract:
type: interact
steps:
1:
click trigger:
script:
- chat "Hallo <player.name>! Bring mir 5 Eisen."
- flag <player> waiting_iron
chat trigger:
1:
trigger: /Danke/
script:
- chat "Gerne."
Das Plugin gibt dir Kontrolle über praktisch alles: NPCs, Mobs, World-Events, Wirtschaft, Inventare. Die Lernkurve ist steil, aber wenn du es einmal hast, baust du Szenarien, die mit normalen Quest-Plugins unmöglich sind: verzweigte Dialoge mit Gedächtnis, komplexe Cutscenes, Händler deren Verhalten von der Tageszeit abhängt.
Große RP-Server schreiben oft ihren ganzen Content in Denizen, genau wegen dieser Flexibilität.
Sentinel: Kampf-NPCs
Citizens ist von Haus aus Pazifist. Für Wachen, Raid-Bosse oder PvE-Arena-Mobs installierst du Sentinel. Es ist ein Addon vom selben Autor und arbeitet als Trait.
Eine Wache bauen:
/npc create Guard
/npc trait sentinel
/sentinel addtarget MONSTER
/sentinel addtarget PLAYER
/sentinel ignore OWNER
/sentinel range 16
/sentinel damage 8
/sentinel armor 0.3
Sentinel kann mit Schwert kämpfen, Bogen schießen, Feuerbälle und Schneebälle werfen. Es unterstützt Gruppen, damit Wachen sich nicht gegenseitig hauen, und ein Owner-System: ein NPC greift seinen Ersteller nicht an.
Kampfparameter sind tunbar: Reichweite, Schaden, Geschwindigkeit, Crit-Chance, Regen. Auf großen Servern macht Sentinel sowohl Stadtwachen als auch Dungeon-Bosse.
Hologramme über NPCs
Der Name über dem Kopf ist ein einzeiliges Hologramm. Für mehrere Zeilen oder Icons installiere DecentHolograms oder HolographicDisplays und verknüpfe es mit dem NPC.
DecentHolograms hängt direkt an:
/dh create questgiver
/dh line add questgiver &aQuest Giver
/dh line add questgiver &7Click to start
/dh attach questgiver <npc-id>
Das Hologramm folgt dem NPC bei Bewegung und verschwindet beim Despawn. Viel flexibler als der eingebaute Name und unterstützt PlaceholderAPI, sodass du Live-Variablen anzeigen kannst.
Performance
Ein einzelner NPC kostet wenig: Render-Pakete, gelegentliche Positionsupdates und Spielertracker. In der Praxis laufen 100 statische NPCs am Spawn auch auf einem schwachen VPS problemlos. Ab 500 wird es interessant.
Was den Server belastet:
- Pathfinding. NPCs mit Patrouille oder Wander berechnen jeden Tick einen Pfad. Viele davon in einem Chunk merkt man.
- Sentinel-Zielscans. Jede Wache scannt einen Radius nach Zielen. 100 Wachen mit Radius 16 ergeben tausend Entity-Checks pro Sekunde.
- Hologramme mit PAPI. Wenn über jedem NPC ein Hologramm mit
%vault_eco_balance%einmal pro Sekunde aktualisiert wird, schlägst du hundertmal pro Sekunde in der Wirtschaft auf.
Tuning:
npc:
default-look-close:
enabled: false
default-look-distance: 6
pathfinder:
new-finder: true
In config.yml look-close für statische NPCs deaktivieren, wenn es viele sind. Bei Händlern und Questgebern okay, bei reinen Deko-NPCs Pflicht.
Speicherung und Backup
Jeder NPC liegt in plugins/Citizens/saves.yml. Citizens speichert per Timer (save-task in config.yml, default alle 5 Minuten) und bei Graceful-Shutdown. Ein Crash verliert alles seit dem letzten Autosave.
Einfaches Cron-Backup:
0 */2 * * * cp /opt/server/plugins/Citizens/saves.yml /opt/backup/citizens-$(date +\%Y\%m\%d-\%H).yml
Alle zwei Stunden eine separate timestamped Kopie. Recovery: Datei zurückkopieren, Server neu starten. Keine DB-Tabellen, alles in einer Datei, was Migrationen einfach macht.
Bei einem Umzug auf neuen Host nimmst du saves.yml, traits/ und config.yml. NPCs kommen mit denselben IDs, Skins und Verhalten wieder hoch.
FAQ
Funktioniert Citizens auf Folia?
Stand Frühjahr 2026 teilweise. Folia ersetzt den traditionellen Main-Thread durch Regionen, was die meisten Plugins bricht, die auf Single-Thread-Sync setzen. Citizens 2.0.36+ hat experimentellen Folia-Support, viele Traits und Addons (auch Sentinel) sind aber noch nicht so weit. Wenn du speziell ein NPC-Plugin für Folia brauchst, schau dir FancyNpcs oder Adyeshach an, beide sind von Anfang an für Region-Threading geschrieben.
Wie baue ich einen Händler-NPC mit Wirtschaft?
Der einfachste Weg: ShopKeepers mit Citizens-Integration. Beide installieren, mit /shopkeeper neben dem NPC einen Shop anhängen. ShopKeepers unterstützt Vault und arbeitet mit jedem Wirtschafts-Plugin. Für mehr (dynamische Preise, Steuern, Gilden-Rabatte) DynamicShop oder TradersListGUI plus Citizens-Trait.
Kann ich einen NPC eine Route ablaufen lassen?
Ja, mit /npc path. Wegpunkte per Linksklick setzen, das Plugin merkt sich den Pfad, der NPC läuft ihn als Loop. Es gibt randomisierte Wartezeit pro Punkt und einen One-Shot-Modus. Für komplexe Routen mit Türen und Portalen ist ein Denizen-Script mit walk- und waitfor-Befehlen zuverlässiger.
Citizens vs. Sentinel: was ist der Unterschied?
Citizens ist die Basis, die NPC-Engine. Erstellt den Charakter, setzt den Skin, hängt Klick-Scripts und Pfad an. Sentinel ist ein Addon über Citizens, das genau eine Sache hinzufügt: Kampf. Sentinel läuft nicht ohne Citizens, es ist eine Trait-Erweiterung. Für Questgeber und Händler reicht Citizens allein. Wachen, Mobs, Raid-Bosse? Beide installieren.
Skins laden nicht, was tun?
Meist ein Cache- oder Mojang-API-Problem. Server-Internet prüfen, /npc skin <name> --update versuchen. Wenn Lookup per Name fehlschlägt, direkten Textur-URL über MineSkin nehmen. Manchmal hilft plugins/Citizens/skins.yml zu löschen und das Plugin den Cache neu aufbauen zu lassen.
Der NPC bewegt sich ruckelig oder fällt durch den Boden
Symptom für veralteten Build oder Anti-Cheat-Konflikt. Citizens auf neuesten Stand updaten. Wenn NoCheatPlus oder Matrix laufen, Citizens-NPCs per UUID oder Tag in die Exemption-Liste. Durchfallen kommt meist daher, dass der NPC in einem ungeladenen Chunk spawnt, in paper-world.yml für die Welt keep-spawn-loaded: true setzen.
Was als nächstes
Citizens allein ist mächtig, glänzt aber erst durch Integrationen. Minimaler Stack für einen lebendigen Server: Citizens + DecentHolograms + Quests + ShopKeepers. Damit hast du Questgeber, Händler und Deko-NPCs.
Wenn komplexe RP-Szenarien mit Verzweigungen geplant sind, lohnt sich Denizen langfristig. Bei PvE-lastigen Servern Sentinel und ein anständiges Mob-Plugin wie MythicMobs nicht vergessen.
Und sichere saves.yml. NPCs sind Stunden Builder- und Autorenarbeit, die durch einen einzigen Crash zu verlieren tut weh.
Schützen Sie Ihren Server vor DDoS-Angriffen
Kostenloser Schutz mit 5-Minuten-Einrichtung. 1 TB Traffic inklusive.
Kostenlos testenWeitere Artikel
Eigene Minecraft-Rezepte mit Datapacks: Schritt-für-Schritt-Tutorial (2026)
Eigene Crafting-Rezepte auf Minecraft 1.21 ohne Plugins: Datapack-Struktur, pack_format, JSON für shaped, shapeless, Smelting, Smithing, Stonecutter, Item-Tags und Vanilla-Overrides.
UHC Server einrichten: Ultra Hardcore ohne Regen, kompletter Guide
Wie du einen Ultra Hardcore Server aufsetzt: naturalRegeneration Gamerule, Plugins, Scenarios, Border, Anticheat und World Pre-generation.
Warum Ihr Minecraft-Server abstürzt: Vollständiger Fehlerbehebungs-Leitfaden
Ein praktischer Leitfaden zur Diagnose und Behebung von Minecraft-Server-Abstürzen. Lernen Sie, Crash-Reports zu lesen, Speicherfehler zu beheben, beschädigte Chunks zu reparieren und Plugin-Konflikte zu lösen.