Las "flags" son parámetros con los que arranca Java y que definen cómo gestiona la memoria. Las más conocidas son las de Aikar, pensadas para que el recolector de basura de Java no provoque tirones periódicos en el servidor.
Ya las tienes puestas
Esto es lo primero que debes saber, porque casi todas las guías de internet asumen lo contrario: en RyftNode tu servidor ya arranca con las flags de Aikar. Vienen como valor por defecto, no hay que añadirlas.
Si venías buscando dónde pegarlas, la respuesta es que no hace falta. Puedes comprobarlo tú mismo: entra en Inicio y mira el comando de arranque que se muestra ahí.
Dónde se editan
El comando de inicio completo lo arma el panel y no se escribe a mano. Lo que sí puedes cambiar son las Variables de esa misma pantalla:
STARTUP_COMMAND— aquí viven las flags de Java.RAM_PERCENTAGE— qué porcentaje de la memoria de tu plan se asigna al montón de Java.SERVER_JARFILE— el nombre del archivo del servidor.
Comprueba primero si tu servidor usa esas variables
Esto es clave y casi nadie lo explica: no todos los servidores construyen su arranque de la misma forma. Algunos toman las flags de la variable STARTUP_COMMAND, y otros las llevan fijas dentro de su propia línea de arranque.
La única fuente de verdad es el comando que se muestra en Inicio. Para saber en cuál de los dos casos estás:
- Fíjate en el comando que aparece en Inicio y quédate con cómo empieza.
- Cambia algo pequeño en
STARTUP_COMMANDy guarda. - Vuelve a mirar el comando.
Si el comando cambió, tu servidor usa la variable y puedes ajustar las flags desde ahí. Si no cambió, tu servidor tiene la línea de arranque fija: editar esa variable no hará nada, por mucho que guardes. En ese caso abre un ticket y lo ajustamos nosotros.
Lo mismo aplica a RAM_PERCENTAGE: solo tiene efecto si el comando mostrado lo utiliza.
El error que rompe el arranque
En STARTUP_COMMAND van solo las flags. Nada más.
Mucha gente copia de una guía la línea entera y la pega ahí:
java -Xms4096M -Xmx4096M -XX:+UseG1GC ... -jar server.jar <-- MAL
El panel ya pone el java del principio, la memoria y el -jar del final. Si además los pegas en la variable, quedan duplicados y el servidor deja de arrancar con un error de clase principal no encontrada.
Lo correcto es que el valor empiece directamente por un guion:
-XX:+UseG1GC -XX:+ParallelRefProcEnabled ... <-- BIEN
Si sospechas que tocaste algo de más, usa Restablecer valor predeterminado: vuelve a las flags recomendadas sin que tengas que copiarlas de ningún lado.
La memoria no se pone en las flags
No añadas -Xms ni -Xmx a las flags. La memoria la fija el panel a partir de la de tu plan, y añadirla otra vez a mano puede dejar dos valores en conflicto.
Si tu servidor usa RAM_PERCENTAGE (compruébalo como se explica arriba), su valor por defecto es 80. Ese 20% restante no está desperdiciado: Java necesita memoria fuera del montón para hilos, metadatos y buffers. Si lo subes demasiado, el contenedor se queda sin margen y el servidor muere de golpe, sin dejar un error claro en la consola.
Si vas a tocarlo, hazlo de a poco y vigila la consola. Bajarlo es seguro; subirlo por encima de 90 rara vez termina bien.
Si estás en Java 25
Las flags de Aikar se diseñaron hace años para versiones antiguas de Java. Las máquinas virtuales modernas traen valores por defecto mucho mejores, y en Java 24 y superiores forzar una configuración antigua puede rendir peor que no tocar nada.
Puedes ver qué versión usas en Inicio, en el campo de imagen de Docker.
Si estás en Java 25 y notas tirones periódicos, prueba a dejar STARTUP_COMMAND con un valor mínimo y compara:
-XX:+UseG1GC
Mide antes y después con el comando tps en la consola, o con Spark si quieres un dato más fino. No cambies flags "por si acaso": si no mides, no sabes si mejoró.
Lo que las flags no arreglan
Las flags ajustan cómo Java limpia la memoria. No hacen nada contra un plugin mal optimizado, un view-distance demasiado alto o una granja de mobs descontrolada. Si tus TPS están por el suelo, empieza por ahí: lo tienes explicado en el artículo sobre reducir el lag.