diff options
| author | Sho Sakuma <me@m1sk9.dev> | 2026-06-01 13:58:03 +0900 |
|---|---|---|
| committer | Sho Sakuma <me@m1sk9.dev> | 2026-06-01 13:58:03 +0900 |
| commit | 04ab6c92a6849e3d2af7439c2f0092324bc8889b (patch) | |
| tree | 1c82b390468e2baea38456dad459ae8807e53bfa /website/src/docs/reference/compatibility.md | |
| parent | 8b7ce2853aeca22b6eff61e3faac6fb8671aa17b (diff) | |
| download | LunaticChat-04ab6c92a6849e3d2af7439c2f0092324bc8889b.tar.gz LunaticChat-04ab6c92a6849e3d2af7439c2f0092324bc8889b.tar.bz2 LunaticChat-04ab6c92a6849e3d2af7439c2f0092324bc8889b.zip | |
docs(compatibility): clarify protocol version validation is Velocity-only
Update the compatibility matrix logic and documentation to reflect the actual
implementation: only Velocity performs the handshake validation, not Paper.
- Remove velocity-too-new and velocity-too-old from CompatibilityResult
- Simplify checkCompatibility() to check only if Velocity accepts Paper
- Update reason labels to clarify direction (Paper vs Velocity perspective)
- Add note distinguishing plugin version from protocol version
- Clarify Velocity-only validation in the protocol section
- Rewrite compatibility rules from Velocity's perspective
Paper only sends the handshake; it does not validate Velocity's version.
This aligns documentation with the actual behavior in
platform-velocity/.../PluginMessageHandler.kt.
Co-Authored-By: Claude <noreply@anthropic.com>
Diffstat (limited to 'website/src/docs/reference/compatibility.md')
| -rw-r--r-- | website/src/docs/reference/compatibility.md | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/website/src/docs/reference/compatibility.md b/website/src/docs/reference/compatibility.md index dc0c3b2..25ca957 100644 --- a/website/src/docs/reference/compatibility.md +++ b/website/src/docs/reference/compatibility.md @@ -6,6 +6,10 @@ layout: doc LunaticChat の Paper プラグインと Velocity プラグインは独立にバージョン管理されています.それぞれの組み合わせが動作するかどうかは,両プラグインに埋め込まれた**プロトコルバージョン**で判定されます. +::: warning プラグインバージョン ≠ プロトコルバージョン +**プラグインバージョン** (例: Paper v1.2.0) と **プロトコルバージョン** (例: 1.0.0) は別物です.プラグイン側のリリースを重ねてもプロトコルが変わらなければ互換性は維持されます.互換性を決めるのはプロトコルバージョンのみです. +::: + ## 結論から - **両プラグインの最新版同士は常に互換性があります.** 迷ったら両方を最新にしてください. @@ -20,15 +24,19 @@ LunaticChat の Paper プラグインと Velocity プラグインは独立にバ ## プロトコルバージョンとは -Paper / Velocity 間の通信は LunaticChat 独自のプラグインメッセージプロトコルで行われています.プロトコルにはセマンティックバージョニング (`MAJOR.MINOR.PATCH`) が振られており,接続時のハンドシェイクで両者のバージョンが照合されます. +Paper / Velocity 間の通信は LunaticChat 独自のプラグインメッセージプロトコルで行われています.プロトコルにはセマンティックバージョニング (`MAJOR.MINOR.PATCH`) が振られており,接続時のハンドシェイクで Velocity 側がバージョンを照合します. + +::: tip 互換性チェックは Velocity 側のみ +互換性判定をしているのは Velocity 側のみです.Paper 側はハンドシェイクを送るだけで,バージョンチェックはしません.つまり「Velocity が Paper のプロトコルを受け入れられるか」がそのまま接続可否になります. +::: -判定ルールは以下です: +判定ルールは以下です(Velocity 視点): - **MAJOR** が一致すること -- 相手の **MINOR** が自分の `MIN_SUPPORTED_MINOR` 以上かつ自分の `MINOR` 以下であること +- Paper の **MINOR** が,Velocity の `MIN_SUPPORTED_MINOR` 以上かつ Velocity の `MINOR` 以下であること - **PATCH** は判定に影響しない -`MIN_SUPPORTED_MINOR` は「どこまで古い MINOR を受け入れるか」を示す値で,ローリングアップデート中の猶予期間を作るために使われます. +`MIN_SUPPORTED_MINOR` は「Velocity がどこまで古い Paper の MINOR を受け入れるか」を示す値で,ローリングアップデート中の猶予期間を作るために使われます. ### バージョンバンプの基準 @@ -50,8 +58,8 @@ Paper / Velocity 間の通信は LunaticChat 独自のプラグインメッセ 接続時は以下の流れで互換性が確認されます: 1. Paper サーバー起動時に Velocity に対してハンドシェイクを送信 -2. Velocity が自身のプロトコルバージョンと照合 -3. 不一致の場合は接続が拒否され,状態が `FAILED` になる +2. Velocity が Paper のプロトコルバージョンを自身のものと照合 +3. 不一致の場合は Velocity が接続を拒否し,Paper 側の状態が `FAILED` になる 4. ハンドシェイクのタイムアウトは 5 秒 接続状態は `/lcv status` で確認できます.詳細は [Velocity 連携](/docs/features/velocity#接続状態) を参照してください. |
