はじめに
ここでは自宅のPCでマイクラ鯖を立ち上げる手順を記載しています。
Windows PCを想定していますが、古いPCがある場合はOSが無料なUbuntuなどのLinux系OSでサーバー構築してしまうと良いでしょう。
要求スペック
インターネット回線 | 1Gbps以上 |
接続形態 | 有線接続 |
ルーター | ポート転送機能あり |
使用するアプリケーション | Docker Desktop |
OS | Windows / Linux / Mac |
BIOS | AMD IOMMU または INTEL VT-d を有効にする |
CPU | AMD or INTEL 64-bit 4コア以上 |
RAM | 最低16GB以上。32GB以上推奨。 |
SSD | 256GB以上の空き容量 |
Docker Desktop for Windows のインストール
行程を簡略化するため、ここでは Docker イメージを2つ(サーバーとバックアップ)使用します。
Docker イメージを使用するために、ここでは統合されたエコシステムとして Docker Desktop を使用します。
Docker Desktop は、個人利用であれば無償で利用できます。
以下のページの手順に沿ってインストールしましょう。
インストール手順:https://docs.docker.jp/desktop/install.html
色々書かれているけど、Docker Desktop Installer.exe を実行するだけです。
Docker Compose ファイルの作成
以下のzipをダウンロードして解凍し、env.txt を自分好みに編集してください。
env.txt
# OS
TZ: "Asia/Tokyo"
LANG: "ja_JP.UTF-8"
LANGUAGE: "ja_JP"
# JVM
MEMORY: 10G
# Server
EULA: "TRUE"
TYPE: "PAPER"
#VERSION: "1.20.1"
ENABLE_ROLLING_LOGS: "true"
# RCON
ENABLE_RCON: "true"
RCON_PASSWORD: "xxxxxxxxx"
RCON_PORT: 25575
# server.properties
OVERRIDE_SERVER_PROPERTIES: "TRUE"
SERVER_NAME: "My Server"
MOTD: "My World"
DIFFICULTY: "normal"
ENABLE_WHITELIST: "TRUE"
ENFORCE_WHITELIST: "TRUE"
MAX_PLAYERS: "100"
MAX_WORLD_SIZE: "29999984"
ALLOW_NETHER: "true"
ENABLE_COMMAND_BLOCK: "true"
FORCE_GAMEMODE: "true"
GENERATE_STRUCTURES: "true"
HARDCORE: "false"
SNOOPER_ENABLED: "false"
SPAWN_ANIMALS: "true"
SPAWN_MONSTERS: "true"
SPAWN_NPCS: "true"
SPAWN_PROTECTION: "0"
SEED: ""
MODE: "survival"
PVP: "true"
LEVEL: "world"
LEVEL_TYPE: "default"
ONLINE_MODE: "TRUE"
ALLOW_FLIGHT: "TRUE"
VIEW_DISTANCE: "12"
SIMULATION_DISTANCE: "8"
NETWORK_COMPRESSION_THRESHOLD: "-1"
# Backup
BACKUP_INTERVAL=24h
起動テスト
初回のみ、以下の事前設定をお願いします。
1)PowerShellを管理者モードで開く。
2)下記のコマンドを実行したら、ウィンドウを閉じて完了。
Set-ExecutionPolicy RemoteSigned -Force
上記のテキストをクリップボードにコピーして、PowerShell のウィンドウ上で右クリックするとペーストされるので、Returnキーを押して完了です。
解凍したファイルの〇〇.ps1を、どれでもいいので、1つ選択してください。
ALT+ENTERを押してプロパティを開き、プログラムの変更ボタンを押してください。
「PCでアプリを選択する」を選んでください。
以下のテキストをコピーして、ファイル選択ダイアログのファイル名にペースト(CTRL+V)してください。
%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe
現れた「Windows PowerShell」を選択し、「既定値を設定する」ボタンを押してください。
以上で、ダブルクリックで直接実行されます。
start.ps1 を実行してください。内部的に以下のコマンドを実行しています。
docker compose up -d
終了する時は、stop.ps1 を実行してください。
内部的には以下のコマンドになっています。
docker compose down
停止と再起動であれば、Docker Desktop の GUI から操作する事も可能です。
コンテナの一覧に、mc と mc-backup がある事を確認しましょう。
ローカルでの接続テスト
自分自身に op 権限を付与しておきましょう。(mc のコンテナが起動している事)
docker exec mc rcon-cli op Muscle_p
Muscle_p は、プレイヤー名です。自分のプレイヤー名に変えましょう。
ホワイトリストに登録しておく場合は、以下のコマンドになります。
docker exec mc rcon-cli whitelist add Muscle_p
マイクラを起動し、Docker Desktop が動いているPCのIPアドレスに接続してください。
同じPC上で接続を試す場合は、localhost という名前で接続できますが、他のPCから接続する場合は、Docker Desktop が動いているPCのIPアドレスを直接指定してください。
IPアドレス(IPv4)を調べる方法は、「ネットワーク設定とインターネット設定」の接続プロパティの詳細情報を確認するか、ipconfig コマンドなどを利用してください。
外部から接続してみる
ルーターに対し、ポート転送を設定しましょう。(ルーター毎に異なりますので、マニュアルを確認してください。)
インターネット側のTCPプロトコル「25565」番ポートへの接続を、Docker Desktopが動いているPCのプライベートIPアドレスの25565番に転送しましょう。
公開するサーバー名を決める
無料DDNSサービス:https://ddns.kuku.lu/
このサイトで好きなサブドメインで新規登録し、その名前で接続できる様にしましょう。
グローバルIPアドレスは、ルーターの再起動やインターネットプロバイダーの都合でコロコロ変わります。
その度に、マインクラフトの接続するアドレスを設定するのは面倒なので、DDNSサービスを利用して自分のグローバルIPアドレスを、登録した名前で更新しましょう。
定期的に更新する方法は、サイトのマニュアルから好きな方法を選んでください。
グローバルIPアドレスの隠匿化を行っていないため、接続アドレスを公開すると、DDoS攻撃等が発生する可能性があります。発生した場合は、ルーターを再起動してグローバルIPを更新してください。
24時間ずっとオープン状態にする事もできますが、サーバーは見守れる範囲で起動する事をお勧めします。
プラグイン
plugins フォルダに、spigot や paper で使用できるプラグインのファイルを配置する事で、利用できます。
プラグインの設定ファイルは、初回起動時に作成されるので、1度起動させましょう。
場所は、data/plugins/<プラグイン>というフォルダの中に作成されます。
設定ファイルを編集したら、再起動しましょう。
統合版ユーザーを参加させるプラグインはこちら。>https://geysermc.org/