diff options
| author | Sho Sakuma <me@m1sk9.dev> | 2026-05-06 06:09:43 +0900 |
|---|---|---|
| committer | Sho Sakuma <me@m1sk9.dev> | 2026-05-06 06:09:43 +0900 |
| commit | c092edbab0e8b516faaa459f6d0915c7df3cd06f (patch) | |
| tree | 10e9394dcd35270c5374f5396bf8b86b7a711c2b /website/src/docs/features/velocity.md | |
| parent | bbd63b0032965ae58f7a20988312ff5012be543f (diff) | |
| download | LunaticChat-c092edbab0e8b516faaa459f6d0915c7df3cd06f.tar.gz LunaticChat-c092edbab0e8b516faaa459f6d0915c7df3cd06f.tar.bz2 LunaticChat-c092edbab0e8b516faaa459f6d0915c7df3cd06f.zip | |
docs: clarify paper/velocity compatibility
Add a dynamic compatibility matrix (GitHub Releases + ProtocolVersion.kt at
each tag) shown on the home page, download page, and a new reference doc.
Split protocol theory and rolling-update rules out of the Velocity feature
guide into the new compatibility reference, and simplify the download notice.
Also set explicit GitHub release titles in the Paper / Velocity workflows so
the awkward paper/v* tag prefix is not the user-facing label.
Co-Authored-By: Claude <noreply@anthropic.com>
Diffstat (limited to 'website/src/docs/features/velocity.md')
| -rw-r--r-- | website/src/docs/features/velocity.md | 55 |
1 files changed, 17 insertions, 38 deletions
diff --git a/website/src/docs/features/velocity.md b/website/src/docs/features/velocity.md index d1394ec..3fa919e 100644 --- a/website/src/docs/features/velocity.md +++ b/website/src/docs/features/velocity.md @@ -6,6 +6,10 @@ layout: doc Velocity プロキシを経由して複数の Paper / Folia サーバー間でグローバルチャットをリレーします. +::: tip 互換性について +Paper プラグインと Velocity プラグインは独立にバージョン管理されています.**両方の最新版を使えば常に動作します.** 古いバージョンを混在させたい場合は,[Paper / Velocity 互換性](/docs/reference/compatibility) を参照してください. +::: + ## セットアップ ### 1. Velocity プラグインの導入 @@ -47,45 +51,10 @@ features: 各メッセージに一意な ID が付与され,キャッシュにより同じメッセージが重複して表示されることを防ぎます.キャッシュサイズは `messageDeduplicationCacheSize` (デフォルト: `100`) で設定できます. -## プロトコルバージョン - -Paper と Velocity 間の互換性はプロトコルバージョンで管理されます.接続時にハンドシェイクが行われ,互換性のないバージョン同士では接続が拒否されます. - -### バージョンバンプルール - -| レベル | 変更例 | 互換性 | デプロイ順序 | -|--------|--------|--------|-------------| -| PATCH (1.0.0 → 1.0.1) | optional フィールド追加,新 sub-channel 追加 | 完全互換 (`ignoreUnknownKeys=true` で安全) | 順不同,いつでも | -| MINOR (1.0.x → 1.1.0) | required フィールド追加,既存 sub-channel のセマンティクス変更 | `MIN_SUPPORTED_MINOR` の範囲内で後方互換 | **Velocity を先に更新** → 各 Paper を順次更新 | -| MAJOR (1.x.x → 2.0.0) | ワイヤフォーマット変更,sub-channel 削除/リネーム | 非互換 | **全サーバー同時デプロイ** | - -### 互換性判定 - -ハンドシェイク時に以下のルールで互換性が判定されます: - -- **MAJOR** が一致すること -- リモートの **MINOR** が `MIN_SUPPORTED_MINOR` 以上かつ自身の MINOR 以下であること -- **PATCH** は互換性判定に影響しない - -#### 例: Velocity がプロトコル 1.2.0 で `MIN_SUPPORTED_MINOR=1` の場合 - -| Paper プロトコル | 結果 | -|-----------------|------| -| 1.1.x | 接続 OK | -| 1.2.x | 接続 OK | -| 1.0.x | 拒否 (`MIN_SUPPORTED_MINOR` より古い) | -| 1.3.x | 拒否 (Velocity より新しい) | -| 2.0.x | 拒否 (MAJOR 不一致) | - -### 運用サイクル - -1. **プロトコル変更なし** → Paper / Velocity を独立にデプロイ可能 -2. **PATCH 変更** → どちら側からでも自由にデプロイ -3. **MINOR 変更** → Velocity を先行更新し,`MIN_SUPPORTED_MINOR` で旧 Paper の猶予期間を設定.全 Paper 更新後に `MIN_SUPPORTED_MINOR` を引き上げ -4. **MAJOR 変更** → メンテナンスウィンドウで一括更新 - ## 接続状態 +`/lcv status` で確認できる状態と,それぞれの意味は以下の通りです. + | 状態 | 説明 | |------|------| | `DISCONNECTED` | 未接続 | @@ -93,7 +62,13 @@ Paper と Velocity 間の互換性はプロトコルバージョンで管理さ | `CONNECTED` | 接続済み | | `FAILED` | 接続失敗 | -ハンドシェイクのタイムアウトは5秒です.タイムアウトした場合,状態は `FAILED` になります. +ハンドシェイクのタイムアウトは 5 秒です.タイムアウトした場合,状態は `FAILED` になります. + +### `FAILED` になったときの確認ポイント + +- Velocity プラグインが正しく導入され,プロキシが起動しているか +- Paper の `serverName` が Velocity 設定のサーバー名と一致しているか +- Paper / Velocity プラグインの**プロトコルバージョン**が互換であるか — [互換性マトリクス](/docs/reference/compatibility#互換性マトリクス) で確認できます ## 設定一覧 @@ -107,3 +82,7 @@ Paper と Velocity 間の互換性はプロトコルバージョンで管理さ ## メッセージフォーマット クロスサーバーチャットの表示形式は `config.yml` の `messageFormat.crossServerGlobalChatFormat` でカスタマイズできます.詳細は[メッセージフォーマット](/docs/reference/message-format)を参照してください. + +## 関連ドキュメント + +- [Paper / Velocity 互換性](/docs/reference/compatibility) — プロトコルバージョンとローリングアップデートの詳細 |
