Skip to content

How-to: Run-Modus ergänzen

Status: RunRules kategorisiert Official, Open, Community und Developer zentral. Die Hub-Pre-Run-UI unterstützt Fixed-Anzeige und PlayerSelected-Slots; serverseitige Rollenloadouts und ein persistierter Replay-Header bleiben Integrationsarbeit.

Schritte

  1. Stabile RunModeId lowercase wählen. Vorhandene Werte sind official, fun, community.
  2. In src/HolodeckArena.Shared/Runs/RunRules.cs Factory oder konfigurierten RunRules ergänzen: ProgressionPolicy, NormalizeWeaponStats, MasteryXP, Duplicates, FixedLoadout, Allowed/Denied Weapons/Categories/Mods, MaxMods, WeaponBalanceVersion, RulesetVersion.
  3. RunLoadoutResolver und LoadoutValidator-Semantik prüfen. Official ignoriert persönliche Unlocks, deaktiviert persönliche Mastery standardmäßig und verlangt exakte Übereinstimmung mit dem FixedLoadout. Open blockiert ohne Auswahl mit LoadoutSelectionRequired.
  4. RunDefinition.RunRules und PlayerLoadoutsByPlayerId beim Runbau setzen. Der aktive Generator finalisiert diese Daten bereits; neue Modi muessen Policy, Replay, Completion und spaetere Servervalidierung gemeinsam erweitern.
  5. Hub-Terminal/UI um Moduswahl ergänzen und serverseitig erlaubte Modi laden/validieren. SeedKind und RunMode nicht vermischen.
  6. Nakama StartRun-Contract um RunModeId, Ruleset/Balance/LoadoutHash ergänzen und Server-Autorität herstellen.
  7. Replayheader/Leaderboardkey müssen Modus und Versionen enthalten. Community/Custom niemals in Official-Leaderboard schreiben.

Tests

Allowed/Denied, FixedLoadout, Duplicates, MaxMods, Unlock/Mastery/Normalization, Hashsensitivität, Serialization und unbekannter Modus. Integration: UI → RunDefinition → Replay/Completion.

Verwandt: Waffen/Loadouts, Dungeon-Runs.