1 台から Cluster へ
まずは Storia サーバー 1 台で始め、プレイヤーが 1 台に収まらなくなったら Cluster に移ります。Worker は Storia Relay と組み合わせたときだけ動きます。
Worker は、単体の Storia サーバーにはつなげません
Storia Worker は Storia Cluster のサーバー 1 台分で、ワールドを保管する Storia Relay と組み合わせたときだけ 動きます。単体の Storia サーバーに Worker を足すことはできません。サーバーを増やすときは、まずワールドを Relay に移します (下の手順)。いまのサーバーは、そのままワーカーの 1 台になります。
どちらの構成にする?#
| 単体のサーバー | Cluster | |
|---|---|---|
| 使うソフト | Storia(必要なら Storia Proxy も) | Storia Relay + Storia Worker 2 台以上 + Storia Proxy |
| ワールドの場所 | サーバーの world/ フォルダ |
Storia Relay の cluster-world/ |
| 向いている場合 | ほとんどのサーバー。マシン 1 台で足りる | 1 つのワールドが、マシン 1 台に収まらなくなった |
| RAM ワールド | 使える | 使わない(ワールドは Relay が保管) |
| プラグインのデータ | 各プラグインのファイル | プラグイン API で共有。プラグインのファイルはワーカーごとに別 |
まずは単体のサーバーで始めてください。Tick Guard・プレイヤーごとの予算・RAM ワールド・事前生成など Storia の機能は、単体のサーバーで全部使えます。マシン 1 台では足りなくなったら Cluster に移ります。
単体のサーバー:プレイヤー --> Storia(ワールドはここ)
Cluster: プレイヤー --> Storia Proxy --> Storia Worker A(いままでのサーバー)
\-> Storia Worker B(追加) --> Storia Relay(ワールドはここ)
単体のサーバーから Cluster へ移る#
先にバックアップ
始める前に、サーバーのフォルダを丸ごと安全な場所へコピーしてください。
- Storia サーバーを
stopで止めます。 RAM ワールドの内容は、ここですべてディスクに書き出されます。 - Storia Relay を用意します(Storia Relay を参照)。
storia-relay-26.2-5.zipを展開して一度起動し、relay.propertiesにsecretを設定します。 - ワールドを Relay に移します。
world/フォルダを中身ごと、Relay のcluster-world/にコピーします。 プラグイン API を使っているプラグインがあれば、storia-shared/もcluster-world/storia-shared/に コピーします。 - Relay を起動します。 これ以降、ワールドに書き込むのは Relay だけです。バックアップは
cluster-world/から取ります。 -
いままでのサーバーをワーカーにします。
storia.ymlに次を設定します。cluster: enabled: true coordinator: "relay-host:25590" node-name: worker-1 secret: "Relay と同じ合言葉"古い
world/フォルダは、今のワールドと間違えないように名前を変えておきます(例:world-before-cluster/)。 次の起動時に、ワーカーは Relay からワールドの設定を取り寄せます。 6. ワーカーを追加します。storia-worker-26.2-5.zipを使います(Storia Worker を参照)。ワールドのコピーは要りません。 7. Storia Proxy を前に置きます(プロキシの導入 を参照)。velocity.tomlに各ワーカーを node-name と同じ名前で登録し、storia-proxy.tomlに[cluster]を設定します。ワーカーは Velocity のバックエンドとして設定します (config/paper-global.ymlのproxies.velocity、online-mode=false)。 8. プラグインと設定ファイルを、すべてのワーカーにコピーします。 各ワーカーがそれぞれプラグインを動かします。
プラグイン#
- プレイヤーデータ(インベントリ・位置・効果・進捗・統計)は、Cluster が自動で共有します。
- プラグインが自分のファイルに保存しているデータ(残高・保護範囲・ホームなど)は、そのプラグインが Storia の プラグイン API に対応していない限り、ワーカーごとに別々になります。移る前に、大事なプラグインを 確認してください。
単体のサーバーに戻す#
Relay が保管しているのは普通の Minecraft のワールドです。プロキシ・ワーカー・Relay を止め、cluster-world/ を
単体サーバーの world/ に(cluster-world/storia-shared/ を storia-shared/ に)コピーし直し、cluster.enabled を
オフにすれば戻せます。
よくある質問#
単体のサーバーに Storia Worker を足して、速くできますか? できません。ワーカーは共有するワールドの一部を動かすもので、Storia Relay が必要です。(26.2-2-beta までの 「Storia Worker」は単体サーバー用の地形生成の手伝い役でしたが、ワーカーが Cluster のサーバーになったときに削除されました。)
Relay のために新しいマシンが要りますか? 要りません。Relay は軽いので、ワーカーやプロキシと同じマシンで動かせます。ワールド分のディスクは必要です。
止まる時間はありますか? サーバーを止めてワールドをコピーし、Relay とワーカーを起動するまでの間だけです。