Aikar's flags change at 12 GB — five of them, and one goes down
Copying a 4 GB flag set onto a 16 GB server leaves five values wrong. Here is exactly which five, plus the player count where a modded server crosses the line and a vanilla one does not.
Aikar's flags are the community-standard JVM arguments for a Paper server, and they are usually copied as one block. They are not one block: of the twenty arguments, five change depending on whether your heap is under or over 12 GB. Pasting a small-heap set onto a large-heap server is the single most common way to run "the recommended flags" and not get them.
The five that change
| flag | under 12 GB | 12 GB and over |
|---|---|---|
-XX:G1NewSizePercent | 30 | 40 |
-XX:G1MaxNewSizePercent | 40 | 50 |
-XX:G1HeapRegionSize | 8M | 16M |
-XX:G1ReservePercent | 20 | 15 |
-XX:InitiatingHeapOccupancyPercent | 15 | 20 |
G1ReservePercent is the one that goes down. Four of the five increase with heap size and that one decreases, which is why a half-remembered "bump the numbers for a big server" produces a wrong set rather than a merely suboptimal one. It reserves a fraction of the heap against evacuation failure, and a larger heap needs a smaller fraction to hold the same absolute headroom.
The remaining thirteen -XX: arguments are identical at every heap size — -XX:+UseG1GC, -XX:MaxGCPauseMillis=200, -XX:+AlwaysPreTouch, -XX:SurvivorRatio=32, -XX:MaxTenuringThreshold=1 and the rest do not move. Only -Xms and -Xmx track the heap size itself.
Where the 12 GB line actually falls
The generator on this page sizes the heap from your player count:
GB = clamp( ceil( (modded ? 2.5 : 1) × (2 + players / 12) ), 2, 32 )
Modded servers are budgeted at 2.5× vanilla, and that factor decides who ever sees the large-heap branch at all:
| players | vanilla | modded |
|---|---|---|
| 10 | 3 GB | 8 GB |
| 20 | 4 GB | 10 GB |
| 29 | 5 GB | 12 GB ← modded crosses here |
| 50 | 7 GB | 16 GB |
| 100 | 11 GB | 26 GB |
| 109 | 12 GB ← vanilla crosses here | 28 GB |
A modded server reaches the large-heap flags at 29 players. A vanilla one does not until 109. So for most people running vanilla Paper, the small-heap set is the correct one permanently — and for most people running modded, it stops being correct much sooner than they expect.
Two limits in that formula worth knowing
It never recommends more than 32 GB. Vanilla hits the cap at 349 players and stays there. This is not a rounding artefact — past roughly 32 GB the JVM loses compressed object pointers and every reference in the heap gets bigger, so more RAM can mean less usable heap. Scaling past that point is a job for a second server, not a bigger one.
It never recommends less than 2 GB, even for a single player, because the floor is the server software rather than the population.
And whatever the formula says: do not give the JVM everything the box has. -Xms and -Xmx are set to the same value here on purpose — a fixed heap avoids the JVM resizing under load — which means the number you pick is claimed immediately and permanently. Leave the operating system 1–2 GB it does not have to fight you for.