最近、ウナルスに入ってよかったなとつくづく感じてます。サカタです。スミ
最近、ウナルスに入ってよかったなとつくづく感じてます。サカタです。スミダさんとこのネコチャン可愛すぎるだろ。
今回もJava版のMinecraftサーバについてです。今回は公開編です。いよいよサーバをインターネットに公開します。
目次
前提
- ネットワークに関するある程度の知識がある、もしくは知識をつける気があること
- 設定を自由に変更できるネットワークであること
また、今回は第2回なので、前提の前提としてこちらから第1回も読んでおいてください。
前回も書きましたが、サーバの運営はセキュリティリスクを伴います。特に、今回のネットワークの設定は自分のPCを全世界に晒すことになるので、一つ一つの手順で何をやっているのかよく理解したうえで行ってください。
脅すような言い方をしましたが、ネットワークわかんないよおおおおという人でも、何をやっているかちゃんと理解すれば問題ないので、一つ一つ学びながらやっていきましょう。

ホワイトリストをオンにする
これは真っ先にやっておいたほうが良い設定なので前回構築が終わった段階ですればよかったのですが、一応ネットに公開しないのであれば関係ないので今回冒頭に説明します。
ホワイトリストとブラックリストをご存じでしょうか?ホワイトリストとは安全な対象を定義したもの、逆に危険な対象を定義したものがブラックリストです。
とある城の門番は特定の人のみ通行を許可します(貴族とか)。これはホワイトリスト
別の城の門番は特定の人のみ通行を許可しません(犯罪歴のある人とか)。これがブラックリスト
Minecraftサーバはデフォルトでホワイトリストがfalse、つまりオフになっています。裏ではブラックリストがオンになっているのですが、そのブラックリストは誰も登録されていない白紙のブラックリストです。つまり、誰でもアクセスできる状態にあります。この状態は非常に危険なので、真っ先にホワイトリストをオンにしてください。
まずエクスプローラでサーバを導入したフォルダに移動してください。
今回だと「C:\work\minecraft\server\1.21.4」です。
その中にある「server.properties」をテキストエディタで開いてください。

一番下までスクロールして、「white-list=false」を「white-list=true」に変更してください。


これでホワイトリストがオンになりました。
友達を呼ぶときはいちいちホワイトリストに登録する必要がありますが、これをせずに痛い目を見ているので…手間ですが必ずやってください。第3回ぐらいで予定している運営編で詳しく話します。
ポート開放
前回、自分のPCにサーバを構築し、自分のPCのMinecraftからアクセスしました。しかし実際には自分以外の人が自分以外のPCからサーバにアクセスしてきます。自分以外の人がサーバにアクセスするためにはポートを解放する必要があります。
ポート開放のやり方は超簡単!ファイアウォールの設定をいじいじするだけです。
検索バーに「fire」と入力し、「セキュリティが強化された Windows Defender ファイアウォール」を開いてください。

ファイアウォールの設定画面が表示されたら「受信の規則」をクリックしてください。

右側にある「新しい規則…」をクリックしてください。

「ポート(O)」を選択し、次へ

「TCP(T)」を選択し、「特定のローカルポート(S):」が選択されている状態で、Minecraftのデフォルトポートである「25565」を入力し、次へ

「接続を許可する(A)」を選択し、次へ

「プライベート(P)」のみチェックが入っている状態で次へ

名前は適当でいいです。ここでは「Minecraft server」にします。「完了」をクリックしてください。

一覧に今追加した設定があればOKです。

これでMinecraftサーバのデフォルトポートである25565番ポートが解放されました。
しかし、これで完了ではありません。まだいくつかやることがあります。その前にポートの説明をします。つよつよの方は飛ばしてください。
ポートとは
ネットワークで通信するときは、他のコンピュータとデータのやりとり(送受信)を行うわけですが、これは現実世界で物のやり取りするときと似ています。
誰かに荷物を送りたいときは、送り先の住所を書く必要がありますよね。ネットワークでも同様に、どこかと通信(データのやり取り)をするときはネットワーク上の住所であるIPアドレスを指定する必要があります。まんま同じですよね。


ただし、ネットワークにおける通信相手であるコンピュータは現実世界とは違い、戸建てではなく全て集合住宅だと思ってください。
アパートやマンションに住む友人に荷物を送るときは、東京都○○区○○X丁目XX-XXではその建物までは届いても、その人には届きません。部屋番号まで書く必要がありますよね。


