server.properties ist die wichtigste Einstellungsdatei eines Java-Edition-Servers. Sie liegt im Serverordner, wird beim ersten Start erstellt und steuert Port, Welt, Schwierigkeit, Sicherheit und Leistung. Diese Anleitung erklärt die Einträge, auf die es ankommt, mit sinnvollen Werten und was schiefgeht, wenn du sie änderst.
So funktioniert die Datei
- Jede Zeile ist
key=value, ohne Leerzeichen um das Gleichheitszeichen. - Stoppe den Server vor dem Bearbeiten. Die meisten Änderungen greifen erst nach einem Neustart, und der Server kann die Datei beim Herunterfahren überschreiben.
- Zeilen, die mit
#beginnen, sind Kommentare. - Wenn du die Datei löschst, erstellt der Server beim nächsten Start eine neue mit Standardwerten.
- Paper, Spigot und Purpur lesen diese Datei ebenfalls und fügen eigene Einstellungen in anderen Dateien hinzu, etwa in
spigot.ymlund im Paper-Konfigurationsordner.
Die Werte unten gelten für Java 1.20 und 1.21. Seit 1.21.9 sind pvp, allow-nether, spawn-monsters und enable-command-block keine Server-Properties mehr: Sie wurden zu Spielregeln, die du im Spiel mit /gamerule änderst. In älteren Versionen stehen sie noch in dieser Datei.
Verbindungseinstellungen
| Eintrag | Standard | Was er tut |
|---|---|---|
server-port | 25565 | Der TCP-Port, mit dem sich Spieler verbinden. |
server-ip | (leer) | Bindet an eine bestimmte Netzwerkadresse. Leer lassen, außer dein Hoster sagt etwas anderes. |
max-players | 20 | Maximale Anzahl gleichzeitig online. |
motd | A Minecraft Server | Der Text unter deinem Servernamen in der Mehrspieler-Liste. |
enable-status | true | Ob der Server auf den Ping der Mehrspieler-Liste antwortet. |
hide-online-players | false | Versteckt die Liste der Spielernamen, wenn jemand mit der Maus über die Spielerzahl fährt. |
network-compression-threshold | 256 | Pakete, die größer als so viele Bytes sind, werden komprimiert. |
server-port: Wenn du ihn änderst, müssen Spieler den Port an die Adresse anhängen (play.example.com:25570), außer du richtest einen SRV-Eintrag ein. Außerdem musst du den neuen Port freigeben. Siehe Minecraft-Server-IP und Port.
max-players: Ein sehr hoher Wert macht den Server weder schneller noch beliebter. Stell eine Zahl ein, die deine Hardware wirklich schafft, damit der Server Spieler abweist, statt für alle zu laggen.
motd: unterstützt Farbcodes in der Form \u00A7 gefolgt von einem Code, zum Beispiel \u00A7a für Grün, und \n für die zweite Zeile. Das von Hand zu schreiben ist fummelig; unser MOTD-Generator baut die Zeile für dich.
enable-status: Wenn du es auf false setzt, erscheint der Server in der Mehrspieler-Liste und auf Serverlisten als offline, obwohl Spieler trotzdem beitreten können. Lass es bei einem öffentlichen Server an.
network-compression-threshold: Lass es für die meisten Server bei 256. -1 schaltet die Kompression ab, was nur sinnvoll ist, wenn Server und Spieler (oder ein Proxy) im selben schnellen lokalen Netzwerk sind. Sehr niedrige Werte kosten mehr CPU ohne echten Nutzen.
Welteinstellungen
level-name(Standardworld): der Name des Weltordners. Ändere ihn, um einen anderen Weltordner zu laden.level-seed: der Seed für eine neue Welt. Bei einer bereits bestehenden Welt bewirkt er nichts.level-type(Standardminecraft:normal): weitere Werte sindminecraft:flat,minecraft:large_biomes,minecraft:amplifiedundminecraft:single_biome_surface. Wie der Seed gilt er nur, wenn die Welt zum ersten Mal erstellt wird. Zerklüftete (amplified) Welten belasten die CPU deutlich stärker.generator-settings: JSON für eigene Flachland-Welten. Leer lassen, außer du weißt, dass du es brauchst.generate-structures(Standard true): Dörfer, Tempel und andere Bauwerke.max-world-size: der Radius der Weltbarriere in Blöcken. Auf öffentlichen Servern hält eine kleinere Barriere mit vorgenerierter Welt Speicherverbrauch und Lag im Griff.allow-nether(1.21.8 und älter): schaltet den Nether ab, wenn false. Auf Bukkit-basierten Servern wird das Ende überallow-endinbukkit.ymlgesteuert.
Um eine neue Welt mit neuem Seed oder Typ zu starten, stoppe den Server, ändere den Wert und benenne die alten Weltordner um oder entferne sie. Mach vorher ein Backup.
Gameplay-Einstellungen
| Eintrag | Standard | Hinweise |
|---|---|---|
gamemode | survival | Spielmodus für neue Spieler: survival, creative, adventure oder spectator. |
force-gamemode | false | Wenn true, werden Spieler bei jedem Beitreten in den Standard-Spielmodus gesetzt. |
difficulty | easy | peaceful, easy, normal oder hard. |
hardcore | false | Spieler kommen nach dem Tod in den Zuschauermodus. Die Schwierigkeit ist auf hard festgelegt. |
pvp | true | Spieler können sich gegenseitig Schaden zufügen. Seit 1.21.9 eine Spielregel. |
allow-flight | false | Wenn false, werden Spieler gekickt, die im Überlebensmodus fliegen. |
spawn-protection | 16 | Radius um den Weltspawn, in dem Nicht-Operatoren nicht bauen können. |
player-idle-timeout | 0 | Kickt Spieler, die so viele Minuten inaktiv sind. 0 schaltet es ab. |
difficulty: Die meisten Survival-Server nutzen normal oder hard. Peaceful entfernt feindliche Mobs und Hungerschaden, was Mobfarmen und viele Survival-Ziele kaputt macht.
allow-flight: Setz es auf true, wenn du Flug-Plugins, viel Elytra-Gameplay bei Lag oder bestimmte Reittiere nutzt. Sonst können Spieler wegen „Fliegens“ gekickt werden, obwohl der Server nur laggt. Anti-Cheat-Plugins erkennen echte Fly-Hacks besser als diese Einstellung.
spawn-protection: Der geschützte Bereich ist ein Quadrat um den Weltspawn, und Operatoren ignorieren ihn. Er wirkt nur, wenn mindestens ein Spieler Operator ist. Viele Server setzen ihn auf 0 und schützen den Spawn stattdessen mit WorldGuard, was genauer steuert, was Spieler dort tun dürfen.
Leistungseinstellungen
| Eintrag | Standard | Typischer Wert |
|---|---|---|
view-distance | 10 | 6 bis 10 |
simulation-distance | 10 | 4 bis 8 |
entity-broadcast-range-percentage | 100 | 50 bis 100 |
sync-chunk-writes | true | true |
max-tick-time | 60000 | 60000 |
view-distance vs. simulation-distance: Die Sichtweite gibt an, wie viele Chunks um jeden Spieler an seinen Client geschickt werden, damit er sie sieht. Die Simulationsweite gibt an, wie viele Chunks um jeden Spieler tatsächlich laufen: Mobs bewegen sich, Pflanzen wachsen, Redstone und Öfen arbeiten. Die Simulation ist der teure Teil, daher ist eine moderate Sichtweite mit niedrigerer Simulationsweite eine gängige Einstellung. Spieler sehen trotzdem weit, aber der Server arbeitet nur in ihrer Nähe. Eine sehr niedrige Simulationsweite macht Farmen kaputt, bei denen der Spieler in der Nähe sein muss, also geh auf einem Survival-Server nicht unter 4.
entity-broadcast-range-percentage: wie weit Spieler Entities sehen können, als Prozentsatz der Standardreichweite (10 bis 1000). Ein niedrigerer Wert senkt den Netzwerkverkehr auf vollen Servern, aber Spieler sehen Mobs und andere Spieler später auftauchen, was im PvP eine Rolle spielt.
sync-chunk-writes: Wenn true, werden Chunks synchron gespeichert, was bei einem Absturz sicherer ist. Auf false kann das Speichern schneller werden, aber du riskierst, bei einem Absturz die letzten Änderungen zu verlieren. Lass es an, außer du weißt, warum du es änderst.
max-tick-time: Wenn ein Tick länger als so viele Millisekunden dauert, stoppt der Watchdog den Server, weil er wahrscheinlich eingefroren ist. -1 deaktiviert den Watchdog. Deaktiviere ihn nicht, um Abstürze zu verstecken; finde die Ursache stattdessen mit einem Profiler. So reduzierst du Lag auf einem Minecraft-Server erklärt, wie.
Ab 1.21.2 pausiert pause-when-empty-seconds den Server, nachdem er so viele Sekunden leer war. Das spart auf einem privaten Server Ressourcen, aber auf einem öffentlichen Server erwarten manche Plugins und Timer, dass die Welt weiterläuft.
Sicherheitseinstellungen
online-mode
online-mode=true (der Standard) lässt den Server das Konto jedes Spielers bei Mojang prüfen. Lass es an.
Mit online-mode=false (Offline-Modus) vertraut der Server jedem Namen, den der Client schickt. Jeder kann als beliebiger Spieler beitreten, auch als du oder dein Team, und bekommt dessen Inventar, Claims und Rechte. Plugins, die UUIDs nutzen, sehen außerdem andere UUIDs als im Online-Modus, sodass ein späterer Wechsel die Spielerdaten durcheinanderbringt.
Die eine normale Ausnahme ist ein Server hinter einem Proxy wie Velocity: Dort läuft der Proxy im Online-Modus und die Backend-Server im Offline-Modus mit Weiterleitung der Spielerdaten, und die Backends dürfen nur Verbindungen vom Proxy annehmen. Siehe So richtest du ein Velocity-Netzwerk ein.
enforce-secure-profile
Standard true. Spieler brauchen einen von Mojang signierten Profilschlüssel, um beizutreten; er wird für signierten Chat verwendet. Wenn manche Spieler mit einer Meldung über einen fehlenden öffentlichen Schlüssel nicht beitreten können, oder bei bestimmten Chat- oder Proxy-Setups, setzen Betreiber es manchmal auf false. Lass es auf true, außer du hast einen konkreten Grund.
Whitelist
white-list(Standard false): Nur Spieler auf der Whitelist können beitreten.enforce-whitelist(Standard false): Wenn true, werden Spieler, die online, aber nicht auf der Liste sind, gekickt, sobald die Whitelist neu geladen wird.
Du kannst sie auch im Spiel mit /whitelist on einschalten. Alle Schritte stehen in So nutzt du eine Whitelist auf einem Minecraft-Server.
Query und RCON
enable-query (Standard false) schaltet das GameSpy4-Query-Protokoll auf query.port ein (UDP, standardmäßig 25565). Manche Tools und Listen lesen darüber Plugins und Spielernamen aus. Es ist optional; Status-Pings funktionieren auch ohne.
enable-rcon (Standard false) erlaubt Fernzugriff auf die Konsole über rcon.port (TCP, standardmäßig 25575) mit rcon.password. RCON sendet Befehle mit voller Konsolenmacht, und das Passwort ist nicht verschlüsselt. Wenn du es nutzt:
- Verwende ein langes, zufälliges Passwort.
- Gib den RCON-Port niemals frei und mach ihn nie aus dem Internet erreichbar. Erlaube ihn nur vom selben Rechner oder aus einem privaten Netzwerk.
- Wenn du es nicht brauchst, lass es aus.
Weitere Sicherheitseinträge
op-permission-level(Standard 4): was Operatoren dürfen. 4 erlaubt alles, auch das Stoppen des Servers.prevent-proxy-connections(Standard false): kickt Spieler, deren Verbindung über ein VPN oder einen Proxy zu laufen scheint, indem Adressen mit Mojang abgeglichen werden. Das kann legitime Spieler aussperren.rate-limit(Standard 0): kickt Clients, die zu viele Pakete pro Sekunde senden. 0 schaltet es ab.log-ips(Standard true, ab 1.20.2): ob IP-Adressen von Spielern ins Log geschrieben werden.accepts-transfers(Standard false, ab 1.20.5): ob der Server Spieler annimmt, die von einem anderen Server mit dem Transfer-Paket geschickt werden.
Ressourcenpaket-Einstellungen
resource-pack: eine direkte Download-URL zu einer Zip-Datei. Links zu Download-Seiten funktionieren nicht; die URL muss die Datei selbst liefern.resource-pack-sha1: der SHA-1-Hash der Zip-Datei. Damit können Clients das Paket zwischenspeichern und merken, wenn es sich geändert hat. Aktualisiere ihn jedes Mal, wenn du die Datei änderst.require-resource-pack: Wenn true, werden Spieler getrennt, die das Paket ablehnen.resource-pack-prompt: eine eigene Nachricht in der Download-Abfrage.
Verlange ein Paket nur, wenn dein Server es wirklich braucht, und halte es klein. Ein großes Pflichtpaket ist ein Grund mehr für einen neuen Spieler aufzugeben. Bedrock-Spieler, die über Geyser beitreten, brauchen ein konvertiertes Paket.
Ein sinnvoller Ausgangspunkt
Für einen kleinen öffentlichen Survival-Server auf Paper:
server-port=25565
online-mode=true
enforce-secure-profile=true
max-players=50
difficulty=normal
view-distance=8
simulation-distance=6
spawn-protection=0
white-list=false
enable-status=true
enable-query=false
enable-rcon=false
network-compression-threshold=256
max-tick-time=60000
sync-chunk-writes=true
Passe max-players, view-distance und simulation-distance an deine Hardware an und beobachte, wie sich der Server mit Spielern verhält. Starte nach Änderungen neu und prüfe mit dem Server-Status-Checker, ob der Server noch korrekt angezeigt wird.