Agones でMinecraftサーバーを建ててみた話

Agones で minecraft サーバーを立てる

kubernetes の練習として、Agones を使い、Minecraft(Java)のサーバーを建てます。

スケールがしやすいことから大規模なゲームサーバーに向いているようです。

今回はできなかったのですが、接続しているプレイヤーの人数が取れたり、サーバー管理しやすいのかなって印象です。

今回は個人で minecraft を遊ぶサーバーなので、ちょっと大げさですが、お勉強なので。

環境

参考: https://github.com/saulmaldonado/agones-minecraft/

kind v0.23.0 go1.22.3 darwin/amd64

サーバーの要件はこちら

https://minecraft.fandom.com/ja/wiki/Java_Edition_%E3%83%8F%E3%83%BC%E3%83%89%E3%82%A6%E3%82%A7%E3%82%A2%E8%A6%81%E4%BB%B6

ローカルの PC(A) でサーバーを立てて、別のローカルPC(B)でPC(A)に建てたサーバーに接続します

Docker Desktop に割り当てているリソースはこのくらいです

頑張れ PC

前提

・kind https://kind.sigs.k8s.io

・Kubernetesのうっすらとした知識

・Minecraft Java版 接続確認に使用します

Agonesのオブジェクト

こちらで簡単に説明してくれています。

https://medium.com/google-cloud-jp/agones-beginner-jp-5a6553e7e9a4

作業開始

まずはkindでkubernetesを建てます。

その後はhelm を使って Agones をインストールします

https://agones.dev/site/docs/installation/install-agones/helm

リソースがあることを確認できます

サーバー作成

k8s/gameserver.yaml

k8s/service.yaml

上記ファイルを用意してApplyします

GameServerファイルをapplyするとGameServerが作られていきますね

GameServer の STATE は画像の通り

PortAllocation Createing Starting Scheduled RequestReady Ready になるはず。

Scheduledでも接続が行えましたので、このまま進めます。

agonesのSTATEのフロー図



サービスができた後、ポートフォワーディングを行います。ポード番号は適当なので自由に変えてください。

サーバーに接続する

ソフトの入っているPC(B)でMinecraftを起動して、サーバーに接続します。

サーバー接続画面

すると、、

接続完了の画面

繋がりました!!!とりあえず安心。

残点

この状態のままだとデータの保存も読み込みもされません。

sidecar や init を使って保存やロードできるようにする必要があったりします。

私はMinecraftはサバイバルで遊ぶので、サーバーが落ちるたびにリセットされるのは厳しいですね。

この投稿へのコメント

コメントはありません。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


この投稿へのトラックバック

トラックバックはありません。

トラックバック URL