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.
steel (Hauptpaket)
Abschnitt betitelt „steel (Hauptpaket)“Diese Flags steuern die Haupt-Server-Executable.
| Feature | Standard | Beschreibung |
|---|---|---|
mimalloc | ✅ Aktiviert | MiMalloc als Speicherallokator für verbesserte Performance verwenden |
deadlock_detection | ❌ Deaktiviert | Deadlock-Erkennung mit parking_lot aktivieren (für Debugging) |
dhat-heap | ❌ Deaktiviert | DHAT Heap-Profiler für Speicheranalyse aktivieren |
Verwendungsbeispiel
Abschnitt betitelt „Verwendungsbeispiel“# Build mit Deadlock-Erkennungcargo build --features deadlock_detection
# Build ohne mimalloccargo build --no-default-featuressteel-core
Abschnitt betitelt „steel-core“Diese Flags steuern die Kern-Spiellogik.
| Feature | Standard | Beschreibung |
|---|---|---|
stand-alone | ❌ Deaktiviert | Stand-Alone-Modus mit eingebettetem Standard-Favicon aktivieren |
debug_measurement_output | ✅ Aktiviert | Debug-Ausgabe für Chunk-Generierung und Tick-Messungen aktivieren |
stand-alone Modus
Abschnitt betitelt „stand-alone Modus“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.
debug_measurement_output
Abschnitt betitelt „debug_measurement_output“Gibt detaillierte Timing-Informationen aus für:
- Chunk-Generierungs-Performance
- Tick-Messungen
- Performance-Profiling-Daten
steel-registry
Abschnitt betitelt „steel-registry“Diese Flags steuern das Game-Registry-System.
| Feature | Standard | Beschreibung |
|---|---|---|
fmt | ❌ Deaktiviert | Formatierungsfunktionen aktivieren |
minecraft-src | ❌ Deaktiviert | Minecraft-Source-Mappings verwenden |
Features kombinieren
Abschnitt betitelt „Features kombinieren“Du kannst mehrere Features kombinieren:
# Build mit mehreren Featurescargo build --features "deadlock_detection,debug_measurement_output"
# Build für Standalone-Distributioncargo build --release --features stand-aloneProduktionsempfehlungen
Abschnitt betitelt „Produktionsempfehlungen“Für Produktionsserver empfehlen wir:
mimallocaktiviert lassen - Bietet signifikante Verbesserungen bei der Speicherallokationdeadlock_detectiondeaktivieren - Nur für Debugging benötigtdhat-heapdeaktivieren - Nur für Speicheranalyse benötigtstand-alonein Betracht ziehen - Wenn als einzelne Binary verteilt wird