summaryrefslogtreecommitdiff
path: root/website/src/docs/reference/compatibility.md
diff options
context:
space:
mode:
authorSho Sakuma <me@m1sk9.dev>2026-06-01 13:58:03 +0900
committerSho Sakuma <me@m1sk9.dev>2026-06-01 13:58:03 +0900
commit04ab6c92a6849e3d2af7439c2f0092324bc8889b (patch)
tree1c82b390468e2baea38456dad459ae8807e53bfa /website/src/docs/reference/compatibility.md
parent8b7ce2853aeca22b6eff61e3faac6fb8671aa17b (diff)
downloadLunaticChat-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.md20
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#接続状態) を参照してください.