Saltar al contenido principal

Optimización de ticks — Bedrock Edition

El rendimiento de un servidor Bedrock Dedicated Server (BDS) se mide también en TPS (Ticks Per Second). Un servidor sano mantiene 20 TPS estables. Esta guía explica cómo maximizar el rendimiento de BDS en MixelNodes.


La métrica más importante: tick-distance

En Bedrock, tick-distance en server.properties controla cuántos chunks alrededor de cada jugador se simulan activamente (donde se procesan entidades, redstone, crops, etc.).

# Rango: 2-12 chunks
tick-distance=4
tick-distanceRendimientoJugabilidad
2ExcelenteGranjas y redstone no funcionan fuera del chunk del jugador
4Muy buenoBuen equilibrio para la mayoría de servidores
6BuenoPermite granjas algo más alejadas
8ModeradoSolo si tienes CPU sobrante
12BajoSolo en servidores vacíos / pruebas
Recomendación

Para servidores con 10-30 jugadores, tick-distance=4 es el valor más equilibrado. Permite que las granjas del jugador funcionen mientras están cerca, sin cargar el servidor en exceso.


view-distance vs tick-distance

Es un error común confundir los dos:

  • view-distance: cuántos chunks se envían al cliente para renderizar. Solo afecta a lo que el jugador ve, no a lo que se simula.
  • tick-distance: cuántos chunks se simulan activamente en el servidor.
# El jugador ve hasta 20 chunks de distancia (visual)
view-distance=20

# Pero solo se simulan entidades/redstone en 4 chunks de distancia
tick-distance=4

Mantener view-distance alto y tick-distance bajo es una configuración válida y recomendada para servidores de supervivencia con buena experiencia visual pero rendimiento controlado.


Gestión de entidades

BDS no tiene tantas opciones de configuración de entidades como Paper, pero hay prácticas clave:

Limitar animales y mobs

En Bedrock, los límites de spawn de mobs se controlan principalmente a través del juego mismo. Para reducir entidades:

  1. Limita el número de animales por jugador — configura spawn-animals=true pero establece un límite de mobs por chunk en behavior_packs si usas Add-Ons

  2. Mata mobs periódicamente — usa la consola:

    kill @e[type=!player]
    No hagas esto con jugadores conectados sin avisar

    Este comando mata TODAS las entidades que no sean jugadores, incluyendo los objetos tirados al suelo y las mascotas.

  3. Usa la consola para diagnosticar:

    list

    Muestra jugadores conectados. Para ver entidades, necesitas ser OP e inspeccionar manualmente o usar Add-Ons de diagnóstico.


RAM y rendimiento

Asignación de RAM recomendada

BDS es menos intensivo en RAM que un servidor Java con plugins, pero el mundo y las entidades consumen memoria:

JugadoresRAM mínimaRAM recomendada
1-10512 MB1 GB
10-301 GB2 GB
30-502 GB3-4 GB
50+4 GB6 GB+

En SkyPanel, la RAM se configura en la sección Startup o directamente en la asignación del plan.


Autoguardado y I/O

BDS guarda el mundo periódicamente en disco. Si el almacenamiento es lento (HDDs compartidos), los guardados pueden causar lag.

Puedes controlar cuándo se guarda manualmente desde la consola:

# Guarda el mundo manualmente (equivale a un checkpoint)
save hold

# Espera a que BDS indique que está listo para copiar
save query

# Reanuda el guardado automático
save resume

Para backups automatizados, usa los Schedules de SkyPanel:

  1. Ve a Schedules en tu servidor
  2. Crea un schedule que ejecute el comando save hold antes del backup
  3. Crea el backup
  4. Ejecuta save resume al terminar

Pregenerar el mundo (Bedrock)

BDS no tiene un comando nativo de pregeneración, pero puedes usar un comportamiento alternativo:

  1. Conecta con un cliente Bedrock y activa el modo creativo
  2. Usa el truco de volar a máxima velocidad en todas las direcciones desde el spawn para forzar la carga de chunks
  3. Espera a que el servidor guarde (save hold + save query)
  4. Apaga el servidor una vez pregenerada el área que necesitas
tip

Una técnica más controlada es usar comandos de teletransportación con un bot o script para recorrer el área de spawn sistemáticamente:

tp @s X ~ Z

Mueve al admin por coordenadas forzando la carga de chunks.


Add-Ons de comportamiento para rendimiento

BDS soporta Behavior Packs que pueden modificar el comportamiento del juego. Para rendimiento:

  • Reduce las tasas de spawn de mobs en el spawn_rules del behavior pack
  • Limita las distancias de activación de entidades
  • Desactiva comportamientos de mobs que no usas (ej: desactiva el pathfinding de mobs decorativos)

Los behavior packs van en la carpeta behavior_packs/ de tu servidor.


Comandos útiles de diagnóstico

Ejecuta estos en la consola de SkyPanel cuando haya lag:

# Ver jugadores conectados y latencia
list

# Ver la posición actual del servidor en ticks (para detectar lag spike)
# (BDS no tiene un comando /tps nativo, el lag se detecta por los logs)

# Matar entidades sobrantes (usar con cuidado)
kill @e[type=item] # mata todos los items en el suelo
kill @e[type=arrow] # mata todas las flechas
kill @e[type=xp_orb] # mata los orbes de experiencia

Señales de lag y soluciones

SíntomaCausa probableSolución
Jugadores se teletransportan solosDemasiadas entidades o chunksReducir tick-distance, matar mobs
Lag al explorar terreno nuevoGeneración de chunks en tiempo realPregenerar el área de exploración
Lag con muchos jugadoresRAM insuficienteAumentar el plan
Guardados causan congelaciónI/O lento o mundo muy grandeUsar save hold manual, optimizar el mundo
El servidor reinicia soloOOM o crash de BDSRevisar logs, aumentar RAM

Diferencias de rendimiento respecto a Java

BDS tiene algunas particularidades respecto a Paper:

  • No hay GC de Java: BDS es un ejecutable nativo (C++), por lo que no hay pausas de Garbage Collector
  • Menos opciones de configuración: Paper tiene cientos de parámetros; BDS tiene muchos menos
  • Redstone diferente: el motor de redstone de Bedrock es diferente al de Java, lo que puede afectar al rendimiento de circuitos complejos de formas distintas
  • Multithreading nativo: BDS usa mejor el multithreading que los servidores Java tradicionales

En general, BDS es bastante eficiente sin necesidad de muchos ajustes, y las principales palancas de rendimiento son tick-distance y la gestión de entidades.