Flags de Aikar: arranque optimizado para Minecraft
Las flags de Aikar son un conjunto de parámetros de Java pensados para servidores Minecraft. Reducen las pausas del recolector de basura (GC), la causa más habitual de micro-lag. Son el estándar en servidores Paper.
Cambia siempre -Xms y -Xmx según la RAM de tu plan, y ponlos iguales. Deja margen: en un plan de 8 GB usa -Xms6G -Xmx6G, no 8G, porque el sistema también necesita memoria.
Las flags (menos de 12 GB de RAM)
-Xms4G -Xmx4G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true
Las flags (12 GB o más)
Con heaps grandes Aikar cambia cinco valores: G1NewSizePercent=40, G1MaxNewSizePercent=50, G1HeapRegionSize=16M, G1ReservePercent=15 e InitiatingHeapOccupancyPercent=20.
-Xms10G -Xmx10G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=40 -XX:G1MaxNewSizePercent=50 -XX:G1HeapRegionSize=16M -XX:G1ReservePercent=15 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=20 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true
Cómo ponerlas en SkyPanel
En el panel de MixelNodes no tienes que pegar las flags a mano: vienen preparadas.
- En tu servidor, abre Inicio.
- En Flags adicionales elige Aikar's Flags.
- Revisa Porcentaje máximo de RAM (90 por defecto): es la parte de la RAM de tu plan que se da a Minecraft. En modpacks pesados conviene bajarlo un poco.
- Guarda y reinicia el servidor. El Comando de inicio de la parte de arriba muestra cómo queda.

Las flags de abajo son para quien monta su propio servidor en un VPS o en su ordenador, o quiere entender qué hace cada una. Con el generador de start.sh las tienes listas con la RAM que elijas.
Qué hace lo más importante
| Flag | Qué hace |
|---|---|
-Xms / -Xmx | Memoria mínima y máxima. Iguales para que Java no tenga que redimensionarla. |
-XX:+UseG1GC | Usa el recolector G1, pensado para baja latencia con heaps grandes. |
-XX:MaxGCPauseMillis=200 | Objetivo de pausa máxima del GC (200 ms). |
-XX:+DisableExplicitGC | Ignora las llamadas System.gc() que algunos plugins hacen sin necesidad. |
-XX:+AlwaysPreTouch | Reserva toda la memoria al arrancar, evitando picos por asignación tardía. |
-XX:+PerfDisableSharedMem | Evita escrituras de estadísticas a disco. |
Comprobar que funcionan
Instala spark y ejecuta /spark gcmonitor: muestra la frecuencia y la duración de las pausas del GC. Si son cortas y poco frecuentes, las flags hacen su trabajo.
Preguntas frecuentes
¿Puedo usarlas con Fabric o Forge?
Sí, son parámetros de Java y valen para cualquier servidor, aunque están pensadas para Paper. En modpacks grandes ajusta bien la RAM.
¿Por qué `-Xms` y `-Xmx` iguales?
Para que Java no pierda tiempo cambiando el tamaño de la memoria mientras el servidor funciona.
¿Y si pongo más RAM de la que tengo?
El proceso puede cerrarse por falta de memoria. Deja siempre un 10-15 % libre respecto a tu plan.
¿Y ZGC?
Es un recolector alternativo, no un añadido: se usa en lugar de las flags de G1, nunca mezclado con ellas. Para la mayoría de servidores, G1 con las flags de Aikar es lo recomendable.