無料でMinecraftサーバーをホストする
https://gyazo.com/88d8ae5a9f7663c087a283bd739a159f
昔から色々な無料ホストの手段が出現しては消えていったMinecraftサーバーだが、数人で遊ぶぐらいであれば耐えそうな無料枠が生えてきたので試してみた。今回利用するサービスはmogenius。 先に書いておくが、割とConnection reset by peerが起こって安定して遊ぶのは難しそうだった
https://gyazo.com/928f31474f4f3b820eacc67840c85d78
1. 登録する
電話番号でSMS認証が必要。
2. テナント(Cloudspace)を作る
テナントはFreeプランが1ユーザーに1つ無料
https://gyazo.com/b51ec444dbcdf3f127625123e4c28b23
このリソースをテナント内のサービスで共有する
3. サービスを作る
「Bring your own code」を選択、予めプライベートリポジトリをGitHubに作っておき、連携し、選択する https://gyazo.com/2f8ba3a2b170ffe4a2200c67a6c6c863
リポジトリの中には以下のようなDockerfileを配置する。
code:Dockerfile
FROM itzg/minecraft-server:latest
ENV EULA=true
EXPOSE 25565
USER 1000
このイメージを使用する
ポートとデータを永続化するための設定をする
https://gyazo.com/181a6e5a0ac63e35a13f566d726746fa
ポート25565を露出するように設定
環境変数を以下のように設定
table:env
VOLUME_MOUNT VOLUME-MOUNT minecraft-data /data
CHANGE_OWNER CHOWN 1000 1000 /minecraft-data
スペックの設定
https://gyazo.com/567b139f2d4cc02d854f9116522bfec1
Minecraftは最初のワールド生成が結構重いので、最初はリソースをすべて割り振っておいてもいいかもしれない
https://gyazo.com/2258be76c89eb88c2719779cc81d792f
テンプレートに生えていそうに見えるが、最小スワップが不足しており使うことが出来ない
4. 接続する
https://gyazo.com/928f31474f4f3b820eacc67840c85d78
作成してしばらくするとこのような感じになるので、tcp-mo1...のアドレスをMinecraftに入れて接続してみる
https://gyazo.com/88d8ae5a9f7663c087a283bd739a159f
Pingは遠めだが少し遊ぶぐらいでは特に問題は感じなかった