Dieser Artikel ist ein Nachschlagewerk: Er erklärt neutral, welche Konfigurationsdateien Paper besitzt und was die einzelnen Abschnitte bewirken. Konkrete Empfehlungen („was soll ich einstellen?") findest du im Schwester-Artikel Paper-Server optimieren: TPS & Lag beheben. Wie Paper überhaupt auf den Server kommt, steht unter Spigot oder Paper installieren.
Die Konfigurationsdateien im Überblick
Seit Paper 1.19 ist die frühere einzelne paper.yml in mehrere Dateien im Ordner config/ aufgeteilt:
| Datei | Geltungsbereich |
|---|---|
config/paper-global.yml | Serverweit – gilt für den gesamten Server |
config/paper-world-defaults.yml | Standardwerte für alle Welten |
<welt>/paper-world.yml | Pro Welt – überschreibt die Defaults nur für diese eine Welt |
Wer gewinnt bei Konflikten?
Neben Papers Dateien gibt es weitere Konfigurationen. Bei überlappenden Einstellungen greift grob diese Reihenfolge – die spätere/spezifischere Ebene gewinnt:
server.properties → bukkit.yml → spigot.yml → paper-world-defaults.yml → paper-world.yml
(Vanilla-Basis) (Bukkit) (Spigot) (Paper-Standard) (pro Welt)
server.properties= Vanilla-Grundwerte (z. B.view-distance,difficulty)spigot.yml= Spigot-Einstellungen (z. B.entity-activation-range,merge-radius)- Paper = die feingranularste Ebene;
paper-world.ymlschlägt die Defaults
_version am Dateianfang steuert Papers automatische Migration – niemals von Hand ändern. Paper verwaltet es selbst und aktualisiert die Dateien bei Versionssprüngen.Grundregeln vor jeder Änderung
- Den Server stoppen – Config-Dateien nicht im laufenden Betrieb editieren
- YAML-Syntax: Einrückung ausschließlich mit Leerzeichen, niemals Tabs
- Vor Änderungen ein Backup der
config/-Dateien und der Welt anlegen - Nach dem Start das Logfile auf Warnungen prüfen
Das Vererbungsprinzip (wird oft falsch gemacht)
Paper legt von Haus aus keine Per-World-Overrides an – es gibt zunächst nur die Defaults. Willst du eine einzelne Welt abweichend konfigurieren, legst du dort eine paper-world.yml an und kopierst nur den zu ändernden Wert hinein – nicht die ganze Datei.
- Standard-Welten:
<weltordner>/paper-world.yml - Eigene Dimensionen (Datapacks):
world/dimensions/<namespace>/<key>/paper-world.yml
Beispiel – lootables.auto-replenish nur für eine Welt aktivieren:
# nur in world_the_end/paper-world.yml
lootables:
auto-replenish: true
Praxisbeispiel mit zwei Welten und unterschiedlichen Mob-Limits:
# world/paper-world.yml (Hauptwelt: weniger Monster)
entities:
spawning:
spawn-limits:
monster: 50
# world_nether/paper-world.yml (Nether: mehr Monster erlaubt)
entities:
spawning:
spawn-limits:
monster: 100
Alle nicht überschriebenen Werte kommen weiterhin aus paper-world-defaults.yml.
paper-global.yml – die Abschnitte
Serverweite Einstellungen. Diese Tabelle beschreibt neutral, wofür jeder Abschnitt zuständig ist:
| Abschnitt | Zuständig für |
|---|---|
block-updates | Bestimmte Block-Ticks abschalten: disable-noteblock-updates, disable-tripwire-updates, disable-chorus-plant-updates, disable-mushroom-block-updates |
chunk-loading-basic | Grundraten fürs Chunk-Laden pro Spieler: player-max-chunk-load-rate, -send-rate, -generate-rate |
chunk-loading-advanced | Feineres Chunk-Verhalten: auto-config-send-distance, player-max-concurrent-chunk-loads/-generates |
chunk-system | Threading des Chunk-Systems: io-threads, worker-threads, gen-parallelism |
collisions | enable-player-collisions – ob Spieler sich gegenseitig schieben |
packet-limiter | Schutz vor Paket-Fluten (Anti-Crash) |
player-auto-save | Intervall/Rate des Spielerdaten-Speicherns |
proxies | BungeeCord / Velocity-Anbindung; im Proxy-Betrieb steht der online-mode am Proxy, nicht am Backend |
spam-limiter | Chat-/Aktions-Spam begrenzen |
timings / console | Diagnose-Timings und Konsolenverhalten |
unsupported-settings | Experimentelle/riskante Schalter (mit Bedacht nutzen) |
misc | Diverses: max-joins-per-tick, compression-level, region-file-cache-size |
anticheat / obfuscation | Item-Komponenten vor anderen Spielern verstecken (Anti-Cheat-Schutz) |
Über unsupported-settings bzw. die Welt-Einstellungen lassen sich außerdem u. a. die Netherwelt deaktivieren und bestimmte Vanilla-Bugfixes (z. B. MC-159283, MC-163962) steuern.
paper-world-defaults.yml – die Abschnitte
Standardwerte für Welten (pro Welt via paper-world.yml überschreibbar):
| Abschnitt | Zuständig für |
|---|---|
anticheat.anti-xray | X-Ray-Schutz: engine-mode (1 = Blöcke ersetzen, 2/3 = echte Blöcke verstecken), hidden-blocks, replacement-blocks |
chunks | max-auto-save-chunks-per-tick, delay-chunk-unloads-by, entity-per-chunk-save-limit |
entities.spawning | spawn-limits, ticks-per-spawn, per-player-mob-spawns, despawn-ranges (soft/hard) |
entities.behavior | mobs-can-always-pick-up-loot, disable-chest-cat-detection, zombie-villager-infection-chance |
entities.armor-stands / markers | Verhalten von Rüstungsständern und Marker-Entities |
collisions | max-entity-collisions, fix-climbing-bypassing-cramming-rule |
hopper | cooldown-when-full, disable-move-event |
lootables | auto-replenish und Refresh-Intervalle für Beute-Truhen |
redstone-implementation | VANILLA, ALTERNATE_CURRENT oder EIGENCRAFT |
tick-rates | Tick-Intervalle: mob-spawner, sensor, behavior (u. a. Villager!), container-update |
environment | optimize-explosions, disable-thunder, disable-ice-and-snow, treasure-maps |
unsupported-settings | z. B. fix-invulnerable-end-crystal-exploit |
spawn | keep-spawn-loaded, keep-spawn-loaded-range |
scoreboards, maps, fishing-time-range | Scoreboard-, Karten- und Angel-Verhalten |
Änderungen prüfen & absichern
- Manche Werte lassen sich mit
/paper reloadneu einlesen – im Zweifel aber Server neu starten - Nach dem Start das Logfile auf YAML-Fehler und Warnungen kontrollieren
- Immer ein Backup vor Config-Änderungen – ein Tippfehler in der Einrückung kann den Weltstart verhindern
- Vollständige, versionsaktuelle Referenz: docs.papermc.io – Global und World
Weiter geht's
- Konkrete Empfehlungen & Lag beheben: Paper-Server optimieren: TPS & Lag beheben
- Einstieg ins Thema: Minecraft-Server-Performance optimieren
- Noch keinen Server? Minecraft Server erstellen
Häufige Fragen
Wo finde ich die Paper-Konfigurationsdateien?
Die serverweiten Dateien liegen im Ordner config/: paper-global.yml und paper-world-defaults.yml. Abweichungen für eine einzelne Welt gehören in eine paper-world.yml im jeweiligen Weltordner.
Was ist der Unterschied zwischen paper-global.yml und paper-world-defaults.yml?
paper-global.yml gilt serverweit und enthält Dinge wie Chunk-System und Netzwerk, während paper-world-defaults.yml die Standardwerte für alle Welten setzt. Weltspezifisches wie Mob-Limits gehört in die Defaults oder die Per-World-Datei.
Wie ändere ich eine Einstellung nur für eine Welt?
Lege im Weltordner eine paper-world.yml an und trage dort nur den Wert ein, der abweichen soll. Alles andere erbt die Welt weiterhin aus paper-world-defaults.yml – die ganze Datei zu kopieren ist der häufigste Fehler.
Welche Datei gewinnt bei widersprüchlichen Einstellungen?
Die spätere, spezifischere Ebene gewinnt: server.properties, dann bukkit.yml, spigot.yml, paper-world-defaults.yml und zuletzt paper-world.yml. Eine Per-World-Datei überschreibt also alle anderen Ebenen.
Darf ich das Feld _version am Dateianfang ändern?
Nein, _version steuert Papers automatische Migration der Konfigurationsdateien und wird ausschließlich von Paper selbst verwaltet. Ein von Hand geänderter Wert kann die Migration bei Updates beschädigen.
Warum werden meine YAML-Änderungen nicht übernommen?
Meist liegt es an Tabs statt Leerzeichen in der Einrückung, an einer Änderung bei laufendem Server oder an der falschen Datei (Defaults statt Per-World). Server stoppen, Einrückung prüfen, neu starten und das Logfile auf Warnungen kontrollieren.