この部屋番号に相当するものがポートです。
コンピュータと通信するだけ(pingとか)なら意識する必要はないのですが、ほとんどの場合はアプリケーションと通信します(今回だとMinecraft)。そして、コンピュータの中では様々なアプリケーションが動作しているため、IPアドレス(住所)だけではどのアプリケーション(部屋)とやり取りしたいのかわからないのです。
そのため、ネットワークで通信する際も現実世界と同様にIPアドレスとポート番号を指定することになります。


しかし何もしていない状態だとこのポートは閉じています。部屋に鍵がかかっていると思ってください。現実では鍵がかかっていてもインターホンを押して開けてもらえるかもしれませんが、ネットワークの世界ではインターホンがないので、鍵がかかっているとその部屋とやり取りできません。その鍵を開ける作業がポート開放です。
IPアドレス固定
ここからの手順はWindows11で説明しますが、10と画面が大きく異なる部分があります。10の人はすみませんが、同じような設定を探してくださいウナルスに入って僕に聞いてください。IPアドレスを固定する理由は後述します。
まず、検索バーに「cmd」と入力し、コマンドプロンプトを開いてください。

コマンドプロンプトにて「ipconfig」と入力し、実行してください。
接続されているネットワークの「IPv4 アドレス」「サブネット マスク」「デフォルト ゲートウェイ」をメモしてください。

メモできたら、「設定」->「ネットワークとインターネット」を開いて下さい。

接続されているネットワークが表示されていると思うので、「プロパティ」をクリックしてください。

「IP 割り当て: 自動(DHCP)」となっていると思います。「編集」をクリックしてください。

「自動(DHCP)」となっているところをクリックして、「手動」を選択してください。


「IPv4」を「オン」にして、「IPアドレス」「サブネット プレフィックスの長さ」「ゲートウェイ」それぞれにメモした「IPv4 アドレス」「サブネット マスク」「デフォルト ゲートウェイ」を入力して「保存」をクリックしてください。「優先 DNS」には「ゲートウェイ」と同じ値を入力してください。そのほかは空欄で大丈夫です。


IP割り当てが手動になっていて、今設定した値が表示されていればOK!

これでIPアドレスは固定できました!
なぜIPアドレスを固定するのか
つよつよの方は飛ばしてください。
現実世界ではありえない話ですが、ネットワーク上の住所であるIPアドレスは、DHCPという仕組みによってコロコロ変わってしまいます。悪いことかのように言いましたが、これはIPアドレスを意識しなくても(手動で設定しなくても)重複無しで自動で割り振ってくれるありがたい仕組みなのです。
なぜこのような仕組みがあるのかというと、これまた現実世界ではありえない話ですが、ネットワーク上の建物は消えたり出たりするんです。何言ってんのって感じだと思いますが、簡単な話です。
皆さんが使ってるスマホやPC、ゲーム機などは家のネットワークに常時つながっているわけではないですよね?電源を切ればネットから切断されます。手動で切断したり、家から離れても切断されますよね。
これはネットワークから見れば建物が消えてるに等しい状況です。常にあるわけでもないものに特定の住所を占有させ続けるのは非効率的なわけです。そのため、住所が自動的に割り振られる仕組みがあるんですね。
それに対してサーバというものはどうでしょう。常にそのネットワーク上に存在しており、他のコンピュータからアクセスされることが前提です。
本来ならありがたい仕組みなのですが、サーバの場合、住所がコロコロ変わるようでは不便極まりないので、IPアドレスを固定するのです。
ポートフォワーディング
さあ、いよいよ来ました。私が数年間躓いていた部分です。理解ができなかったのではなく、当時この設定について書かれていた記事を見つけられなかったんですよね。
でももう大丈夫。私が来た

とは行かず、、、この手順を見ても絶対にできるとは限りません。
ポートフォワーディングの設定はルータの設定です。まずはルータの設定画面にアクセスしてください。と言われてもそんなもんどこにあるんじゃいという方がほとんどではないでしょうか。それは…
私もわかりません!!!!!!!
冗談ではなく、ほんとにわかりません。なぜかというと、人それぞれ違うからです。使っているルータによって設定画面のアドレスは変わります。なので、こればっかりはウナルスに入って僕に聞いてもわかりかねます。調べてみてください。
調べ方は「(ルータの名前) 設定画面 ログイン」とかで出ると思います。
多くの場合は、IPアドレス固定の時に調べた「ゲートウェイ」のアドレスなのではないかなと思います。私の場合はそうでした。
ここからの手順は人によってバラバラなので、あくまで一例として見て、ご自身の環境でも似たような設定を探してみてください。
※「(ルータの名前) ポートフォワーディング」や「(ルータの名前) ポートマッピング」と検索すると設定方法が一発で出るかもしれません。
まず、調べたルータの設定画面へアクセスしてください。
ブラウザの検索欄にアドレスを入力するだけです。


