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.xmlのStormFreq等を正規表現で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制作の記事一覧