Minecraftのproxyについて
Posted:
proxyについて 2024/08/11時点
【マイクラ】複数サーバー間を移動できるサーバーの立て方【BungeeCord/Velocity対応】 - 揚げポテほかほかクラフト を参考にした いくつかのプロキシサーバがある。BungeeCord・Waterfall・Velocity・Lightfallなどがある。 LightfallはMohistというサーバーに対応している。
Lightfallにしたいところだが、2024/08/11時点だと2点の点で避けた(将来的には使いたい)
- まだベータ版
- https://github.com/itzg/docker-bungeecord がまだLightfallに対応していない
- これは私がコンテナで動かしたいためで、そうでなければ問題ない
- いずれ解決すると思うが、その時まで待つ
という訳でVelocityを選択した。
velocity について
Modを導入する場合、ProxyとMinecraftのサーバの組み合わせのパターンには注意が必要。 (Vanilla以外のMinecraftサーバがいくつかあるので)
Server Compatibility | PaperMC Docs に対応するサーバ種別とバージョンの対応表があった
個人的にはForge対応のModを導入したい。
Minecraft Forge (1.13 and above)
Velocity as of version 3.3.0 supports Forge servers of versions higher than 1.20.2. Support for intermediate versions between 1.13 and 1.20.1 is not planned, however, you can use the Ambassador plugin to support these versions.
To add modern forwarding support to Forge, you must install the ProxyCompatibleForge or SpongeForge mod orresponding to your server version. Note that SpongeForge is currently in an experimental phase of its Forge support for 1.20.4 versions.
バージョン 3.3.0 の Velocity は、1.20.2 以降のバージョンの Forge サーバーをサポートします。
1.13 と 1.20.1 の間の中間バージョンのサポートは計画されていませんが、
Ambassador プラグインを使用してこれらのバージョンをサポートできます。
最新の転送サポートを Forge に追加するには、
サーバーのバージョンに対応する ProxySupportForge または SpongeForge MOD をインストールする必要があります。
SpongeForge は現在、1.20.4 バージョンの Forge サポートの実験段階にあることに注意してください。
現状、Forgeのバージョンを1.20.2以降のバージョンがサポートされている
【マイクラ】複数サーバー間を移動できるサーバーの立て方【BungeeCord/Velocity対応】 - 揚げポテほかほかクラフトによるとVelocityはMohistMCには対応してないとのこと。 (MohistMCに対応するには将来的にはLightfallを使うことになるかもしれない)
つまり2024/08/11時点ではVelocity + Forge(1.20.2以降のバージョン)の組み合わせで構築する
Velocityから接続するForgeサーバーの設定
Minecraft Server on Docker (Java Edition) が参考になる。 以前はGitHub - itzg/docker-minecraft-server: Docker image that provides a Minecraft Server that will automatically download selected version at startup のトップページに環境変数のサンプルが列挙されてたような記憶があるがサンプルが増えたのでGithubのファイルで確認するようになったようだ。
サンプルがめっちゃある docker-minecraft-server/examples at master · itzg/docker-minecraft-server · GitHub シンプルなForgeのサンプルは docker-minecraft-server/examples/docker-compose-forge.yml at master · itzg/docker-minecraft-server · GitHubこの辺りだろうか。
velocity の設定
[Working with mods and plugins - Minecraft Server on Docker (Java Edition)](https://docker-minecraft-server.readthedocs.io/en/latest/mods-and-plugins/)
を見るとDockerだとmodsの管理が楽になりそう。
# ForgeとCurseForgeの違いって何?
良くわからない... 環境変数の切り替えだけでできるのだが、何が変わるんだろう
- FORGEの例
- [docker-minecraft-server/examples/docker-compose-forge.yml at master · itzg/docker-minecraft-server · GitHub](https://github.com/itzg/docker-minecraft-server/blob/master/examples/docker-compose-forge.yml)
- CURSEFORGEの例
- [docker-minecraft-server/examples/docker-compose-curseforge.yml at master · itzg/docker-minecraft-server · GitHub](https://github.com/itzg/docker-minecraft-server/blob/master/examples/docker-compose-curseforge.yml)
- [Auto CurseForge - Minecraft Server on Docker (Java Edition)](https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/mod-platforms/auto-curseforge/)
- Auto CurseForge を使うとAPIキーが必要だが、これを使うと自動でMODをダウンロードしてくれる
- [Manual CurseForge server packs - Minecraft Server on Docker (Java Edition)](https://docker-minecraft-server.readthedocs.io/en/latest/types-and-platforms/mod-platforms/curseforge/)
- 手動でMODをダウンロードする場合
なるべく手軽にAPIキーとか使わずにやりたい... Forgeでダウンロードする方法が無いかな
- https://docker-minecraft-server.readthedocs.io/en/latest/mods-and-plugins/#modsplugins-list
環境変数 PLUGINS にMODのURLを入れるとダウンロードしてくれるらしい
私が使いたいmod https://www.curseforge.com/minecraft/mc-mods/cc-tweaked/download/5582997 にあるが、直接jarファイルのURLではない。
APIキーを使うべきか、直接modを配置すべきか? 今回は直接modを設置することにする。
( APIキーをterraformに入れない方法が見つかったら試してみたい )
# いつVelocityの検証を再開するか?
バージョン 3.3.0 の Velocity は、1.20.2 以降のバージョンの Forge サーバーをサポートします。 1.13 と 1.20.1 の間の中間バージョンのサポートは計画されていませんが、 Ambassador プラグインを使用してこれらのバージョンをサポートできます。 最新の転送サポートを Forge に追加するには、 サーバーのバージョンに対応する ProxySupportForge または SpongeForge MOD をインストールする必要があります。 SpongeForge は現在、1.20.4 バージョンの Forge サポートの実験段階にあることに注意してください。
cc-tweekedのMODのバージョンが現在、1.20.1までで、Velocityのデフォルトでは対応できない。
これが対応できるようになったら検証を再開する。
# 検証が必要な設定
player-info-forwarding-mode = "legacy"
- 参考
- <https://blog.kmdkuk.com/2021/11/23/minecraft-server%E3%82%92kubernetes%E4%B8%8A>
-
- <https://github.com/haveachin/infrared%E3%81%AB%E8%A4%87%E6%95%B0%E7%AB%8B%E3%81%A6%E3%82%8B%E6%96%B9%E6%B3%95.html>
- Goで書かれた軽量なプロキシ