- 無料と書いてある通りレンタルサーバーを使いません。
- 準備するものは、自宅のPCとインターネット回線だけです。
僕はプロのITエンジニアです。
そんな僕がマイクラ鯖を構築する記事を書く理由は、ほとんどの記事でマイクラ鯖を立てるのは無理だからです。ちなみにサーバーを外部に公開する方法は"ポート開放"ではありません。
"マイクラ サーバー構築"で検索してみて下さい。
出てくる記事のすべてが"ポート開放"の記事です。
外部に公開できない
- 外部公開≠ポート開放
- ポートを説明しても、素人解説で余計に「分からない」。
- 締め括りは「ConoHa WING」のアフィリエイト
ポート開放を解説している記事を読んでも、サーバーを外部に公開できません。
外部に公開する方法は"ポート転送"です。
本記事では僕自身がこの手順で鯖を構築したので確実に鯖を外部に公開できます。外部公開のエビデンスとして画像を見るだけでも分かると思います。じっくり読んでみてぜひ参考にしてみください。
MohistMCサーバーはModとプラグイン両方動く!
- MohistMC
- 1.7.10(非推奨)、1.12.2、1.16.5、1.18.2(testing)、1.19.2(Dev)
- https://mohistmc.com/download
本記事で立てる「MohistMCサーバー」の環境
サーバー環境
- Ubuntu 22.04 LTS ARM64 ※Intel、arm64どちらでもオッケー
- MohistMCサーバー
- Javaランタイム環境
- フォルダ場所は
~/MohistMC
で作業 ※場所はどこでも良いです - ポート開放ツールを使わない
Ubuntuはなんでも構いません。Javaならx86・arm64どんな環境でも動作するからです。
その他、疑問点を以下にまとめたので読むと理解が深まると思います。
- 本記事で対象とするUbuntuは?
-
使うのはUbuntu 22.04 LTS ARM64です。
ただ、Javaを使うのでどんなUbuntuでも動作します。
- なんでMohistMCを使うのか?
-
マイクラを拡張するプラグインに加えて、さらにModも使えるからです。
- なんでMohistMCのバージョンで"1.18.2"を使うのか?
1.18.1以降のバージョンはLog4Shell対策でJVMの起動時に追加引数なしで対応しているからです。ただ、他のバージョンでも対策できるので、特にこだわりはありません。
使いたいModのバージョンに合わせて、鯖を立ててみて下さい。
- なんでポート開放ツールを使わないのか?
-
ポート開放ツールを使わない方がネットワークの理解に役立つからです。
- 公式サーバー(バニラ鯖)とMohistMCサーバーの違いは?
-
公式サーバー(バニラ鯖)もJavaで動作しますが、Modとプラグインを使えません。
Ubuntuに無料でMinecraftサーバーを建てる!流れ
Ubuntuに無料でマイクラサーバーを建てる!流れは下の通りです。
解説のために多少長ったらしい冗長な手順にしています。
なので、サーバーを外部に公開する仕組みが分かっている人は「ローカル環境からサーバーに接続する」という手順を省いてもらって構いません。
鯖を建てる流れ
- ① Ubuntu環境設定
- システム更新
- iproute2
- OpenJDK(javaランタイム)
- Git
- ② マイクラサーバーをダウンロード
- ③ マイクラサーバーを起動する
- ④ ポート開放
- ⑤ 接続テスト1:ローカル環境からサーバーに接続する
- ⑥ ルーターを設定して、サーバーを外部に公開する
- ⑦ 接続テスト2:外部からサーバーに接続する
上から順に作業を進めていきます。
サーバーを立てるポイント
- ローカル環境(内部)でのサーバー接続
- グローバル環境(外部)でのサーバー接続
ほとんどの人は・ローカル環境(内部)でのサーバー接続と・グローバル環境(外部)でのサーバー接続の違いを理解できていません。
結果が同じなので、その違いが分からないのかも知れません。
サーバーを建てる際は、必ずローカル環境とグローバル環境の違いを意識するようにしましょう。
Ubuntuでターミナル(端末)を使う
Ubuntuでターミナルを起動しましょう。
検索欄から"terminal"と入力すればターミナルが表示されます。
そのまま"Enter"を押せば、ターミナルが起動します。
UbuntuなどのLinuxではターミナル(端末)上でのプログラムの操作が基本です。
フォルダを"右クリック"でもターミナル(端末)が起動する!
cdコマンド
でフォルダを移動できますが面倒です。
フォルダから"右クリック"⇒"端末で開く"でターミナル(端末)をそのフォルダ直下で開くことできます。
ターミナルを"右クリック"⇒"端末で開く"で起動すれば、かなり時短になるのでオススメです。
例えば、フォルダを"右クリック"⇒"端末で開く"で開けば、わざわざマイクラサーバーの場所にcdコマンド
で移動する必要がありません。
① Ubuntu環境設定
マイクラのサーバー構築に必要なLinux環境を設定していきます。
Linuxを初めて使う人にとっては良い勉強になるので、最初は真似するだけで良いので、この通りになぞってみて下さい。
環境設定の流れ
- ① Ubuntu パッケージ管理システムの更新
- ② OpenJDK(Javaランタイム環境)
- ③ ローカルIPアドレス(iproute2)
- ④ Git
念の為、作業前はUbuntu パッケージ管理システム(apt)の更新をしておきましょう。順々にやっていきます。
準備①:Ubuntu パッケージ管理システムの更新
$ sudo apt update && sudo apt upgrade
準備②:OpenJDK(Javaランタイム環境)をインストール
$ sudo apt install default-jre
上のコマンドで OpenJDK(Java)がインストールされます。
OpenJDKを詳しく知りたい方は下の記事が参考になります。
jreをインストールしたら、きちんと入ってるかの確認も含めてjreのバージョンを表示してみましょう。
$ java -version
openjdk version "11.0.16" 2022-07-19
OpenJDK Runtime Environment (build 11.0.16+8-post-Ubuntu-0ubuntu122.04)
OpenJDK 64-Bit Server VM (build 11.0.16+8-post-Ubuntu-0ubuntu122.04, mixed mode)
javaアプリケーションは、x86、ARM64などあらゆる環境で実行可能です。
なので、統合版の公式サーバーはMac(M1・M2含む)向けに配布されていませんが、例えば、Javaで動作するNukkitサーバーを使えばMac(M1・M2含む)でもサーバーを起動させることができます。
準備③:ローカルIPアドレスを確認するip a
$ ip a | grep inet
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
inet 192.168.10.103/24 metric 100 brd 192.168.10.255 scope global dynamic enp0s5
inet6 240b:250:89e0:d200:21c:42ff:fecd:281f/64 scope global dynamic mngtmpaddr noprefixroute
inet6 fe80::21c:42ff:fecd:281f/64 scope link
IPアドレスを調べるには、iproute2のip
を使います。ip a | grep inet
でinet
を抜き出すと分かりやすいです。
僕のローカル環境のIPアドレスは192.168.10.103
です。192.168.10.103
はあくまでローカルIPアドレスであることを押さえておきましょう。
ip a
コマンド$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:1c:42:cd:28:1f brd ff:ff:ff:ff:ff:ff
inet 192.168.10.103/24 metric 100 brd 192.168.10.255 scope global dynamic enp0s5
valid_lft 85448sec preferred_lft 85448sec
inet6 240b:250:89e0:d200:21c:42ff:fecd:281f/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 269sec preferred_lft 269sec
inet6 fe80::21c:42ff:fecd:281f/64 scope link
valid_lft forever preferred_lft forever
IPアドレスを調べるには、iproute2のip
を使います。
$ ip a
$ ip addr
$ ip address show
$ ip address
ip
コマンドは下のどれでも構いません。
$ sudo apt install iproute2
iproute2はデフォルトで入っていると思います。無ければ上のコマンドでiproute2をインストールできます。
ifconfig
との違いまぁ好みですが、以前はnet-tools
に含まれるifconfig
を使っていましたでした。net-tools
パッケージは更新されておらず古くセキュリティ的に懸念があるため、現在はiproute2が主流みたいです。
$ sudo apt install net-tools
ifconfig
を使いたいならnet-tools
をインストールすると良いです。
準備④:Gitをインストール
$ sudo apt install git
gitをインストールしておきましょう。
Nukkitサーバーのダウンロードにgitコマンドを使うからです。
② MohistMC 1.18.2をダウンロード
- MohistMC
- 1.7.10(非推奨)、1.12.2、1.16.5、1.18.2(testing)、1.19.2(Dev)
- https://mohistmc.com/download
上記URLから最新のMohistMCサーバーmohist-1.18.2-90-server.jar
をダウンロードすればオッケーです。
特にこだわりがない場合は、Latest(最新)のリンクからダウンロードすれば良いです。
③ MohistMCサーバーを起動する
~/MohistMC$ java -Xms1G -Xmx4G -jar mohist-1.18.2-90-server.jar
上がMohistMCサーバーを起動させるコマンドです。
サーバー起動例
~/MohistMC$ java -Xms1G -Xmx4G -jar mohist-1.18.2-90-server.jar
__ __ ______ __ __ __ ______ ______
/\ "-./ \ /\ __ \ /\ \_\ \ /\ \ /\ ___\ /\__ _\
\ \ \-./\ \\ \ \/\ \\ \ __ \\ \ \\ \___ \\/_/\ \/
\ \_\ \ \_\\ \_____\\ \_\ \_\\ \_\\/\_____\ \ \_\
\/_/ \/_/ \/_____/ \/_/\/_/ \/_/ \/_____/ \/_/
Welcome to Mohist ! - Mohist Developement Group
Checking libraries, please wait...
All libraries are nice :) !
Checking the installation, please wait.
Finished the install verification process !
__ __ ______ __ __ __ ______ ______
/\ "-./ \ /\ __ \ /\ \_\ \ /\ \ /\ ___\ /\__ _\
\ \ \-./\ \\ \ \/\ \\ \ __ \\ \ \\ \___ \\/_/\ \/
\ \_\ \ \_\\ \_____\\ \_\ \_\\ \_\\/\_____\ \ \_\
\/_/ \/_/ \/_____/ \/_/\/_/ \/_/ \/_____/ \/_/
Welcome to Mohist ! - Mohist Developement Group
Update in check...
If you don't want to enable update check, set check_update in mohist-config/mohist.yml to false
No update found, latest version: (1.18.2-90-1.18.2-90) current version: (1.18.2-90-{2})
cpw.mods.cl.ModuleClassLoader@333d4a8c
[00:35:27] [INFO]: ModLauncher running: args [--launchTarget, forgeserver, --fml.forgeVersion, 40.1.73, --fml.mcVersion, 1.18.2, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20220404.173914]
:
:
:
[00:35:45] [INFO]: Default game type: SURVIVAL
[00:35:45] [INFO]: Generating keypair
[00:35:45] [INFO]: Starting Minecraft server on *:25565
[00:35:45] [INFO]: Using epoll channel type
:
:
:
[00:36:05] [INFO]: Time elapsed: 9917 ms
[00:36:05] [INFO]: Done (19.649s)! For help, type "help"
[00:36:05] [INFO]: Successfully initialized permission handler forge:default_handler
>
サーバーを起動するコマンドはjava -Xms1G -Xmx4G -jar mohistMC-1.0-SNAPSHOT.jar
です。
サーバー起動時にはポート番号などの設定値が表示されます。
起動時の表示にサーバー情報が出る!
[00:35:45] [INFO]: Starting Minecraft server on *:25565
起動時の表示を見れば、調べなくてもサーバー情報が色々分かります。
起動時には表示を見る癖をつけると良いでしょう。
~/MohistMC$ java -Xms1G -Xmx4G -jar mohist-1.18.2-90-server.jar
__ __ ______ __ __ __ ______ ______
/\ "-./ \ /\ __ \ /\ \_\ \ /\ \ /\ ___\ /\__ _\
\ \ \-./\ \\ \ \/\ \\ \ __ \\ \ \\ \___ \\/_/\ \/
\ \_\ \ \_\\ \_____\\ \_\ \_\\ \_\\/\_____\ \ \_\
\/_/ \/_/ \/_____/ \/_/\/_/ \/_/ \/_____/ \/_/
Welcome to Mohist ! - Mohist Developement Group
Checking libraries, please wait...
:
:
:
__ __ ______ __ __ __ ______ ______
/\ "-./ \ /\ __ \ /\ \_\ \ /\ \ /\ ___\ /\__ _\
\ \ \-./\ \\ \ \/\ \\ \ __ \\ \ \\ \___ \\/_/\ \/
\ \_\ \ \_\\ \_____\\ \_\ \_\\ \_\\/\_____\ \ \_\
\/_/ \/_/ \/_____/ \/_/\/_/ \/_/ \/_____/ \/_/
Welcome to Mohist ! - Mohist Developement Group
Update in check...
If you don't want to enable update check, set check_update in mohist-config/mohist.yml to false
No update found, latest version: (1.18.2-90-1.18.2-90) current version: (1.18.2-90-{2})
You need to accept the eula to launch your server. Type true to continue.
true
MohistMC 初回起動時の途中にYou need to accept the eula to launch your server. Type true to continue.
と聞かれるのでtrue
と入力してenter
を押します。
④ Ubuntu【Java版】25565/tcp
ポート開放
$ sudo ufw enable
$ sudo ufw allow 25565/tcp
$ sudo ufw reload
Ubuntuのファイアウォールはデフォルトだとufw
です
UFW(Uncomplicated Firewall)は、ファイアウォールを簡単にコマンド操作できるよう設計されたLinux(リナックス)のファイアウォール管理プログラムです。
ufw
は初期では無効なのでsudo ufw enable
でファイアーウォールを有効にします。
25565/tcp
をsudo ufw allow 25565/tcp
で開放します。
sudo ufw reload
で設定を反映します。
設定が反映されているかsudo ufw status verbose
コマンドで確認してみます。
$ sudo ufw status verbose
状態: アクティブ
ロギング: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
新しいプロファイル: skip
To Action From
-- ------ ----
25565/tcp ALLOW IN Anywhere
25565/tcp (v6) ALLOW IN Anywhere (v6)
sudo ufw status verbose
を実行した画面が上です。
25565/tcp ALLOW IN Anywhere
が表示されているので25565/tcp
の開放に成功です。
これでローカル上へのサーバー公開が完了です。
確認も踏まえて、ローカル上の端末からサーバーにアクセスしてみましょう。
⑤ 接続テスト1:ローカル環境からサーバーに接続する【Java版】
IPアドレスの確認、ローカルマシンのポート開放も済んだので、ローカル環境からサーバーに接続テストをしましょう(以下、ローカル接続テストと言います。)。
下記手順で進めましょう。
ローカル接続テスト手順
- 1)Java版マイクラサーバーを起動する。
- 2)IPアドレス・ポート番号を再度確認する。
- 3)マイクラランチャーをバージョン1.18.2にする。
- 4)自宅のパソコンからサーバーにアクセスする。
当然、IPアドレス、ポート番号が必要になるので、どこかにメモっておきましょう。
先ずはサーバーを起動しましょう。
1)Java版マイクラサーバー「MohistMC」を起動する。
サーバーを起動させるコマンドはjava -Xms1G -Xmx4G -jar mohist-1.18.2-90-server.jar
です。
2)IPアドレス・ポート番号を再度確認する。
$ ip a | grep inet
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
inet 192.168.10.103/24 metric 100 brd 192.168.10.255 scope global dynamic enp0s5
inet6 240b:250:89e0:d200:21c:42ff:fecd:281f/64 scope global dynamic mngtmpaddr noprefixroute
inet6 fe80::21c:42ff:fecd:281f/64 scope link
IPアドレスを調べるには、iproute2のip
を使います。ip a | grep inet
でinet
を抜き出すと分かりやすいです。
僕のローカル環境のIPアドレスは192.168.10.103
です。192.168.10.103
はあくまでローカルIPアドレスであることを押さえておきましょう。
ポートは上のサーバー起動の表示から25565/TCP
だと分かります。
3)マイクラランチャーをバージョン1.18.2にする。
起動構成を開いて「新規作成」を押します。
バージョン欄から「release 1.18.2」を選びます。そして「作成」を押します。
ちなみに「名前」は任意です。本記事では「MohistMC」にしました。
「MohistMC 1.18.2」を選んでからマイクラを起動します。
4)自宅のパソコン(ローカル環境)からサーバーにアクセスする。
ローカル環境からサーバーに接続する端末選びですが「自宅のネットに接続したパソコン」を使うと良いでしょう。
細かなことが分からなければ、とりあえず「自宅のネットに接続したパソコン」でサーバーに接続してみて下さい。
「自宅のネットに接続したパソコン」でMinecraftを起動します。
次に「マルチプレイ」を押します。
「サーバーを追加」を押します。
サーバーアドレスにIPアドレス:ポート
の組み合わせで入力します。
僕の環境では192.168.10.103:25565
です。
入力したら「完了」を押します。
サーバーを起動させているのでオンライン情報📶が表示されてます。
そのまま「サーバーに接続」を押します。
サーバー接続中の表示になるので暫く待ちます。
ログインできれば、ローカル接続テストは成功です。
~/MohistMC$ java -Xms1G -Xmx4G -jar mohist-1.18.2-90-server.jar
__ __ ______ __ __ __ ______ ______
/\ "-./ \ /\ __ \ /\ \_\ \ /\ \ /\ ___\ /\__ _\
\ \ \-./\ \\ \ \/\ \\ \ __ \\ \ \\ \___ \\/_/\ \/
\ \_\ \ \_\\ \_____\\ \_\ \_\\ \_\\/\_____\ \ \_\
\/_/ \/_/ \/_____/ \/_/\/_/ \/_/ \/_____/ \/_/
Welcome to Mohist ! - Mohist Developement Group
Update in check...
If you don't want to enable update check, set check_update in mohist-config/mohist.yml to false
No update found, latest version: (1.18.2-90-1.18.2-90) current version: (1.18.2-90-{2})
:
:
:
[00:36:05] [INFO]: Time elapsed: 9917 ms
[00:36:05] [INFO]: Done (19.649s)! For help, type "help"
[00:36:05] [INFO]: Successfully initialized permission handler forge:default_handler
[01:15:45] [INFO]: UUID of player アカウントA is 052f88f6-b100-449d-91ca-fe677962b5f6
[01:15:45] [INFO]: Using new advancement loading for net.minecraft.server.PlayerAdvancements@5b9c4754
[01:15:45] [INFO]: アカウントA[/192.168.10.101:60224] logged in with entity id 82 at (26.5, 70.0, -10.5)
>
UbuntuのJava版マイクラサーバー(MohistMCサーバー)に"アカウントA"でログインできてるのが分かると思います。
念の為、サーバーのプロンプトも確認しておきましょう。
特に、この表示に注目してください。
[01:15:45] [INFO]: アカウントA[/192.168.10.101:60224] logged in with entity id 82 at (26.5, 70.0, -10.5)
アカウントA[/192.168.10.101:60224]
このアドレスは、グローバルIPアドレスか、ローカルIPアドレスか?どちらでしょうか?
答えはローカルIPアドレスです。
これはローカルサーバーの接続テストです。
まだ、外部にサーバーを公開していないので外の友達からはこのサーバーにはアクセスできません。
では、次にローカルサーバーを外部に公開していきましょう。
⑥ 外部に公開!ルーター「Aterm WG2600HS」でTCPポート転送の設定例
サーバーを外部に公開するのはここからが本番です。
サーバーを外部に公開するためには、ルーター側にポート転送設定を行います。
場合によってはパケットフィルタ設定(ルーター上のポート開放)も必要になるかも知れません(今回は不要です。)。
※「ルーター」「ポート転送」など「用語解説」は下にあります。
先ずはルーターの設定画面を開こう
ルーターのURLは、ローカルIPアドレスの最下段を"1"にしたアドレスです。
ローカルIPアドレスが192.168.10.101
なら、ルーターのURLは192.168.10.1
です。
僕の環境では、ルーターの設定画面を開くには、URL欄にhttps://192.168.10.1
でアクセスしました。
また、ログインに必要な「ユーザー名」などは注意書きされてます。
「ユーザー名」には「admin」と半角小文字で入力し、「パスワード」には、本商品本体のラベルに記載された数字6桁のパスワード(Web PW)を入力して、[ログイン]をクリックしてください。
機器によっては取扱説明書などにユーザー名などの初期設定値が記載されていたりもします。
他の機器も多少違いはあれど、ほとんど同じです。
ポートマッピングの設定画面を開く
ルーターにログインしたら、上記画面が表示されます。
中段右側に「ポートマッピング設定」という項目があるので、それをクリックします。
ちなみに、ルーターAterm WG2600HSではポート転送を"ポートマッピング"と呼んでいます。
BUFFALOなどのルーター機器だと"ポートフォワーディング"と表示されてるかも知れません。ポート転送=ポートマッピング=ポートフォワーディング、すべて同じ意味です。
※「ルーター」「ポート転送」など「用語解説」は下にあります。
ポートマッピングの設定をする
画像はAterm WG2600HSのポート転送設定の画面です。
上段から
- 利用可能ポート:変換対象ポートで利用可能なポート
- NATエントリ追加:ここにポート転送設定を入力します。
以下でマイクラサーバーを外部に公開するためのポート転送の設定例を解説していきます。
Java版マイクラサーバーを外部に公開:ポート転送の設定例
今回の例ではJava版マイクラサーバーを想定して下記のネットワーク環境で解説します。自分の環境に読み替えて設定して下さい。
ネットワーク環境
- WAN側(外部):
グローバルIPアドレス:ポート(36128/TCP)
- LAN内サーバー(内部):
192.168.10.103:25565/TCP
ポートは内部と外部ともに25565/TCP
で統一した方が分かりやすいですが、ルーターで設定できる「利用可能ポート」の範囲外なのでWAN側ポートは36128/TCP
としました。
ちなみに、WAN側ポートとLAN側ポートを違う番号にしてアクセスさせた方が、セキュリティ的にははるかに強くなります。
WAN側ポートを規定値から変えるのは、セキュリティを上げる重要なテクニックです。
理由は、Java版マイクラ鯖は25565/TCP
と誰もが知っているからです。
これはグローバルIPアドレスを知られるとグローバルIPアドレス:25565
で好き放題にアクセスされる状態で危険なんです。
中継地点となるルーターは、WAN側ポート36128
のアクセスをLAN内サーバー192.168.10.103:25565
に道案内する役割です。これをポート転送と言います。
サーバー接続の流れ
- 外部からは
グローバルIPアドレス:ポート(36128/TCP)
でサーバーにアクセスする。 - 中継地点のルーターは
ポート:36128
を192.168.10.103:25565/TCP
にポート転送する。 - その結果、マイクラサーバー
192.168.10.103:25565/TCP
が接続に応答する。
さて、上記の内容で、ルーターに実際に設定してみましょう。
WAN側ポート36128/TCP
を
LAN側ポート192.168.10.103:25565/TCP
に転送する。
WAN側ポート36128/TCP
をLAN側ポート192.168.10.103:25565/TCP
にポート転送する設定をします。
ポート転送
- LAN側ホスト:マイクラサーバー
192.168.10.103
- プロトコル:
TCP
- 変換対象ポート番号:WAN側ポート(今回は
36128/TCP
) - 宛先ポート番号:LAN側ポート(今回は
25565/TCP
)
どうでしょう、簡単じゃないですか?
これでマイクラサーバーが外部に公開されます。
ただ、必ず外部から接続テストをしてください(確認する癖をつけましょう。)。
機器にもよりますが、変換対象ポート(WAN側ポート)は「利用可能ポート」の範囲内で設定しましょう。
「利用可能ポート」の制限が無いなら、WAN側ポートにどんなポート番号を設定しても構いません。
⑦ 接続テスト2:グローバル環境からサーバーに接続する
ここまで来れば、あと一歩です。
今度はグローバル環境(外部)からサーバーに接続テストを行います(以下、グローバル接続テストと言います。)。
外部からの接続テストのために事前に準備するものは下の三つです。
準備するもの
ちなみに、グローバルIPアドレスの確認はCMANで手軽できます。
1)CMANでグローバルIPアドレスを確認する
上はCMANでグローバルIPアドレスを調べた画面です。
画像の黒塗り箇所にグローバルIPアドレスが表示されています。
2)CMANでPortチェックテスト
赤枠の箇所を入力します。
ホスト名はグローバルIPアドレス、チェックポート番号にはWAN側ポート:36128
を入力します。
赤枠の箇所を入力したら「Portチェック実行」を押します。
外部から接続が成功すると「ポート:36128
にアクセスできました」と表示されます。
ただし、ここのテストに失敗しても、マイクラのサーバーに接続できることがあるので注意してください。
ポートチェックテストに失敗するケース
- Pingに応答しないサーバー
- UDPでのポートチェック
- 上のポート転送設定を間違えている
「UDPでのポートチェック」については、Java版マイクラではTCPポートを使用するので気にしなくて大丈夫です。統合版マイクラサーバーは、UDPポートでのポートチェックになるので注意が必要です。
CMANのポートチェックが失敗しても、友達の家からサーバーに接続できる可能性も20%くらいの確率であります。
ちなみに、この「2)CMANでPortチェックテスト」でアクセスできましたが表示されたら、下の3)は飛ばしても良いです。すでに外部にサーバーは公開されてるので友達と一緒に遊べます。
3)用意できるなら:友達の家のPCから接続テスト
外部からの接続テストに、友達の家のPCを利用できるなら、友達に接続テストを頼むのもアリです。
ちなみに、この接続テスト2(グローバル接続テスト)の場合、家の外にあるPCを使わないとテストにならないので注意してください。
サーバーがある家の中から、同じネット環境下でグローバルIPアドレスを使ってテストしても100%失敗します。
家の中はローカルエリアネットワーク(LAN)なので、ローカルIPアドレス(192.168.xx.xx)を使えばサーバーにアクセスできます。
Java版と統合版(Bedrock版)のMinecraft(マイクラ)の違い
マインクラフトには、Java版と統合版があります。サーバー立てるならどちらが良いか考える必要があります。
大きな違いは"対応デバイス"です。
JAVA版と統合版の違い
JAVA版 | 統合版(Bedrock版) | |
---|---|---|
オススメ | ★★★★★ | ★★★★☆ |
対応デバイス | Windows、Mac、Linux | Windows 10、スマホ(iOS・Android)、Xbox Series X|S、Xbox One、Nintendo Switch、PlayStation 4、Kindle Fire、Fire TV、Oculus Rift 注意:Mac、Linuxは非対応 |
MOD・Plugin | 両方○ | プラグインのみ |
サーバー構築 | 立て易い | Nukkitサーバーは立て易い |
ひとこと | JAVA版はModが使える。 | スマホ・Nintendo Switch勢とクロスプレイ出来るのはデカい。 |
統合版のマイクラサーバーは、スマホとNintendo Switchをカバーします。
統合版マイクラはMac、Linux以外のあらゆるデバイスでプレイしたい時にオススメです。
ネットワークIT用語解説
ネットワークで使うIT用語を解説していきます。
「ポート」や「ポート開放」「ファイヤーウォール」などの用語をセットで覚えましょう。
IPアドレス
IPアドレスには2種類あります。
グローバルIPアドレス、ローカルIPアドレス
ローカルIPアドレスの呼び方
- ローカルIPアドレス
- プライベートIPアドレス
ポート
ポートのイメージはサービスを受け付ける個々の料金所です。
インターネット上では、パケット車がたくさん走っています。すべてのパケット車が料金所を通れるわけではなく、開放されているポート(料金所)のみ通過できます。
WAN側ポート、LAN側ポートと使用するデバイスごとにポートを設定する必要があります。
ポートはプログラム(Webサービス)ごとに使用しています。
デフォルトで開放されているポートを「Well Known Port(ウェルノウンポート)」と言います。例えば、http通信は80番ポートを使っています。
実は知らない内に自らポートを開閉させています。
プログラムのインストール時に「プログラムを許可しますか?」に承諾することで、みんな自分のコンピューターのポートを開放しています。
Well Known Port 以外のポートはデフォルトで閉じられているからです。
ポート転送
ポート転送は、WAN側に来たアクセス(パケット)をLAN側の機器に転送する設定です。
ちなみに、今回のNEC製ルーターでは、ポート転送とは呼び方が違う「ポートマッピング設定」という表記です。
ポート転送の呼び方
- ポート転送
- ポートマッピング
- ポートフォワーディング
- ポートフォワード
上のようにルーター機器によって、同じ意味でも表記が様々です。
ルーター
ルーターは高速道路と一般道の中継地点のイメージです。
高速道と一般道の流れが変わる中継地点に各料金所(ポート)があって、車両を一台一台丁寧に検閲していきます。
ちょうどWAN(グローバル)が高速道で、LAN(ローカル)が一般道みたいなイメージです。
WANからLANに入るには、必ず中継地点(ルーター)の案内が必要になるわけです。
高速道のまま突っ走っても、どこに行けば良いのか分からないので中継地点(ルーター)で目的地を教えてもらったりします。それがポート転送(目的地の案内)です。
ファイヤーウォール
「ファイヤーウォール」は、コンピュータネットワークにおいて、コンピュータセキュリティの保護、その他の目的のため、通信を制御・阻止(パケットフィルタリング)する機能を言います。
「ファイヤーウォール」は、パソコン、スマホ、ルーターなどすべてのデバイスに搭載されている機能と理解しておいてください。
高速道路の料金所で「許可された車だけを通す仕組み(機能)」です。
マイクラ鯖立てトラブルシューティング集
Java版
統合版
Java版Minecraft にセキュリティ上の脆弱性【Log4Shell】
参考:https://www.minecraft.net/ja-jp/article/important-message--security-vulnerability-java-edition-jp
コメント