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.
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