このガイドでは、Legion Hosting でホストされている DayZ サーバーのルートエコノミーをカスタマイズするために types.xml を編集する方法を説明します。各属性が制御する内容、一般的な調整シナリオの例、そして変更を検証する方法を学べます。一般的なサーバー設定については、DayZ サーバーセットアップガイドを参照してください。
types.xml やその他のミッションファイルを編集する前に、必ず GPanel の Console タブからサーバーを停止してください。サーバー稼働中に書き込まれた変更は、次回のシャットダウン時に上書きされたり無視されたりする場合があります。
types.xml の場所
DayZ のルートエコノミーは types.xml ファイルによって制御されます。このファイルは、マップ上にスポーンできるすべてのアイテムと、各アイテムの出現頻度を定義します。場所は以下のとおりです:
mpmissions/dayzOffline.chernarusplus/db/types.xml
別のマップ(Livonia など)を実行している場合は、dayzOffline.chernarusplus をご使用のミッションのフォルダ名に置き換えてください。一般的なミッションフォルダ名:
| マップ | ミッションフォルダ |
|---|---|
| Chernarus | dayzOffline.chernarusplus |
| Livonia | dayzOffline.enoch |
GPanel のファイルエディタで types.xml を開くか、SFTP 経由でダウンロードしてローカルで編集し、再アップロードしてください。
主要な属性の理解
types.xml 内の各アイテムは <type> 要素によって定義されます。ルートの頻度を制御するための最も重要な子要素は次のとおりです:
| 要素 | 説明 |
|---|---|
nominal |
サーバーが常にマップ全体で維持しようとするこのアイテムの目標数。この値を増やすとアイテムがより一般的になります。0 に設定するとスポーンが完全に無効になります。 |
min |
補充システムが追加でスポーンを開始する前の、マップ上のこのアイテムの最小数。nominal 以下である必要があります。 |
lifetime |
アイテムが操作されない場合に地面に残ってから消滅するまでの時間(秒単位)。この値を増やすと、アイテムが消える前により長く残るようになります。 |
restock |
スポーン試行間の時間(秒単位)。これを 0 に設定すると、数が min を下回るとすぐにアイテムがリスポーンします。 |
quantmin / quantmax |
アイテムがスポーンする際の数量範囲を制御します(例: マガジン内の弾薬数)。-1 の値はゲームがデフォルトを使用することを意味します。 |
cost |
Central Economy が使用する優先度の重み。値が高いほど、補充サイクル中にアイテムが早くスポーンします。レアアイテムは通常、より高い cost 値を持ちます。 |
フラグの説明
各 <type> 要素には、エコノミーがアイテムの既存インスタンスをどのようにカウントするかを制御する <flags> 要素が含まれています:
| フラグ | 説明 |
|---|---|
count_in_map |
地面にあるアイテムを nominal の合計にカウントします。 |
count_in_cargo |
コンテナ(バックパック、ストレージ)内のアイテムを合計にカウントします。 |
count_in_hoarder |
プレイヤーの隠し場所や埋められたコンテナ内のアイテムを合計にカウントします。 |
count_in_player |
オンラインプレイヤーが所持しているアイテムを合計にカウントします。 |
crafted |
このアイテムがクラフト専用で自然にスポーンすべきでない場合は 1 に設定します。 |
deloot |
ダイナミックイベントのルート(ヘリコプター墜落など)の場合は 1 に設定します。 |
例: AKM アサルトライフルのエントリ
<type name="AKM">
<nominal>5</nominal>
<lifetime>14400</lifetime>
<restock>0</restock>
<min>2</min>
<quantmin>-1</quantmin>
<quantmax>-1</quantmax>
<cost>100</cost>
<flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
<category name="weapons"/>
<usage name="Military"/>
</type>
この例では、サーバーは常にマップ上に 5 つの AKM を維持しようとします(nominal=5)。数が 2 を下回ると(min=2)、新しいものがすぐにスポーンします(restock=0)。各 AKM は触れられなければ 4 時間後に消滅します(lifetime=14400 秒)。地面のスポーンのみがカウントされるため(count_in_map=1)、プレイヤーのバックパックや埋められた隠し場所にある AKM は合計から差し引かれません。
カテゴリと使用法のタグ
<category> および <usage> タグは、アイテムがマップ上のどこにスポーンするかを制御します:
<category name="weapons"/>-- アイテムの種類を分類します(武器、衣類、ツール、食料など)<usage name="Military"/>-- スポーンを軍事区域に制限します。その他の値にはTown、Village、Farm、Industrial、Hunting、School、Medic、Police、Firefighter、Coastがあります。
複数の <usage> タグを追加して、アイテムが複数の場所タイプでスポーンできるようにすることができます。
一般的なルート調整の例
| 目標 | 変更する内容 |
|---|---|
| アイテムをより一般的にする | nominal と min を増やす |
| アイテムのスポーンを無効にする | nominal を 0 に、min を 0 に設定する |
| 消滅する前にアイテムをより長く残す | lifetime を増やす(値は秒単位; 3600 = 1 時間) |
| 拾った後のアイテムのリスポーンを速める | restock を減らすか 0 に設定する |
| レアなルートが溜め込まれてもカウントされるようにする | count_in_hoarder="1" と count_in_cargo="1" を設定する |
| アイテムが町と軍事区域でスポーンできるようにする | <usage name="Town"/> と <usage name="Military"/> の両方を追加する |
変更の検証
types.xml は有効な XML でなければなりません。1 つでも閉じられていないタグ、一致しない括弧、または余分な文字があると、サーバーがミッションを読み込めなくなり、起動時にクラッシュする可能性があります。このファイルをローカルで編集する際は、XML 検証機能を備えたテキストエディタ(Notepad++ や VS Code など)を使用してからアップロードしてください。
注意すべき一般的な XML の間違い:
<type>要素を</type>で閉じ忘れる- 属性値で引用符が一致していない(例: 閉じ引用符のない
name="AKM) - 余分な文字や余計な山括弧
- ファイル先頭の XML 宣言を誤って削除する
types.xml とのモッドの相互作用
新しいアイテムを追加するモッドを実行している場合、それらのモッドはモッドの db/ フォルダ内に独自の types.xml エントリを含んでいる場合があります。バニラの types.xml への変更がモッドアイテムに反映されないように見える場合は、モッドがエントリを上書きしているかどうかを確認してください。代わりにモッド独自の types.xml を編集する必要があるかもしれません。
関連記事
- DayZ サーバーセットアップガイド -- serverDZ.cfg の設定とプレイヤーの接続方法
- DayZ モッドのインストール -- Steam Workshop モッド、ロード順序、キーファイル
- DayZ トラブルシューティング -- 一般的なエラー、BattlEye の問題、RCON の設定
- SFTP 経由でファイルをアップロードする方法