結論
Heroku無料版のmemoryは512MBしかなく、Minecraftを動かすのはしんどい。
あまりこの点を気にせずに色々試してみたのですが、結局ここにぶち当たりました笑
同じ目にあう人が出ないようにメモを残しておこうと思います。
同じくMinecraftサーバにHerokuを使ってみたい人や、1.17へのバージョンアップに詰まっている人の参考になれば幸いです。
※6年ぶりにMinecraftを再開したので、内容に不備があるかもしれません。
Minecraft1.17リリース
Minecraft1.17が2021/6/9にリリースされました!
僕自身は6/8にマイクラに復帰し、マルチプレイ用にMinecraftサーバを立てるべく、Herokuを使ってみようとしました。
サーバ構築手順
基本的には以下のページの通りに進めるだけです。
動画版もあったので、上記ページがわかりづらい方はこちらも参考にしてみるといいかもしれません。
注意点
上記の手順で進めていたのですが、2点注意点がありました。
- 上記手順はバージョン1.16.5にしか対応しておらず、自分で1.17に上げる必要がある
- 1.17はJava16をベースにしているが、HerokuのデフォルトはJava8である
それぞれの対処法を説明します。
対処
1.17にバージョンアップ
- 以下のページから1.17のjarファイルをダウンロード
- 手順に従ってzipファイルを解凍すると、そのルートディレクトリに
server.jar
というファイルがあるので、1.でダウンロードしたものと差し替える- 差し替え後のファイル名も
server.jar
にすること
- 差し替え後のファイル名も
- commit&push
Java16にバージョンアップ
- 解凍したルートディレクトリに、
system.properties
ファイルを作成 - そこへ以下のように記述
java.runtime.version=16
'3. commit&push
【参考】
https://devcenter.heroku.com/articles/java-support#specifying-a-java-version
対処後
上記対処を行ってデプロイしてみたら、メモリが足りなくて死にました笑
1.16.5のデプロイも最初に試しており、そちらはギリギリ起動に至ったのですが、1.17は10回くらいデプロイ試してもダメでした。。
Java16になったからでしょうか。(適当)
後は構築手順のアップデートを待つしかなさそうです。
ちなみに、こんな感じで死にました。
2021-06-10T01:13:25.767348+00:00 heroku[web.1]: Error R14 (Memory quota exceeded)
2021-06-10T01:13:45.212174+00:00 heroku[web.1]: Process running mem=1009M(197.2%)
2021-06-10T01:13:45.223948+00:00 heroku[web.1]: Error R14 (Memory quota exceeded)
2021-06-10T01:14:05.224578+00:00 heroku[web.1]: Process running mem=1077M(210.5%)
2021-06-10T01:14:05.226889+00:00 heroku[web.1]: Error R15 (Memory quota vastly exceeded)
2021-06-10T01:14:05.230830+00:00 heroku[web.1]: Stopping process with SIGKILL
2021-06-10T01:14:05.286559+00:00 app[web.1]: Error waiting for process to terminate: No child processes
2021-06-10T01:14:05.480845+00:00 heroku[web.1]: Process exited with status 22
2021-06-10T01:14:05.601589+00:00 heroku[web.1]: State changed from up to crashed
感想
Heroku無料版だとmemoryが512MBしかなく、dyno立ち上げ時にcrashするので実用的ではないですね。。
おとなしく、Conaha VPSを契約した方が良さそうです。
(6/9時点だとConohaがマイクラメジャーアップデートに対応中で利用できず、迂回策でHeroku使ってみたけどダメだった笑)
それかAWSもありかもしれない。
コスパがConahaと比べてどうか次第ではありますが。
さいごに
Twitterの方でも、エンジニアに関することを発信しているので良かったらチェックしてみてください!
HerokuでMinecraftサーバを立てようとした話をQiitaにまとめました😇
— やぎぬ😇QOL追求エンジニア (@yagi_eng) June 10, 2021
⬇️HerokuでMinecraft1.17を始めようと思ったけど無理だった話https://t.co/czcz7vuetV
6年ぶりくらいにMinecraftに復帰して、サーバを立てようとしたのですが、ちょうどメジャーアップデートがあって色々苦労しました😭