>_ DevTrendsja

言語

ホーム

言語

セクション

フロントエンド バックエンド モバイル DevOps AI / ML ゲーム開発 ブロックチェーン 組み込み セキュリティ
Java

Geyser:Minecraft Java版とBedrock版の架け橋――境界なく一緒にプレイしよう!

5,655 スター

身に覚えありませんか?あなたも友達もMinecraftが大好きで、でも誰かはPCでJava版をプレイしていて、別の誰かはスマホやゲーム機でBedrock版をプレイしている。そしてここからが問題です:同じサーバーで一緒にプレイするにはどうすればいいの?直到最近、これは複雑な設定が必要だったり、ゲームの別バージョンを購入したりしなければならなかった、本当の課題でした。でも、こんな素晴らしい解決策があるとしたらどうでしょう?それはまさにこの2つの世界を橋渡しするものであり。

今日は、Minecraftのクロスプラットフォームプレイを現実のものにしている素晴らしいオープンソースプロジェクト、Geyserの世界に飛び込んでみましょう。想像してみてください:あなたの友達がPlayStation 5で、エピックな城を建てているあなたの好きなJavaサーバーに легко参加できる夢を。魔法のように聞こえますよね?実は、これは純粋なエンジニアリングです!

Geyser

Geyserとは?なぜ必要なのか?

Geyserの本質はプロキシサーバーです。でも、IPを隠すようなものではなくて、あるMinecraftバージョンの「言語」を別のバージョンの「言語」に翻訳するプロキシです。Minecraftプロトコル間——Bedrock版とJava版の——翻訳者として機能します。このプロジェクトの主な目標は、Bedrock版のユーザーがJava版サーバーにできるだけシームレスに接続できるようにすることです。

誰が使うの?ほぼ全員です!

  • サーバー所有者:Javaサーバーの観客を拡大したいですか?Geyserは数百万人のBedrockプレイヤーに門戸を開きます。
  • プレイヤー:ついに友達がどのプラットフォームでMinecraftをプレイしているかに関係なく、一緒にプレイできるようになりました。もう「私はJava版、あなた Bedrock版だから一緒にプレイできない」とは言わずに済みます。
  • プラグイン/ mods開発者:GeyserはJavaサーバーに何も変更を加える必要はありません。単に「接続」してデータをストリーミングします。

Geyserの主な機能:妥協なしでプレイ

Geyserは単なる「回避策」ではありません——かなり高度なソリューションで、常に進化しています。では、何ができるのか見てみましょう:

1. 真のクロスプラットフォームプレイ

これがもちろん主な機能です。GeyserはBedrock版のプレイヤーが事実上あらゆるJavaサーバーに接続できるようにします。データパケット、ブロック、アイテム、エンティティ、さらにはチャットを2つの異なるプロトコル間で翻訳します。あなたがロシア語を話していて、会話相手が英語を話していて、その間に同時通訳者がいてコミュニケーションを可能にしている状況を想像してみてください。GeyserはMinecraftのためのその同時通訳者です。

2. 幅広いバージョンサポート

Geyserの開発者は両方のMinecraftバージョンのアップデートに常に追いついています。この記事の執筆時点で、GeyserはMinecraft Bedrock 1.21.90から1.21.130まで、Minecraft Java 1.21.9から1.21.10までサポートしています。つまり、最新の互換性を安心して使えます。

3. インストールと設定の容易さ

Geyserを実行するためにシステム管理の達人である必要はありません。公式サイトには詳細なインストール手順があります。スタンドアロンのプロキシとして、BungeeCord、Velocity、Spigot、Paper、またはFabricのプラグインとして実行できます。これにより、デプロイの柔軟性が大幅に向上します。ところで、自分でデプロイする前にすべてを試せるテストサーバー(Java用ポート 25565 とBedrock用 19132test.geysermc.org)すらあります。

4. アクティブなコミュニティと開発

このプロジェクトはコミュニティによって積極的にメンテナンス・開発されています。放置されたアイデアではなく、生きた有機体です。Discordサーバーの存在とオープンな開発プロセスは、チームの本気の意思を物語っています。GitHubでの5,000以上のスターがその証拠です。

内部のぞき:どのように動作するのか?

Geyserはプロキシとして動作するJavaアプリケーションです。BedrockプレイヤーがGeyserに接続すると、Geyserはそのプレイヤーに代わって対象のJavaサーバーへの接続を確立します。そして、双方向に流れるすべてのネットワークパケットを傍受し、BedrockプロトコルからJavaへ、そして逆に翻訳します。

これはかなり複雑なタスクです。Minecraft BedrockとJavaは表面的には似ていますが、「内部」では大きな違いがあります:

  • データ形式:ブロック、アイテム、エンティティは異なる識別子とデータ構造を持っています。
  • ゲームメカニクス:レッドストーンや水流の物理演算など、一部のメカニクスは異なる場合があります。
  • インターフェース:インベントリ、メニュー、チャットメッセージ。

Geyserの開発者はこれらのタスクを解決するためにいくつか重要なライブラリを使用しています:

モジュラーアーキテクチャとアクティブなプロトコル作業のおかげで、Geyserは常に改善されています。当然ながら、制限はあります——完璧な動きや特定のエンティティフラグなど、まだ作業が必要だったり、バージョ間の根本的な違いにより実装不可能なものがいくつかあります。しかし、チームは常にこれらの問題を最小限に抑えるに取り組んでいます。

貢献したい場合やソースからプロジェクトをビルドしたい場合は、簡単です:

  1. リポジトリをクローン: git clone https://github.com/GeyserMC/Geyser.git
  2. サブモジュールを更新: git submodule update --init --recursive
  3. プロジェクトをビルド: gradlew build(結果は bootstrap/build にあります)

実践的な応用:すべての人のための壁を取り除く

大きなMinecraft Javaサーバーを管理していると想像してみてください。Geyserを追加することで、即座にBedrock版プレイヤーの巨大な観客にサーバーを開放します。これはアクティブユーザーの増加だけでなく、コミュニティをよりインクルーシブにします。

あるいは、子供たちがタブレットでプレイ,而你却在电脑上。Geyser让每个人都能聚集在一个地方,无需购买多份Java版或强迫任何人切换到不方便的平台上。

私の実践では、朋友が一緒にプレイしたがっても版本不同的的情况に頻繁に遭遇します。Geyserはこれを優雅かつ効果的に解決します。それはどんなデバイスでもどのコンセントにも差し込める универсальный адаптерのようなものです。

結論:Geyserを試す価値はあるか?

もちろん、あります!Minecraft版本不兼容的问题に曾经遇到过なら、Geyserはまさに必要なものです。それは単なる「GitHub上の又一个プロジェクト」ではなく、世界中の何百万ものプレイヤーが一緒にプレイできるようになっている、完全に発達している解決策です。

次のような場合に最適です:

  • 観客を拡大したいサーバー管理者
  • プラットフォームに関係なく朋友とプレイしたいプレイヤー
  • プロトコルエンジニアリングとクロスプラットフォームソリューションに興味がある愛好家

詳細については、公式サイトまたはドキュメントをチェックして、今すぐGeyserを使い始めましょう。Minecraftの世界はさらに近づいています!

関連プロジェクト