Wie viel RAM braucht ein Minecraft-Server?
Die meisten Paper-Server kommen mit 3 bis 8 GB Heap gut aus: 3 oder 4 GB für eine Gruppe Freunde, 5 oder 6 GB für 20 oder 30 Spieler mit einer normalen Auswahl an Plugins und 8 GB oder mehr ab 50 Spielern. Der Tarif, den du mietest, muss etwas größer sein, weil Java auch Speicher außerhalb des Heaps nutzt.
| Spieler online | Plugins | Minimum | Empfohlen | Tarif oder Container |
|---|---|---|---|---|
| 5 | 10 | 2 GB | 3 GB | 4 GB |
| 10 | 15 | 3 GB | 4 GB | 5 GB |
| 20 | 25 | 3 GB | 5 GB | 6 GB |
| 30 | 40 | 4 GB | 6 GB | 7 GB |
| 50 | 50 | 5 GB | 8 GB | 10 GB |
| 100 | 80 | 8 GB | 13 GB | 15 GB |
Der Rechner oben macht dieselbe Rechnung mit deinen Zahlen. Nimm das Ergebnis als Ausgangspunkt: Der echte Verbrauch hängt davon ab, wie verteilt die Spieler sind, von der Sichtweite und davon, was jedes Plugin tut.
So wird die Schätzung berechnet
Der Rechner addiert den Heap, also den Speicher, den Java Minecraft gibt (den du mit -Xmx festlegst):
- 2 GB Basis für Paper oder Purpur mit geladenen Welten und niemandem online. Folia startet bei 3 GB, weil es für viele Spieler gemacht ist, die über die Karte verteilt sind.
- 75 MB pro Spieler, der gleichzeitig online ist. Jeder Spieler hält die Chunks um sich herum geladen, mit den Mobs und Items darin. Über die Welt verteilte Spieler kosten mehr als Spieler, die zusammen in einer Lobby stehen.
- 40 MB pro Plugin, im Schnitt. Die meisten Plugins brauchen viel weniger, ein paar viel mehr.
- 2 GB mehr für schwere Plugins oder eine große Welt: Webkarten (Dynmap, BlueMap), eigene Modelle (ItemsAdder, ModelEngine), viele Mobs oder Farmen oder eine Sichtweite über 10.
- Drei Viertel der Summe auf 1.8 bis 1.11, deren Chunks leichter sind.
Das Ergebnis wird auf ganze GB aufgerundet und geht nie unter 3 GB (2 GB auf 1.8 bis 1.11). Das Minimum sind etwa zwei Drittel davon: Der Server läuft, aber mit wenig Luft für volle Momente, neu generierte Chunks oder Backups. Der Rechner hört bei 31 GB auf, weil Java über etwa 32 GB die komprimierten Object-Pointer abschaltet, und ein wenig darüber bringt weniger nutzbaren Speicher, nicht mehr.
Diese Zahlen sind absichtlich eher hoch angesetzt. Wenn der Speicher knapp wird, ruckelt der Server und stürzt dann ab, während ein bisschen zu viel nur etwas mehr im Monat kostet.
Lass Platz für Java: Heap und Tarif
-Xmx begrenzt nur den Heap. Java nutzt auch Speicher für die Klassen jedes Plugins, seine Threads, den Code, den es kompiliert, Netzwerkpuffer und die eigene Buchführung des Garbage Collectors. Der Rechner hält dafür 1 GB oder 15 % des Heaps frei, je nachdem, was mehr ist, passend zu Papers Rat, -Xmx 1000 bis 1500 MB weniger zu geben als den Speicher, den du hast. In der Praxis:
- Du mietest einen Tarif: Richte dich nach der Tarifgröße, die der Rechner zeigt, nicht nach dem Heap. Ein Heap von 8 GB braucht einen Tarif mit 10 GB.
- Du hast schon einen Tarif: Gib ihn unter RAM deines Tarifs ein, dann werden die Flags so bemessen, dass sie hineinpassen. Ein Tarif mit 8 GB lässt einen Heap von 6,5 GB.
- Pterodactyl, Docker und die meisten Hoster begrenzen den ganzen Container. Wenn Java darüber geht, wird der Server sofort beendet, oft ohne Fehler in der Konsole.
- Dein eigener PC oder VPS: Lass Speicher für das Betriebssystem und alles andere, was dort läuft.
Warum -Xms gleich -Xmx ist
Aikar’s Flags geben -Xms und -Xmx denselben Wert und ergänzen -XX:+AlwaysPreTouch, das den ganzen Heap beim Serverstart reserviert. G1 arbeitet besser mit einem Heap, der nie wächst oder schrumpft, und wenn der Speicher nicht wirklich da ist, merkst du es beim Start. Ein Nebeneffekt: Der Speichergraph in deinem Panel zeigt ab der ersten Minute den ganzen Heap als belegt. Das ist normal.
Aikar’s Flags und ZGC
Aikar’s Flags stimmen den G1-Garbage-Collector darauf ab, wie Minecraft Speicher nutzt: riesige Mengen an Objekten, die einen Tick lang leben, und Pausen, die kurz bleiben müssen. Paper empfiehlt sie, und sie passen zu Servern jeder Größe. Ab 12 GB Heap wechselt der Rechner zu Aikar’s Werten für große Heaps: G1NewSizePercent=40, G1MaxNewSizePercent=50, G1HeapRegionSize=16M, G1ReservePercent=15 und InitiatingHeapOccupancyPercent=20.
ZGC ist ein anderer Collector, der fast seine ganze Arbeit erledigt, während der Server weiterläuft, sodass Pausen unter einer Millisekunde bleiben. Dafür braucht er mehr CPU, und er ergibt nur bei großen Heaps (16 GB oder mehr) mit freien Kernen Sinn. Nimm die Generational-Version: Unter Java 21 braucht sie -XX:+ZGenerational, und ab Java 23 ist sie der Standard, deshalb lässt der Rechner diese Flag weg. Wenn du unsicher bist, bleib bei G1.
Welche Java-Version
| Minecraft | Java |
|---|---|
| 26.1 und neuer | 25 |
| 1.20 – 1.21.11 | 21 |
| 1.17 – 1.19.4 | 17 |
| 1.16.5 | 16 |
| 1.12 – 1.16.4 | 11 |
| 1.8 – 1.11 | 8 |
Das ist die Tabelle aus Papers Dokumentation. Mit java -version prüfst du, welche du hast. Wenn mehrere installiert sind, startet das Skript die, die der Befehl java ausführt.
Den Server starten
- Trag Spieler, Plugins, Software und Version ein, dazu den RAM deines Tarifs, wenn du schon einen hast.
- Wähle ein Startskript:
- start.sh für Linux und macOS. Speichere es neben der Jar, führe einmal
chmod +x start.shaus, dann./start.sh. - start.bat für Windows. Speichere es neben der Jar und doppelklicke es. Das
pauseam Ende hält das Fenster offen, wenn der Server stoppt, damit du den Fehler lesen kannst. - Pterodactyl liefert den Startbefehl, mit
{{SERVER_JARFILE}}, damit das Panel die Jar einsetzt. Stell danach den Speicher des Servers im Panel auf mindestens die Tarifgröße. - Nur Flags ist für Hoster mit einem Feld für JVM-Argumente. Wenn dein Hoster den Speicher selbst setzt, entferne
-Xmsund-Xmx.
- start.sh für Linux und macOS. Speichere es neben der Jar, führe einmal
- Drück auf Kopieren. Link teilen speichert deine Einstellungen im Link.
Wann mehr RAM nicht hilft
Lag kommt meist von der CPU: Ein normaler Server erledigt den Großteil seiner Arbeit auf einem Main-Thread, ein schnellerer Kern hilft also mehr als zusätzlicher Speicher. Führe vor einem Upgrade /spark health aus, um Speicher und TPS zu sehen, und /spark profiler, um zu sehen, was die Zeit frisst. spark ist seit 1.21 in Paper enthalten. view-distance und simulation-distance zu senken, spart Speicher und CPU zugleich, und die Welt mit einem Plugin wie Chunky vorzugenerieren, vermeidet die Spitzen beim Generieren neuer Chunks, während gespielt wird.