もともとはGCP[GoogleCloudPlatform]というサービスの勉強がしたかったことが始まりでした。
何かいい題材ないかなぁと思っていたところ、昔ハマッていたマインクラフトに思い至りました。
GCPには無料体験期間が6か月あるのですが、ずいぶん前に軽く試して終わってしまっていた(無料で使えるクレジット[300$]が全然使い切れてなかった もったいない…)ので、それでも無料で使える無料枠なるものでできないかと試してみました。
- f1-micro(vCPU x 1、メモリ 0.6 GB)
- debian-10-buster-v20210217
- HDD 30GB
上記構成で試してみたものの、マインクラフトのサーバー起動時に処理が停止、
ログを見ると、メモリ不足で起動していない模様。
freeこまんどやらps auxこまんどやらで見るとCPU使用率はそうでもないものの、メモリがパンパン…
(無料枠内でゾーンをどれにするかでさんざん悩み結局us-west1-b[オレゴン]にしたものの、要らぬ努力となった。なんて話も)
それじゃあ、と有料プランを検討。
ブログ・まとめサイトを歩き回り以下の構成に決定。
- e2-standard-2(vCPU x 2、メモリ 8 GB)
- centos-stream-8-v20210302
- HDD 20GB
(今回のゾーンはus-west1-b[東京]、いやーやっぱ日本はいいね)
無事、サーバーは動きました。
サーバー動かすのにjava(JDK/JRE)が必要で、調べたらyumコマンドでインストールの記事が多かったのにコマンド使えない><。aptコマンドでyumインストール、まで行ったところで、あれ_?aptコマンドじゃいけないのか?…いけるやん。と。
マインクラフトのサーバー本体は一度自分のPCに落としてGCP ConputeEngineコンソールからGUIで転送しました。
最初はバニラで、、、うごいた!のですが、
せっかくだし昔気になってたプラグインサーバー立ててみようかと、
調べると今はBukkitよりSpigotなるサーバーが主流みたいですね。
ってことで導入方法を調べてみました。
gitからBuildTools.jarファイルもらって自分でビルド(著作権対策らしい)
javaコマンドはなんやかんやして手に入れたヤツで実行です。
でもリモートコンソールだからウィンドウ閉じたらログ確認もコンソール入力もできない!?
という問題は、リアルタイムはtailコマンドでログファイル参照、
コマンドはゲーム内部から干渉、でなんとかなりそうです。
ポート開放の設定はGCPコンソールから
上り下りどう設定しようかとなるべく最小限にとどめました。
じゃあ次は、ドメイン設定と行こうかと。
新規にお名前.comで取得したドメインをDNS設定。
今回はサブドメインのみ使用することにしました。(理由は後程)
無事、サブドメインでも接続確認。
Webブラウザでマップが見れるDymapプラグインを入れてみたい。
ってことで調べて入れたものの、デフォルトでは8123ポートを使用する模様。
そのままポート開放してもよかったのですが、
サブドメイン直入力で表示できるようにならないかと、四苦八苦。
http://サブドメイン/ : ようこそ
http://サブドメイン/dynmap : Dynmmap
最終的に上記の設定に落ち着きました。
リバースプロキシの設定などなんやかんやはこの辺で行いました。
Nginexを使用して、実行権限がどうとかやたら怒られましたw
Nginexのログファイルも追っかけながらエラー調べながらの作業になりました。
403やらBadGatewayやら、ネットワーク関連の知識が少しは深まったかなと。
何とか目的の挙動に落ち着いて一安心です。
コメント