# Velocity 連携 (クロスサーバーチャット) <Badge type="tip" text="v0.8.0" />

Velocity を使用して，プロキシサーバーを繋いだ Paper サーバー間のクロスサーバーチャットを行う機能です．

::: warning 試験的機能

この機能は現在試験的な機能として提供されています．今後のアップデートで仕様が変更される可能性があります．

:::

## 連携機能を有効化する

Velocity 連携を有効化するには以下の手順を行います：

1. Velocity 側に Velocity 版 LunaticChat をインストールします．
2. 各 Paper サーバの `plugins/LunaticChat/config.yml` を開き， `velocity.enabled` を `true` に設定します．
3. Velocity, Paper を起動し，連携完了のメッセージが表示されることを確認します．

## プラグインバージョンとプロトコルバージョン

Velocity と Paper の LunaticChat が正しく連携するには，両方のプラグインバージョン・プロトコルバージョンが互換性のあるものである必要があります．

- Velocity 側と Paper 側の LunaticChat のバージョンが同じであることを確認してください．
  - 基本的に，同じバージョンの LunaticChat は互換性があります．
  - リリースは Velocity 版・Paper 版 で同時に行われるため，バージョン番号が異なることはありません．
  - ただし，ベータ版や開発版を使用している場合，互換性が保証されないことがあります．
- プロトコルバージョンが一致していることを確認してください．
  - LunaticChat は，異なるバージョン間での互換性を確保するために，プロトコルバージョンを使用しています．
  - Velocity 側と Paper 側の LunaticChat のプロトコルバージョンが一致していることを確認してください．
  - なお，プロトコルバージョンが変わる場合は **破壊的変更** に当たるため，Paper 版の LunaticChat のアップデート時に Velocity 版の LunaticChat も同時にアップデートする必要があります．

::: danger v0.7.0 未満の LunaticChat について

v0.7.0 未満の LunaticChat は Velocity 版との後方互換性はありません．

併用することもできないため，v0.7.0 未満の LunaticChat を使用している場合は，Velocity 連携機能を使用しないでください．

:::

::: tip バージョンルール

LunaticChat は以下のバージョンルールに従います．

- プラグインバージョン: 完全一致が必要
  - Paper 0.7.0, Velocity 0.7.0 → ✓ PASS
  - Paper 0.7.0, Velocity 0.6.0 → ✗ FAIL
- プロトコルバージョン: MAJOR.MINOR が一致する必要あり
  - Paper 1.0.0, Velocity 1.0.1 → ✓ PASS (PATCH の違いは OK)
  - Paper 1.0.0, Velocity 1.1.0 → ✗ FAIL (MINOR の違い)
  - Paper 1.0.0, Velocity 2.0.0 → ✗ FAIL (MAJOR の違い)

:::

## 連携状況の確認方法

Velocity 連携が正常に動作しているか確認するには，`/lcv status` コマンドを使用します．

現在のプロトコルバージョンと接続状態が表示されます．

## トラブルシューティング

Velocity 連携に関する問題が発生した場合，以下の点を確認してください：

- Velocity 側と Paper 側の LunaticChat のバージョン / プロトコルバージョンが同じであることを確認してください．
- LunaticChat の設定が正しいことを確認してください．
- Velocity サーバーと Paper サーバー間のネットワーク接続が正常であることを確認してください．
- LunaticChat のログを確認し，エラーメッセージや警告メッセージがないか確認してください．

## クロスサーバーチャット

Velocity 連携が有効化されている場合，プロキシサーバーを介して接続されている全てのサーバー間でチャットメッセージが共有されます．

## Velocity 連携と互換性のある機能

Velocity 連携中に利用可能な主な機能は以下の通りです：

|            | 互換性の有無 | 挙動                                | 備考                                |
|------------|--------|-----------------------------------|-----------------------------------|
| ダイレクトメッセージ | ×      | `/tell`, `/reply` コマンドはサーバー内限定で動作 | ダイレクトメッセージは Velocity 連携に対応していません． |
| チャンネルチャット  | ×      | チャンネルチャットはサーバー内限定で動作              | チャンネルチャットは Velocity 連携に対応していません．  |
| かな・ローマ字変換  | ◯      | かな・ローマ字変換は全サーバーで動作                |                                   |
