ドキュメント › 機能
チャンクの事前生成
プレイヤーが来る前に、すべての CPU コアを使って地形を作っておく。再起動しても続きから。
新しい地形の生成は、Minecraft サーバーの処理の中で一番重い処理です。プレイヤーが探索すると、サーバーはその場でチャンクを 生成しなければならず、プレイヤーは待たされます。事前生成はこれを前もって済ませておくので、探索中は生成済みのチャンクを 読み込むだけになります。
使い方#
/storia pregen start <半径> [ワールド] [x z]
半径:ブロック 単位。中心から −半径 〜 +半径 の正方形を生成します。ワールド:ワールド名。省略するとメインのワールド(最初に読み込まれたもの。通常はworld)。x z:中心のブロック座標。省略するとワールドのスポーン地点。
/storia pregen start 5000 スポーンの周り 5000 ブロック
/storia pregen start 2000 world 8000 0 x=8000 z=0 の周り
/storia pregen status 進み具合、チャンク/秒、残り時間
/storia pregen stop 止める(進み具合は保存)
/storia pregen resume 続きから(再起動後も可)
チャンクは中心から外側へ渦巻き状に生成するので、スポーンに近いところから先にできあがります。
速い理由#
Folia は、リージョンのティックスレッドに余裕を残すため、初期設定ではチャンク生成に CPU コアの 4 分の 1 ほどしか使いません。
/storia pregen の実行中、Storia はこれを コア 1 つを残してすべて に増やし(pregen.worker-threads: -1)、すべてのスレッドが
休まず働けるだけのチャンクを待機させます(pregen.max-in-flight)。終わったり止めたりすると、元に戻します。
| 3,721 チャンク(半径 480)、6 コア | 時間 | チャンク/秒 |
|---|---|---|
| Folia の初期設定(生成スレッド 1 本) | 3分21秒 | 18.5 |
Storia /storia pregen(生成スレッド 5 本) |
40秒 | 94 |
地形生成そのものも Storia では速くなっています(パフォーマンスと調整 を参照)。さらに 地形生成の分担 を使えば、ほかのマシンに手伝ってもらえます。
進み具合と再起動#
実行中の進み具合は、サーバーフォルダの storia-pregen.yml に保存されます。サーバーが止まったり落ちたりしても、起動し直してから
/storia pregen resume を実行すれば続きから再開できます。生成済みのチャンクはすぐに飛ばされます。
コツ#
- 事前生成は、サーバーを公開する 前 か、人が少ない時間に。実行中は CPU のほとんどを使います。
- 同じ大きさの ワールドボーダー を設定すれば、プレイヤーは事前生成した範囲の外に出ません。
- 半径 5,000 ブロックで約 39 万チャンク、10,000 ブロックで約 156 万チャンクです。ディスクの空き(RAM ワールド を使っているなら RAM も)を 確認してください。生成したチャンクは、ごく大まかに 1 つあたり 5〜10 KB です。
- 普段のプレイ中(事前生成以外)も CPU に余裕があるなら、
config/paper-global.ymlのchunk-system.worker-threadsを増やせます。