【V3.0】sandbox_overrides.xml と SandboxCode ― サーバー設定の集約

V3.0の目玉システム Sandbox Options(サンドボックス設定) により、約150種のゲームルール(GameDifficulty/BloodMoon*/AirDrop*/LootAbundance/StormFreq/XPMultiplier など)が新規ゲーム画面の単一画面に統合され、結果が SandboxCode という1本の文字列にエンコードされるようになりました。

serverconfig.xml の変化

  • serverconfig.xml から個別プロパティ(StormFreq/LootAbundance 等)が消滅し、<property name="SandboxCode" value="..."/> 1行に集約されました(既定は難易度 Adventurer 相当のコード)。
  • SandboxCode は約150 optionの値を1本にパックした不透明な短縮コードで、人間可読のキー=値形式ではありません。生成/解読は公式UIの「Sandbox Options ウィンドウ → Copy Code」のみです。
  • ServerDescription は独立プロパティとしてV3.0でも残存しています。

新規 sandbox_overrides.xml

MOD/サーバー運用者が「プリセット定義」と「設定項目のロック」を宣言するファイルです(出荷時は全コメントアウト)。子要素は2種類のみ:

  • <preset name="..." code="..." default="true" /> … 新規ゲーム時の選択肢を追加。code は Copy Code で採取した SandboxCode。description または description_key のどちらかが必須
  • <sandbox_override option="MaxEnemyTier" /> … 指定 option を Default 値に固定し、プレイヤーが変更できないようロック(任意値の直接 override 用ではない)

ツール/外部連携への影響

  • serverconfig.xmlStormFreq 等を正規表現で1行差し替える」手法は、対象プロパティが存在しなくなったため破綻します。
  • 値を動的に変えたい場合の選択肢は、(a)段階ごとの SandboxCode をテーブル化して SandboxCode を丸ごと差し替える、または(b)setgamepref 系コンソールコマンドが該当設定で生きていればそれを使う、のいずれか。どちらが有効かは実機確認が先決です。

参考:定義例

<sandbox_overrides>
    <preset name="My Preset" description="Test Preset" code="ABEABTBBWADFP" default="true" />
    <sandbox_override option="MaxEnemyTier" />
</sandbox_overrides>

※実験版(B252相当)適用直後の調査に基づきます。


関連: MOD制作の記事一覧

コメントする

お名前(ニックネーム)だけで投稿できます。ログイン・メール登録は不要です。お気軽にどうぞ。

※ AIの回答は管理者の確認後に表示されます。内容は不正確な場合があります。