Minecraftプラグイン ViaVersion

ViaVersion と確認されたサーバーの情報

🔌 ViaVersion について

ViaVersion は、異なる Minecraft クライアントバージョンを使うプレイヤーが 1 つのサーバーに参加できるよう、クライアント/サーバー間のプロトコル変換を行う Minecraft プラグインです。クライアントとサーバーのプロトコルバージョン間でネットワークパケットを変換することで、複数バージョンへの互換性を提供します。

🎯 目的

ViaVersion はクライアントバージョンの断片化という問題に対応します。サーバーが特定の Minecraft リリースで動作している場合、通常は新しいクライアントや古いクライアントのプレイヤーは接続できません。ViaVersion はプロトコルを変換することで、運営者がサーバーバージョンを維持したまま、より幅広いクライアントバージョンの接続を許可できるようにします。

⚙️ 機能

  • 必要に応じて、プラットフォーム用プラグイン(Paper/Spigot/CraftBukkit)またはプロキシプラットフォーム(Velocity)として動作します。
  • ネットワークプロトコルを変換し、新しいクライアントが古いサーバーに参加したり、その逆を可能にします(互換範囲はインストールされている ViaVersion のビルドやオプションのアドオンによって異なります)。
  • 追加のサポートを拡張するための任意の補助プロジェクト/アドオンとして、ViaBackwards と ViaRewind があります。
  • 動作を調整したり、悪用の試みを軽減したりするための設定オプションとパケット制限機能があります。
  • トラブルシューティング用に実行時情報を収集する診断コマンドと dump コマンドを提供します。

🧩 対象

  • サーバーをすぐに更新せずに、複数の Java Edition クライアントバージョンをサポートしたいサーバー運営者。
  • プロキシ(例: Velocity)を使い、バックエンドサーバー間でバージョンをまたいだ接続が必要なネットワーク運営者。
  • プロトコル変換レイヤーや ViaVersion API へのアクセスが必要なプラグイン開発者や統合担当者。

🏗️ 使用例

  • Survival/PvP サーバーが安定した Paper ビルドのまま、新しいクライアントのプレイヤーも参加できるようにする。
  • プロキシネットワークがプロキシまたはバックエンドサーバー上で ViaVersion を使い、異なるクライアントバージョンのプレイヤーがネットワークに参加できるようにする。
  • 開発者が ViaVersion API アーティファクトを使って、カスタムプラットフォーム実装にプロトコル変換を組み込む。

⌨️ コマンド

CommandDescriptionPermissionAccess
/viaversionプラグインのバージョンと利用可能なコマンドを表示します。viaversion.admin管理者
/viaversion autoteamautoteam を切り替えます(1.8 の衝突機能)。viaversion.admin管理者
/viaversion debugデバッグモードを有効にします(トラブルシューティング用)。viaversion.admin管理者
/viaversion displayleaksNetty ResourceLeakDetector を有効にします(診断用)。viaversion.admin管理者
/viaversion dontbugmeログイン時/コンソールでの更新通知メッセージを切り替えます。viaversion.admin管理者
/viaversion dumpサポートチーム向けの診断 dump を出力します。viaversion.admin管理者

🔐 権限

PermissionDescriptionDefault
viaversion.adminViaVersion の管理コマンドと診断機能へのアクセスを付与します。op
viaversion.command.<subcommand>(新しいバージョンで使用)個別の ViaVersion サブコマンドへのアクセスを付与します。未指定

⚙️ インストール

📥 セットアップ

  • ご利用のプラットフォーム向けの公式 ViaVersion プラグイン jar をダウンロードし、サーバーまたはプロキシの plugins/ ディレクトリに配置します。
  • サーバーを起動し、コンソールでプラグインが正常に読み込まれたことを確認します。
  • プロキシ(例: Velocity)を使っている場合は、希望する変換ポイントに応じて、プロキシ側かバックエンドサーバー側のどちらかに ViaVersion をインストールします(両方である必要はありません)。

📦 依存関係

  • 基本動作に必須の外部プラグイン依存関係はありません。任意の補助プロジェクト(ViaBackwards、ViaRewind)はバージョン対応を拡張し、別配布されています。

🧾 設定

  • ViaVersion には、パケット制限、デバッグ、その他の動作を調整するための設定オプションがあります(公式ドキュメントでは config.yml として案内されています)。

🧠 技術メモ

  • 確認済みのサーバープラットフォーム: Paper(および CraftBukkit/Spigot 互換サーバー)と Velocity。Fabric、Forge、Bungee、Sponge 向けの統合プロジェクトもあります。
  • 公式ビルドには Java 17 以上が必要です。
  • 互換範囲はビルドによって異なります。ViaBackwards と ViaRewind を使うと、古いクライアントバージョンのサポートを拡張できます。
  • このプロジェクトは開発者向けの API アーティファクトを公開しており、Hangar、Modrinth(mod 向け)、GitHub でリリースを公開しています。

🤝 このプラグインが役立つ場面

異なる Minecraft Java クライアントバージョンのプレイヤーが、サーバーをすぐにアップグレードせずに 1 つのサーバーやネットワークへ接続できるようにしたい場合、ViaVersion は保守されているプロトコル変換レイヤーと関連ツールを提供し、さらに開発者向けの診断機能と拡張ポイントも備えています。

プラグイン ViaVersion のサーバー

プラグイン ViaVersion のページには、モニタリングがこのプラグインを確認したサーバー、使用されているプラットフォームとバージョンが表示されます。

プラグインはコマンド、経済、保護、アクセス権、ミニゲーム、連携、その他のメカニクスを追加できます。ViaVersion の実際の役割はサーバーごとの設定によります。

データはサーバーの技術応答から自動生成されます。サーバーがプラグイン一覧を非公開にしている場合、ViaVersion を使用していてもこのセクションに表示されないことがあります。

ViaVersion を使用するサーバーの一覧を使って、プロジェクトを比較したり、対応バージョンを確認したり、公開サーバーでのプラグイン使用例を見つけたりできます。