Zum Inhalt springen

Feature Flags

SteelMC verwendet Rusts Feature-Flag-System, um bestimmte Funktionen zur Kompilierzeit zu aktivieren oder deaktivieren. Dies ermöglicht es dir, deinen Build für spezifische Anwendungsfälle anzupassen.

Diese Flags steuern die Haupt-Server-Executable.

FeatureStandardBeschreibung
mimalloc✅ AktiviertMiMalloc als Speicherallokator für verbesserte Performance verwenden
deadlock_detection❌ DeaktiviertDeadlock-Erkennung mit parking_lot aktivieren (für Debugging)
dhat-heap❌ DeaktiviertDHAT Heap-Profiler für Speicheranalyse aktivieren
Terminal-Fenster
# Build mit Deadlock-Erkennung
cargo build --features deadlock_detection
# Build ohne mimalloc
cargo build --no-default-features

Diese Flags steuern die Kern-Spiellogik.

FeatureStandardBeschreibung
stand-alone❌ DeaktiviertStand-Alone-Modus mit eingebettetem Standard-Favicon aktivieren
debug_measurement_output✅ AktiviertDebug-Ausgabe für Chunk-Generierung und Tick-Messungen aktivieren

Wenn aktiviert, enthält der Server ein Standard-Favicon als eingebettete Bytes. Dies ist nützlich für die Verteilung einer einzelnen Binary ohne externe Assets.

Gibt detaillierte Timing-Informationen aus für:

  • Chunk-Generierungs-Performance
  • Tick-Messungen
  • Performance-Profiling-Daten

Diese Flags steuern das Game-Registry-System.

FeatureStandardBeschreibung
fmt❌ DeaktiviertFormatierungsfunktionen aktivieren
minecraft-src❌ DeaktiviertMinecraft-Source-Mappings verwenden

Du kannst mehrere Features kombinieren:

Terminal-Fenster
# Build mit mehreren Features
cargo build --features "deadlock_detection,debug_measurement_output"
# Build für Standalone-Distribution
cargo build --release --features stand-alone

Für Produktionsserver empfehlen wir:

  • mimalloc aktiviert lassen - Bietet signifikante Verbesserungen bei der Speicherallokation
  • deadlock_detection deaktivieren - Nur für Debugging benötigt
  • dhat-heap deaktivieren - Nur für Speicheranalyse benötigt
  • stand-alone in Betracht ziehen - Wenn als einzelne Binary verteilt wird