設定画面が表示されればOKです。
ログイン画面が表示された場合は、パスワードを変更していない限り初期パスワードのままです。先ほど同様「(ルータの名前) 設定 パスワード」とかで検索してみてください。
「設定」をクリックしてください。私の場合はこのタイミングでログインしろと言われました。

「端末設定」->「ファイアウォール」をクリックし、「ポートマッピング」を「ON」にして「保存」をクリックしてください。

すると、ポートマッピングの設定に関する説明と、設定の追加ボタンが表示されるので、「追加」ボタンをクリックしてください。

「名前」に任意の名前、今回は「minecraft」とします。「送信元ポート」に「25565」、「送信先IPアドレス」に先ほど固定したPCのIPアドレス、「送信先ポート」に「25565」、「プロトコル」に「TCP/UDP」、「ステータス」に「ON」を設定して「保存」をクリックしてください。


設定が保存できたというような表示が出ればOKです!
これでポート開放およびポートフォワーディングの設定は完了です。
ポートフォワーディングとは
つよつよの方は飛ばしてください。
ポートフォワーディングとは、インターネットから特定のポート宛てに届いた通信をLAN側の機器(端末)に転送するための設定・機能です。
ポートとはの部分まではLANの話をしていましたが、実際にはインターネットでのやり取りになります。インターネットのやり取りはルータがうまいことしてくれています。

そのうまいことの中にこのポートフォワーディングがあり、正確には静的IPマスカレード(NAPT)のことです。
Minecraftサーバにインターネット経由でアクセスする場合は、接続先を「(グローバルIPアドレス):25565」のように指定します。しかしこのグローバルIPアドレスが指している住所というのはルータの住所であり、実際に接続したいLAN側のサーバの住所ではありません。
そのためグローバルIPアドレスはプライベートIPアドレスに変換する必要があるのですが、LANには複数の端末が接続されるのでどのプライベートIPアドレスに変換すればいいかわからないのです。

そこであらかじめ「このポートに送られてきた通信はこのプライベートIPアドレスのこのポートに送ってね」という設定をあらかじめしておくのです。

理解できましたか?
本当はWANとLANとか、グローバルIPアドレスとプライベートIPアドレスとかも詳しく説明したかったんですが、長くなりすぎるのでやめます。気が向いたら別記事で出します。
接続確認
ここまででインターネットからMinecraftサーバにアクセスできるようになっているはずです。
まず、前回作成したサーバを起動するバッチ「start.bat」をダブルクリックして実行してください。

「Done」と表示され、サーバが起動したらこちらのサイトにアクセスしてください。

この画面で「現在のIPアドレス」をクリック、「チェックポート番号」に「25565」を入力し、「無料でご利用いただけますが…」のチェックボックスにチェックを入れて「Portチェック実行」をクリックしてください。

結果に青文字で「アクセスできました」と表示されていればOKです!

これでインターネットに公開する設定は完了です!!!友達とMinecraftで遊べるようになりました!
友達と遊ぶときは友達をホワイトリストに登録し、友達にサーバのグローバルIPアドレスを伝えてください。
グローバルIPアドレスは先ほどポートの確認を行ったサイトで左にある「IPアドレス確認」をクリックすると確認できます。※グローバルIPアドレスは一緒に遊ぶ人以外に漏洩しないように気を付けてください。
いやホワイトリストどうやって登録すんねん。という方はすみませんが次回かその次の運営編を見てください。もしくはウナルスに入って僕に聞いてください。
参加する友達側の手順
Minecraftを開いて「マルチプレイ」をクリックしてください

「サーバを追加」をクリックしてください

「サーバー名」に分かりやすい名前、「サーバーアドレス」に教えてもらったグローバルIPアドレスを入力して、完了をクリックしてください

一覧に追加されたら、「▶」をクリックしてください。

ワールドに接続できたらOKです!!!完璧です!お疲れ様でした。
ここまで読んでくださった方ありがとうございました。
一個一個説明するとどうしても長くなりますね…やっぱりもうちょっと分割した方がいいかな…
次回も是非見てください!