【Minecraft】Docker を使った Spigot 鯖の構築手順
■ 目次
■ 目次1. はじめに2. 事前準備2.1. オンプレミスの場合のみ2.2. ポート公開一覧3. 環境構築3.1. 必要パッケージのインストール3.2. Docker のセットアップ3.3. Docker Compose のセットアップ3.4. SSL のセットアップ3.5. Minecraft のセットアップ■ 各項目に対する軽い解説4. Minecraft Server コマンド5. オプション編5.1. 自動起動/停止の設定5.2. Dynmap を HTTPS で見たい5.3. ルーターが再起動して IP が変わった時の自動化5.4. NewRelic の導入手順
1. はじめに
オンプレミス環境を想定していますが、クラウドサービス内でも構築可能です。
その場合は、インストール等のコマンドが多少変わったりします。(随時ググってください。)
ゴールとしては、Docker コンテナの中で Minecraft サーバーを稼働して、ホストの中で Nginx を動作させます。
2. 事前準備
2.1. オンプレミスの場合のみ
SELinux と Firewall は無効にします(必要な場合は、別途準備が必要です)。
2.2. ポート公開一覧
- 80 : Certbot を実行する際に必須
- 443 : HTTPS ポート
- 25565 : Minecraft ポート
3. 環境構築
随時自分にあった物を入れてください。
3.1. 必要パッケージのインストール
- システムのアップデート
- 必要なパッケージのインストール
- Python 3 系統
- Git
- Nginx
- Docker インストールと起動
3.2. Docker のセットアップ
- Docker バージョン確認
- Docker Login をセットアップ
3.3. Docker Compose のセットアップ
- docker-compose のダウンロード
- バージョンにあったものをDL -> https://github.com/docker/compose/releases/
- アクセス権限を付与
- 一般ユーザーでも操作出来るように操作
- ユーザー名 : ec2-user など
3.4. SSL のセットアップ
- シンボリックリンクの設定
- index.html ファイルを適当な場所に設置
- 証明書を取得
3.5. Minecraft のセットアップ
- docker-compose ファイルの作成
- ファイルを定義
■ 各項目に対する軽い解説
- EULA: “”
- 同意
- VERSION: “”
- プレイしたいバージョン
- TYPE: “”
- プレイしたいタイプを選択
- MAX_MEMORY: “”
- どれだけメモリを割り当てるかを指定
4. Minecraft Server コマンド
起動コマンド
停止コマンド
5. オプション編
ココからは、完全にオプションです。
5.1. 自動起動/停止の設定
作業とバックアップディレクトリを作成
- 起動スクリプトの準備
- (使っていない)
- 停止スクリプトの準備
- (使っていない)
- バックアップスクリプトの準備
- ログの削除スクリプトの準備
- Cron の設定
- 【0時】と【12時】に再起動
- 00:00/12:00 : サーバー停止
- 00:03/12:03 : バックアップ
- 00:08/12:08 : ログファイルの削除
- 00:10/12:10 : サーバー起動
5.2. Dynmap を HTTPS で見たい
- HTTPS へ強制リダイレクト用のファイルを準備
- HTTPS ファイルの準備
5.3. ルーターが再起動して IP が変わった時の自動化
5.4. NewRelic の導入手順
- docker ファイルの準備
- ライセンスキー用のファイルを準備
- docker-compose の編集