Ir al contenido

Feature Flags

SteelMC usa el sistema de feature flags de Rust para habilitar o deshabilitar funcionalidad a tiempo de compilado. Esto te permite personalizar tu ejecutable para usos de casos específicos.

Estas flags controlan el ejecutable principal del servidor.

CaracterísticaPor defectoDescripción
mimalloc✅ HabilitadaUsar MiMalloc como el memory allocator para un rendimiento mejorado
deadlock_detection❌ DeshabilitadaHabilita detección de deadlocks mediante parking_lot (para depuramiento)
dhat-heap❌ DeshabilitadaHabilita el depurador de pila DHAT para el depuramiento de memoria
Ventana de terminal
# Compilado con detección de deadlocks
cargo build --features deadlock_detection
# Compilado sin MiMalloc
cargo build --no-default-features

Estas flags controlan la lógica del núcleo del juego.

CaracterísticaPor defectoDescripción
stand-alone❌ DeshabilitadaHabilita el modo autónomo con el favicon por defecto incluido
debug_measurement_output✅ HabilitadaHabilita la salida de las medidas de depuración de la generación de chunks y ticks

Cuando se encuentra habilitado, el servidor incluye el favicon por defecto como parte del ejecutable. Esto es útil para distribuir un binario sin ningún otro recurso.

Imprime información de tiempos detallados para:

  • Rendimiento de la generación de chunks
  • Mediciones de ticks
  • Datos de análisis del rendimiento

Estas flags controlan el sistema de registros del juego.

CaracterísticaPor defectoDescripción
fmt❌ DeshabilitadaHabilita que se aplique el formato
minecraft-src❌ DeshabilitadaHabilita el uso del mapeado del código fuente de Minecraft

Puedes combinar múltiples características:

Ventana de terminal
# Compilado con varias características
cargo build --features "deadlock_detection,debug_measurement_output"
# Compilado para la distribución autonoma
cargo build --release --features stand-alone

Para servidores estables recomendamos:

  • Mantener mimalloc activado - Provee mejoras significativas en el alojamiento de memoria
  • Deshabilitar deadlock_detection - Solo es necesitado para depuración
  • Deshabilitar dhat-heap - Solo necesario para la depuración de la memoria
  • Considera stand-alone - Si lo quieres tener todo en un solo ejecutable