こんにちは、ときうかぜです。
この記事では、「Minecraft」のサーバー構築方法について紹介します。
Minecraftとは、世界でもっとも売れたゲームとして、幅広い世代に有名です。
ブロックによる建築やモンスターとの戦闘、マップの探索などなど、アップデートを重ねてさらに自由度がましています。
自分も、家族や友人とともにマルチプレイを何度もしました。
しかし、マルチプレイを続けるにあたって問題になることが多いのがマルチサーバーです。
マルチプレイには、マルチサーバーが必要になるからです。
たとえば、誰かのPCに構築する、レルムスの1ヶ月無料サービスを使用するといった方法では、
いつか限界がきてします。実際、自分たちはそうでした。
PCを立ち上げられる時間が決まっており自由に参加できない…、無料期間をすぎてしまった…
あなたもせっかくのセーブデータが何らかの要因で続けられなくなってしまった経験、ありませんか?
このようなことがないようにマルチサーバーは、複数人でプレイすることが決まったら真っ先によく考えて準備をする必要があります。
この記事では、Minecraftマルチサーバーの解説と構築の方法について解説します。
〜マルチサーバーの基礎知識編〜
まずは、Minecraftマルチサーバーについて説明します。
Minecraftマルチサーバーはゲームを実行するPCとは別にサーバー用のPCを用意し、そこでMinecraftのワールドを展開します。ここに参加者が接続し、複数人でのマルチプレイが可能になるというものです。
Minecraftマルチサーバーはなぜ必要か
マルチサーバーがなくても複数人でプレイすることはできます。
しかしそれらはおすすめができません。
やはり、マルチサーバーを活用する方法が一番快適にゲームをできるからです。
Minecraftマルチプレイを行う4つ方法と特徴を紹介します。
①ローカルネットワーク(例:同じ家のなか)でのマルチプレイ
一番簡単で、安全な方法です。
たとえば、遊びに来た友人や家族とマルチプレイを行う際に向いています。
ローカルネットワークの外からは接続できません。
②マルチサーバーを使用したマルチプレイ
外部からの接続ができます。
離れた友人の家から接続できます。
サーバーを公開する必要があるのでセキュリティの対策が必要になります。
③VPN
接続する人同士でVPNを構築し、①ローカルネットワークの接続機能を利用して、マルチプレイを行う方法です。擬似的なローカルネットワークとして機能するので、マルチプレイができます。「Hamach」などを利用した場合が該当します。
家族や親しい友人などと一緒にやるぶんには構わないのですが、セキュリティが弱くなるため多くの人を呼ぶには適しません。
④ゲーム用PCにマルチサーバーを構築
マルチサーバーをゲームと同じPCで構築するというもの。
マルチサーバーが必要な時間はずっと起動しなければなりません。さらに、PCのスペックによってはゲームによってサーバー処理が遅延することもあります。
まとめると、離れたネットワークから一つのワールドに接続するならマルチサーバーを使用する以外の方法を全くおすすめできないということです。
なお、ローカルネットワークで十分であれば、マルチサーバーは必要ありません。
サーバーを手に入れる3つの方法
では、マルチサーバーはどのように入手できるのでしょうか。
主に下記の3つになります。
レンタルサーバー
有料でサーバーをレンタルする方法です。
公式、非公式を問わず、さまざまな企業がレンタルをしています。
構築やバックアップ・アップデートを自動でやってくれるなど、信頼性は高いです。
月額・時間課金などの料金が発生します。
なお、公式サーバーではmodが禁止されています。その他のサーバーでも、運営会社によってルールは様々です。
公開サーバー
有志によって公開されているMinecraftサーバーに参加する方法です。
無料で公開されているところがほとんどですが、赤の他人が多数参加しています。
よって、遊ぶにはマナーやルールを守らなければいけません。modなどが禁止されている場合もあります。
仲間内だけの自由なワールドというわけではありません。
自宅サーバー
自分のPCにサーバーOSとMinecraftサーバーソフトウェアを導入し、自分だけのマルチサーバーを構築します。自分だけのサーバーなので、modやプラグインなどを導入しても大丈夫です。
データやネットワークの担保について、すべてが自己責任です。
光回線、電気代、PC(型遅れでもOK)が必要になります。
自宅サーバーを構築するメリットとデメリット
この記事では、自宅サーバー作成手順を掲載しています。
自宅サーバーのメリット・デメリットについて詳しくみていきます。
メリット
- 安い
- 改造が無制限
- 人数制限やデータ制限がない
- 使用用途にあわせてハードウェアを自由に組み替えることができる
デメリット
- 機材費(初期費用が高め)
- 構築と運用の手間
- 故障のリスク
- バックアップ設定
構築編
いよいよマルチサーバーの構築手順の紹介になります。
一度最後までこの記事をよみ、時間があるときに挑戦してみてください。
なお、インターネットの公開は危険がともいます。
セキュリティの設定も紹介していますが、あくまでも自己責任でお願いします。
マインクラフトマルチプレイ用自宅サーバーの構築に必要なもの
- デスクトップパソコン(サーバー用PC)
- 作業用PC (windows)
- ブートディスク用記録メディア(USBフラッシュメモリ)
準備
効率よく構築を行うために準備しておきましょう。
- ルーターの説明書(管理者権限のあるアカウントのIDとパスワードも確認しましょう)
- サーバー用のPCのBIOSの立ち上げ方を調べる
- メモ帳(パスワードなどをメモして、しっかりと保管しましょう)
インストールメディア準備編
ここでは、マインクラフトサーバーを構築する前準備をしていきます。
主にソフトウェアのインストールやその準備がメインです。
操作用のWindows端末を使用しています。
電気屋さんなどで500円程度で売っているUSBフラッシュメモリが必要になります。
4GBもあれば十分です。手元にないのであれば、準備しましょう。
必要ソフトウェア
以後、随所で動画を使用して解説します。
動画の文字が見にくい場合は設定から画質を1080pにすることで、読みやすくなります。
Ubuntu isoの入手
isoファイルは日本チームが公開しているものを使用します。
動画ではUbuntu 20.04LTSを使用しています。
isoの書き込み
ダウンロードしたisoファイルを用意したUSBフラッシュメモリに書き込みます。
操作については動画をごらんください。
動画では、USBフラッシュメモリにファイルが残っていたためパーティションの削除とフォーマットを
Ubuntu Desktop インストール編
デスクトップPC(サーバー用)の準備を行います。
まずはサーバー専用機を確保しましょう。
サーバー専用機というと、業務用を想像してしまうけれど、高いお金を出す必要は全くありません。
中古のデスクトップPCやオンボードマイコンと呼ばれる低スペックで安いPCでも十分です。
詳しく解説していきます。
- 必要スペックについて
- 記録メディアについて
- 掃除
- OSのインストール
1.必要スペックについて
エディションによって、サーバーに必要とされるスペックが異なります。
この記事が参考になると思います。
下記のように紹介しています。
エディション | 必要最低限のメモリ容量 | 記述言語 | JDK8 | ARMアーキテクチャ |
Minecraft Java | 4GB | JAVA | 必要 | 対応 |
Minecraft bedrock | 2GB | C++ | 不要 | 未対応 |
bedrockエディションというのは、統合版のことです。
2. 記録メディアについて
古いパソコンの場合、記録メディアが古くなっている可能性があります。
この場合は記録メディアだけでも買い替えをしたほうがいいかもしれないです。
250GBのHDDがあれば十分なので、それほど高価ではありません。
3.掃除
自分の場合はコンピューターが倉庫でほこりをかぶっていました。
そのまま使用するのは危ないため、ふたを外して掃除を行いました。
エアーダスターなどがあると簡単です。
電源ユニットのほこりは火災の原因にもなりうるので、お手入れは必須です。
ほかにも、マザーボードのボタン電池が切れている場合は交換しましょう。
電源が入らないなどのトラブルの原因になります。型番はほとんどが「CR2032」だと思いますが、一応確認してみてください。
4.OSのインストール
下記のサイトが参考になります。
英語もブラウザの翻訳機能を使用すれば、特に問題になりません。
これを見ながら、この動画をみていただけるとわかりやすいと思います。
Chromeの翻訳方法
Chromeの場合は ページで[右クリック] - [日本語に翻訳]
DDNSの設定
DDNSを設定します。
なお、インターネット上に公開を行わない場合はこの項目をスキップしてかまいません。
まずは登録を行っていきましょう。
VScodeのインストール
Visual Studio Codeをインストールします。
これはIDEとよばれるもので、ファイルの編集に便利です。
もしもインストールが失敗する場合は、下記のコマンドでインストールできます。
sudo apt install <ダウンロードしたファイルのpath>
IPアドレスの固定
普通、IPアドレスは自動で割り振られます。
しかし、サーバー用途ではIPアドレスが変動すると使いにくくなります。
そこで設定からIPアドレスを固定する必要があります。
難しいことはありません。
すでに自動取得しているIPアドレスやその他情報をコピーするだけです。
各環境によって、数値や設定は異なります。
インターネットに接続されているか確認する
IPアドレスの設定がうまく行ったかどうかを確認します。
下記コマンドで、手動で指定したIPが書かれている部分があれば成功です。
ip a
動画ではいろいろと操作を行いましたが、下記コマンドでipが返却されるかを確認するだけでも十分です。
ネットワークに接続されていればグローバルIPアドレスのみが表示されます。
sudo apt install -y curl
curl http://checkip.amazonaws.com/
$ curl http://checkip.amazonaws.com/ xxxx.x.x.x(グローバルIPアドレスが表示)
MyDnsのアカウント作成
MyDnsを設定します。下記のページに移動してアカウントを作成してください。
グローバルIPを通知するスクリプトを作成
下記ページのドキュメントを参考にしてください。
動画ではページ下部の「Linux crontab」を使用しています。
ドキュメントに従って自宅のグローバルIPアドレスをMyDnsに通知するスクリプトを作成します。
使用したコマンドは下記のとおりです。
コマンド
コマンド | 動作 |
ls | カレントディレクトリの一覧表示 「-la」を追加すると隠しファイルとパーミッションも確認できる |
mkdir | ディレクトリの作成 |
cd | ディレクトリの移動 |
code | VScodeの起動 動画では「mydns.sh」ファイルを作成・表示しています。 ファイル編集後にはファイルの保存(ctrl + s)を行ってください。 |
chmod 700 | ファイルの権限(パーミッション)を付与するためのコマンド 700は自分にのみ読み込み・書き込み・実行の許可という意味 権限がないとファイルが実行できない |
./mydns.sh | ./はカレントディレクトリのスクリプトを実行するということ 今回は「mydns.sh」を指定 |
sudo | ユーザーの権限を一時的に管理者に変更 |
端末を起動します。
スクリプトの作成
作業用のディレクトリを準備
ホームディレクトリにappディレクトリを作成します
cd
mkdir app
cd app
スクリプトを書くファイルを作成し、VScodeで開きます
code mydns.sh
ファイルにスクリプトをコピーします。
「mydns111111」と「tp5YgZv4」には自分のアカウントのIDとパスワードが入ります。
全角文字やスペースが入らないように注意してください。
最後に「control + s」で保存します。
#!/bin/sh
# MYDNS.JPへ通知
/usr/bin/wget -O - 'https://mydns111111:tp5YgZv4@ipv4.mydns.jp/login.html'
ターミナルに戻ります。
下記のコマンドでカレントディレクトリのファイルとパーミンション(操作権限)を表示します
ls -la
先程作成したスクリプトに権限の付与を行います。
chmod 700 mydns.sh
スクリプトを実行してみましょう。
./mydns.sh
動画のような表示がでれば完了です。
自動実行と動作の確認
mydnsを開き、スクリプトで登録したIPアドレスをクリアします。
自動実行でIPアドレスが通知されることを確認するためです。
続いて、自動実行の設定を行います。
crontab -e
最初にこのコマンドを実行するとエディタを選択できます。
nanoを選択してください。
続いてファイルを編集します。下記をファイルの最後尾にペーストしてください。
tokiukazeの部分を自分のユーザー名に読みかえてください。
#
# MyDNS.JP への通知を自動実行
#
*/3 * * * * /home/tokiukaze/mydns.sh 1> /dev/null 2> /dev/null
「control + x」で保存を行います。
ファイル名が表示されますので、そのままenterを押してください。
3分後には、IPアドレスがMyDNSに通知されていますのでMyDNSで再度確認を行います。
マインクラフトのインストール
Minecraftサーバーソフトウェアのダウンロード
公式サイト(統合版)からソフトウェアのダウンロードを行う場合は下記のリンクを使用してください。
/home/tokiukaze/appに移動します。
tokiukazeは自分のユーザー名に読みかえてください。
その後、ファイルを解凍します。
サーバーソフトウェアについて
ファイルを確認します。
tokiukazeを自分のユーザー名にしてください。
cd /home/tokiukaze/app/bedrock-server*
code .
「bedrock_server_how_to.html」をひらき、右上からHTMLを表示するとサーバーアプリケーションの説明が表示されます。
Chromeでhtmlを開き、翻訳して表示してもよいです。
ここには、Minecraftのワールド設定やホワイトリストの設定などが記載されていますので、一度めを通しておくとよいでしょう。
サーバーが実行できるように権限を付与します。
chmod 700 bedrock_server
マルチサーバーの起動
設定の編集がおわったら、マルチサーバーを起動します。
下記のコマンドでワールドが生成されマルチサーバーが起動します。
LD_LIBRARY_PATH=. ./bedrock_server
Minecraftからアクセスしてアクセスできるかを確認しましょう。
このサーバーは統合版(bedrock)版ですので、間違えないようにして下さい。
サーバーの公開にあたって
この章では、自宅に設置されたサーバーに外からでもアクセスできるようになることを目指します。
サーバーにアクセスできるようにするには知っておくべきことがあります。
一つ目が、IPoE(IPv4 over IPv6)とPPPoEについての知識。二つ目が、セキュリティ(ufw)設定です。
それぞれ解説します。
ネットワークについて
まずは自宅がどのようなLAN構成かを確認しましょう。
代表的なものは以下の2つだと思います。
ルーター・ホームゲートウェイからISPへの接続方式にはIPoE(IPvr over IPv6)とPPPoEの二種類があります。
接続方式 | サーバーに接続するために |
IPoE(IPv4 over IPv6) | 1. サーバーのIPv6化 2. PPPoE ブリッジ(PPPoEパススルー) |
PPPoE | ポート開放 |
「IPoE(IPv4 over IPv6)」を使用している場合はポート開放ができません。
ISP(インターネットサービスプロバイダー)がポート開放を制限しているからです。
日本製のルーター、ホームゲートウェイを使用している場合は自動的にIPv4 over IPv6を使用している可能性があります。
IPv4 over IPv6を使用するとネットワークは快適に利用できますが、ポート開放を行うためにはIPoE(IPv4 over IPv6)ではなくPPPoEでISPに接続する必要があります。
PPPoE接続の場合は問題ありません。そのまま接続できます。ルーター・ホームゲートウェイからポート開放を設定しましょう。詳しくは説明書をごらんください。
IPoEに関する説明をスキップしても大丈夫です。
PPPoE接続の場合
この機会にIPoE接続ができるかISP(インターネットサービスプロバイダ)に確認してもよいかも。サーバーへの接続は複雑になりますが、ネットワークはPPPoEに比べ安定するようになります。
IPoE/PPPoE 接続方式確認方法
OCNを使用しているのであれば下記のリンクから確認ができます。
ほかのISPも確認手段を用意しています。ぜひ、確認してみてください。
下記は自分のLAN環境です。
ルーターAはNTTから借りているホームゲートウェイ、ルーターBはRTX810を使用しています
IPoE(IPv4 over IPv6)接続とでたら、そのままではポート開放ができません。
私はこの問題をルーターを2台用意し、PPPoEブリッジ機能を活用することで解決しています。
ルーターAはIPoE接続で普段のネットワーク利用は快適にしつつ、サーバーのみをPPPoE接続でつないでいます。
詳しくはルーター・ホームゲートウェイの説明書をみていただけるとIPoE・PPPoE接続の方法について詳しく記載されていると思います。
RTX810はこのために調達した有線LANルーターですが、ヤフオクで3000円ほどでした。
おすすめです。
海外ではIPv4 over IPv6という規格がないそうです
よって、海外製ルーターにはこの設定がないことも
セキュリティ設定
自宅LANが悪意のある誰かに侵入されないようにFirewallを設定します。
Firewallとはネットワーク上から無断で侵入されないように設定されている外壁のような役割があります。ここに、Minecraft関係の通信が通れるように穴をあける作業を行っていきます。
FireWallはUbuntuに設定するものとルーターに設定されているもの、2種類があります。
Ubuntuでは「ufwの設定」、ルーターでは「ポート開放」がこの作業にあたります。
Minecraftマルチサーバーにデフォルトで設定されているポートは19132ですが、攻撃の対象となりやすいため変更をおすすめします。
各自でポートを決め、サーバーのIPに対してこのポートを開放するように設定してください。
詳しくは動画をご覧ください。
Minecraftマルチサーバーに外から接続する
上記のサーバーにMinecraftで外から接続するには下記の手順でできます。
- Microsoftアカウントでログインを行う
- サーバータブ -> サーバーの追加
- 接続先の設定
項目 | 入力内容 |
サーバー名 | 好きなもの名前 |
サーバーアドレス | mydnsで設定を行ったもの |
ポート | サーバー側で設定を行ったポート デフォルトは19132だが、変更を行ったほうがセキュリティ的には安心 |
まとめ
ここまで、動画付きで解説を行いました。
作業の内容としてはubuntuのインストール、DDNSの設定、マインクラフトサーバーアプリケーションのインストール、ネットワークの設定です。
マルチサーバーを作れましたか?
ゲームを楽しんで!
おまけ
お世話になった本を紹介します。どちらもUbuntuを理解する上でかなり参考になります。
Ubuntu サーバー徹底構築は、初心者でも触れるように画像が多めです。とっかかりとしてありがたい本です。Ubuntuサーバー徹底入門ではUbuntuの機能が網羅されており、参考書として優秀です。
コメント
こんにちは!このサイトのおかげで無事にサーバーを開くことができました!ありがとうございます!!
お伺いしたいことがあるのですが、統合版サーバーソフトウェアのbedrock_server_how_to.htmlを見たところ、behavior_packsとresource_packsの説明でAt the moment there’s no way of activating them in a levelと載っています。
これはつまり現在(2022年1月1日)アドオンが導入出来ないと捉えてよろしいのでしょうか?
差し支えなければぜひ教えてください。
よろしくお願いします!
読んでいただきありがとうございます。
アドインについて詳しくないにのでググっただけの情報になり恐縮ですが、Bedrcok serverはアルファ版のためこのような表記になっているようです。
Bedrcok版はjava版に比べ自由がききませんが、アドインの導入自体はあるようです。
https://www.google.com/search?q=minecraft+bedrock+addon