Guides / Server & Performance

Aikars Flags ändern sich bei 12 GB – fünf davon, und einer sinkt

Wenn man einen 4-GB-Flag-Satz auf einen 16-GB-Server kopiert, sind fünf Werte falsch. Hier erfahren Sie genau, welche fünf das sind, plus die Spieleranzahl, bei der ein modifizierter Server die Grenze überschreitet und ein Vanilla-Server nicht.

Aikars Flags sind die von der Community standardisierten JVM-Argumente für einen Paper-Server und werden normalerweise als ein Block kopiert. Sie sind jedoch kein einziger Block: Von den zwanzig Argumenten ändern sich fünf, je nachdem, ob Ihr Heap unter oder über 12 GB liegt. Das Einfügen eines Small-Heap-Satzes auf einen Large-Heap-Server ist die häufigste Art, „die empfohlenen Flags“ auszuführen und sie nicht zu erhalten.

Die fünf, die sich ändern

Flagunter 12 GB12 GB und mehr
-XX:G1NewSizePercent3040
-XX:G1MaxNewSizePercent4050
-XX:G1HeapRegionSize8M16M
-XX:G1ReservePercent2015
-XX:InitiatingHeapOccupancyPercent1520

G1ReservePercent ist der Wert, der sinkt. Vier der fünf erhöhen sich mit der Heap-Größe, und dieser eine nimmt ab. Deshalb führt ein halb erinnertes „Zahlen für einen großen Server erhöhen“ zu einem falschen statt nur suboptimalen Satz. Er reserviert einen Bruchteil des Heaps gegen Evakuierungsfehler, und ein größerer Heap benötigt einen kleineren Bruchteil, um den gleichen absoluten Spielraum zu halten.

Die verbleibenden dreizehn -XX: Argumente sind bei jeder Heap-Größe identisch – -XX:+UseG1GC, -XX:MaxGCPauseMillis=200, -XX:+AlwaysPreTouch, -XX:SurvivorRatio=32, -XX:MaxTenuringThreshold=1 und der Rest bewegen sich nicht. Nur -Xms und -Xmx verfolgen die Heap-Größe selbst.

Wo die 12-GB-Grenze tatsächlich liegt

Der Generator auf dieser Seite dimensioniert den Heap anhand Ihrer Spieleranzahl:

GB = clamp( ceil( (modded ? 2.5 : 1) × (2 + players / 12) ), 2, 32 )

Modifizierte Server werden mit dem 2,5-fachen eines Vanilla-Servers budgetiert, und dieser Faktor entscheidet, wer überhaupt den Large-Heap-Zweig sieht:

SpielerVanillaModifiziert
103 GB8 GB
204 GB10 GB
295 GB12 GB ← modifiziert überschreitet hier
507 GB16 GB
10011 GB26 GB
10912 GB ← Vanilla überschreitet hier28 GB

Ein modifizierter Server erreicht die Large-Heap-Flags bei 29 Spielern. Ein Vanilla-Server erst bei 109. Für die meisten Leute, die Vanilla Paper betreiben, ist der Small-Heap-Satz dauerhaft der richtige – und für die meisten Leute, die modifiziert betreiben, hört er viel früher auf, korrekt zu sein, als sie erwarten.

Zwei wichtige Grenzen in dieser Formel

Es werden niemals mehr als 32 GB empfohlen. Vanilla erreicht die Obergrenze bei 349 Spielern und bleibt dort. Dies ist kein Rundungsartefakt – ab etwa 32 GB verliert die JVM komprimierte Objektzeiger, und jede Referenz im Heap wird größer, sodass mehr RAM weniger nutzbaren Heap bedeuten kann. Die Skalierung über diesen Punkt hinaus ist Aufgabe eines zweiten Servers, nicht eines größeren.

Es werden niemals weniger als 2 GB empfohlen, selbst für einen einzelnen Spieler, da die Untergrenze die Server-Software und nicht die Population ist.

Und was auch immer die Formel sagt: Geben Sie der JVM nicht alles, was der Server hat. -Xms und -Xmx sind hier absichtlich auf denselben Wert gesetzt – ein fester Heap verhindert, dass die JVM unter Last die Größe ändert – was bedeutet, dass die von Ihnen gewählte Zahl sofort und dauerhaft beansprucht wird. Lassen Sie dem Betriebssystem 1–2 GB, um die es nicht mit Ihnen kämpfen muss.

Server-Konfigurationsgeneratoren →

More guides

Browse all →

Suchst du weitere Minecraft-Werkzeuge?

Eine Sammlung von Generatoren, Betrachtern und Konvertern direkt im Browser — alle kostenlos.