はじめに
Sekai は Minecraft Java 版のリージョンファイル(.mca)のチャンクレベルでの重複排除スナップショットを取得し、任意のスナップショットからワールドを迅速に再構築します。
長期的なアーカイブ目的ではなく、荒らし行為や不適切なアップデートの後に稼働中のサーバーを巻き戻すといった、頻繁に行われるホットリカバリのために設計されています。
同一のチャンクペイロードは1つだけ保存され、コンテンツ指向ストレージ(CAS)を介して複数のスナップショット間で共有されるため、変更のないバックアップのコストはワールド全体のコピーではなく、およそメタデータ1行分で済みます。 ロールバックは、スナップショット取得時に保存された正確なバイト列を、アトミックかつそのまま復元します。
Sekai には主に2つの機能が含まれています:
- 本ガイドで解説する
sekaiCLI - サーバー管理ソフトウェア向けの再利用可能な Rust ライブラリ(
sekai-core上のsekai-app)。ライブラリ API は rustdoc(cargo doc)でドキュメント化されています。本ドキュメントでは CLI の操作のみを扱います。
設計の背景については ARCHITECTURE.md を参照してください(レイヤリング、2層ハッシュモデル、MVCC/GC データモデル)。 マシン可読な出力規格については docs/json.md に記載されています。