Cascadia Merge
ワークフロー

Vintage StoryサーバーMOD:まずバックアップ上でテスト

03
更新日

ワールドを失わずにMODと設定を更新する

ゲームのアップデートが公開され、ワールドを失うことなくMODとワールドを更新したいと考えています。Vintage Storyサーバーの設定を変更したりMODを追加したりすることは、ワールドの読み込みを停止させる可能性がある2つの変更です。そのため、このワークフローは決まった順序でそれらを実行します:セーブデータをコピーする、1つ変更する、サーバーを起動してログを読み取る、次に1つ変更する。Cascadia Mergeはファイルの作業を行い、各結果をカードとして表示します。すべての決定はあなたが下し、ファイルが変更されている間はサーバーを停止したままにします。パスを入力する時間ではなく、差分とログを読む時間に時間を費やし、変更する前に各MODのバージョンを記録してください。そうすれば、そのリストが更新日の記録として役立ちます。

01

データフォルダを開く

サーバーのデータフォルダを新しいチャットの作業フォルダとして選択します。エージェントはlist_dirでフォルダを一覧表示するため、何も触れる前にSaves、Backups、Modsを確認できます。Windows PCでは、サーバーを別のデータパスで起動していない限り、デフォルトの場所はユーザーのAppData\Roamingフォルダ内のVintagestoryDataフォルダです。

02

セーブデータをコピー

サーバーを停止した状態で、エージェントはバックアップスクリプトを使ってSavesフォルダをBackupsにコピーします。カードで終了コードを読み、Backupsフォルダの2回目のlist_dirを求め、次に進む前に新しいコピーが本当にそこに存在することを確認します。

03

1つ変更

serverconfig.jsonを編集するか、1つのMODを置き換えます。両方を同時に実行しないでください。エージェントは設定変更の差分を表示し、Ask firstモードでそれを受け入れるか拒否します。手動で置き換えるMODは.zipファイルとしてModsフォルダに配置され、1ラウンドで変更されるのは1つのファイルだけです。

04

起動してテスト

自分のスクリプトでサーバーを起動し、エージェントにログ内の失敗したMODを検索させ、ゲームから接続します。何かが壊れた場合、どの変更が原因だったかがわかり、開始時に作成したコピーからそのファイルを移動するか、その行を復元できます。

serverconfig.jsonの抜粋

serverconfig.json
{
  "ServerName": "Friends World",
  "Port": 42420,
  "MaxClients": 10,
  "Password": null,
  "AllowPvP": false,
  "AdvertiseServer": false
}

これは完全なファイルではなく、プレースホルダー値のみを含むserverconfig.jsonの抜粋です。ゲームポートは42420(TCP)で、nullパスワードはパスワードが設定されていないことを意味するため、インターネットにワールドを公開する前にパスワードを追加してください。サーバーが停止している間のみ実際のファイルを編集し、Savesフォルダの隣に自分のコピーを保管してください。

4つのステップでVintage StoryサーバーMODを管理

インストールされている内容を確認

変更する前にまず確認することから始めましょう。エージェントはlist_dirとglobを使ってデータフォルダ内のModsフォルダを見つけ、read_fileを使ってフォルダ内にある各MODのmodinfo.jsonを開き、write_fileを使って名前とバージョンのプレーンリストを作業フォルダに保存します。ホストサーバー上のMODについてサポートが必要な場合は、エージェントがアクセスできるファイルにのみ作業できるため、まずそのデータフォルダに到達できることを確認してください。リストを印刷します。プレイヤーが持っているMODと比較し、サーバーとプレイヤーが同じMODとバージョンを必要とするため、更新するものを決定します。まだ何も変更されておらず、更新前に何がインストールされていたかの記録があり、後で元に戻す必要がある場合に役立ちます。

まずセーブデータをコピー

ワールドはSavesフォルダ内の1つの.vcdbsファイルなので、ゲームのアップデート、MODの変更、設定の変更の前にそのフォルダをコピーしてください。まずサーバーを停止します。エージェントはcopy_fileを使ってワールドファイルをBackupsフォルダに配置し、Shellは自分のバックアップスクリプトを実行し、カードで実際の終了コードを報告します。一度も復元されていないコピーは単なる推測に過ぎないため、予備のフォルダに一度復元し、開いてワールドが存在することを確認してください。そうしてから、ファイルを変更する作業部分に進み、変更が失敗した場合に戻れる安全な方法を持ちます。何も削除せず、コピーなしでセーブデータは削除されません。フォルダに複数のワールドがある場合は、それらのいずれも見逃されないように、Savesフォルダ全体をコピーします。

1つの設定またはMODを変更

今、1つのことだけを変更します。Vintage Storyサーバーの設定を調整するには、エージェントはedit_fileをserverconfig.jsonに対して使用し、Ask firstモードで差分を表示します。MODを更新するには、公式MODデータベースからのみ新しい.zipをModsフォルダに自分で配置します。MODをインストールした後ワールドが読み込まれない場合、最後の変更が疑わしく、そのファイルを移動することで元に戻すことができます。ここで停止してください。最初のMODがテストされる前に2つ目のMODを追加しないでください。一度に2つの変更を行うと原因が隠れてしまいます。Plan onlyは、実行せずにまず手順を書き出すことができるため、更新日のチェックリストを2番目の管理者も読めるようにしたい場合に便利です。

サーバーを起動しログを読む

自分のスタートスクリプトでサーバーを起動します。Shellがそれを実行し、実際の終了コードを表示し、その後grepがサーバーログからfailedとerrorの単語を検索します。専用サーバーのトラブルシューティングはそのログから始まり、カードは一致する行をすべてリスト表示するため、順番に読むことができます。どのログファイルが最新かわからない場合はglobがログファイルを見つけます。次に、ゲームから接続してワールドを歩き回ります。ログがクリーンで、2番目のプレイヤーが接続した後にのみ、変更が完了したと受け入れます。クリーンでない場合は、1つ前のステップに戻り、最後ではなく最初のエラーを読み、ワールド自体が破損した場合はセーブデータのバックアップを復元します。

Windows用Cascadia Merge

セーブデータのバックアップから始めましょう

Cascadia Mergeをダウンロード ↗