WindowsでJava版マイクラサーバー「Magma」を立てる方法!

  • URLをコピーしました!
このエントリーをはてなブックマークに追加
Java版マイクラ「Magma」で自宅サーバーを構築!
Java版マイクラ「Magma」で自宅サーバーを構築!
マイクラサーバー構築記事一覧

Java版マイクラサーバー

Windows 11

Ubuntu

※Java版サーバーまとめ

統合版マイクラサーバー(Nukkit)

Windows 11

M1・M2 Mac

Ubuntu

Parallels仮想環境

Docker

  • Nukkit
ふる
ふる

こんにちは!「ふる(プロフィール詳細)」です。

 

Twitterのフォロワーが10人しかいません!

どうかフォローください!

 

@na65125038

MOMOHUKU(ふる)

 

MOMOHUKU - にほんブログ村

 

無料で外部に公開するサーバーを立てます。
つまり友達の家からでも接続できるサーバーを構築します。

  • 無料と書いてある通りレンタルサーバーを使いません。
  • 準備するものは、自宅のPCとインターネット回線だけです。

僕は企業でCTOをしており、プロのITエンジニアです。

そんな僕がどうしてマイクラサーバーの立て方を記事にしているのか?

現状検索してヒットする記事ではマイクラ鯖を外部に公開するのは無理だからです。

サーバーを外部に公開したいのなら、やることは“ポート開放”ではありません。誰が?サーバーを立てる方法を”ポート開放”と言い始めたのか?

驚くかもしれませんが、サーバーを外部に公開する方法は“ポート開放”ではありません(確かにポート開放をしますが。)。

“マイクラ サーバー構築”で検索してみて下さい。

出てくる記事のすべてが“外部にサーバーを公開できないマイクラ記事”です。

この記事では

  • 誰でもJava版マイクラサーバーを立てれるようにします。
  • ConoHa WINGなど課金サーバーを使いません。
  • 家のネットワーク環境をイジります。

ConoHa WING、Minecraft Realms(レルムズ)などの課金サーバーを使いません。

すべて無料でサーバーを外部に公開します。

※実際、この記事の通りに作業してサーバーを外部に公開できることは確認済みです。なので、時間を使ってじっくり読んでもらって大丈夫です。

この記事だけでサーバー構築の知識が完結するように、ネットワークに関するIT用語は末尾に「用語解説」を載せています。

目次

MagmaサーバーはModとプラグイン両方動く!

Minecraft Magma 公式サイト
Minecraft Magma 公式サイト
  • Magma
    • 1.18.2、1.16.5、1.12.2、etc
    • 公式:https://magmafoundation.org/

上記URLからMagmaの公式ホームページに行きます。

右上の「Downloads」からサーバーファイルの配布ページに移動できます。

Magma開発者TheDevMinerTV は「Log4j RCE」でセキュリティクラック

Magma絡みでセキュリティ問題があったので参考までに載せておきます。

Magmaサーバーを立てる前に一読しておくと良いかと思います。

Magmaで起きたセキュリティ問題は、Magmaの開発者TheDevMinerTVが「Log4Shell」を悪用して、マイクラコミュニティサーバーをクラックしたとのこと。

要約すると

  • Magmaの開発者TheDevMinerTVが、Javaのセキュリティホール「Log4Shell」を悪用した。
    ※「Log4Shell」は「過去10年間で最大かつ最も重大な単一の脆弱性」と言われている。
  • Magmaサーバーにはオープンソースでコードでセキュリティ的な問題はない。
  • ただ、今回の件は、Magmaサーバー自体の信用を地に貶めるものになった。Magmaの対応のやり方も満足いくものではなくそれも相まって。

以上が、Magmaサーバーで起きた問題です。マイクラコミュニティの見解は下記です。

引用

On the morning of December 10th, 2021, Magma’s developer TheDevMinerTV exploited the Log4j RCE (Remote Code Execution) vulnerability known as Log4Shell. (You can read about how this affects Minecraft at this Mojang blog post. We confirmed that TheDevMinerTV was actively teaching and exploiting the Log4Shell vulnerability against public servers, while their project lead, Hexeption, watched. We have successfully confirmed that 26 servers, and a number of clients ranging from vanilla to modded, were targeted with several payloads including shutdown code. The stream in question was hosted in Magma’s very own public voice channels, which showcased the malicious consequences of TheDevMinerTV’s actions on servers and clients alike.

引用:https://pixelmonmod.com/news.php – AN ANNOUNCEMENT REGARDING MAGMA AND RCE.

日本語訳

2021 年 12 月 10 日の朝、Magma の開発者である TheDevMinerTV は、 Log4Shellとして知られる Log4j RCE (リモート コード実行) の脆弱性を悪用しました。(これが Minecraft にどのように影響するかについては、この Mojangの「【重要なお知らせ】JAVA 版 MINECRAFT にセキュリティ上の脆弱性」を参照してください。TheDevMinerTV が公開サーバーに対する Log4Shell 脆弱性を積極的に教え、悪用していたことを確認しましたが、そのプロジェクト リーダーである Hexeption が監視していました。バニラから改造されたクライアントまでの数のクライアントが、シャットダウン コードを含むいくつかのペイロードで標的にされました. 問題のストリームは、サーバーとクライアントの両方に対する TheDevMinerTV のアクションの悪意のある結果を示した Magma 独自のパブリック ボイス チャネルでホストされていました.

This all said, I would like to note that Magma’s code is not an issue here. It is open source, readable and anyone with experience can tell you it is safe.

引用:https://pixelmonmod.com/news.php – AN ANNOUNCEMENT REGARDING MAGMA AND RCE.

日本語訳

とはいえ、マグマのコードはここでは問題ではないことに注意してください。オープンソースで読みやすく、経験のある人なら誰でも安全であると言えます。

This is an issue with the human factor; it took one person to take malicious steps and missteps from those around them that in the opinion of my staff and I, has irreparably damaged Magma’s reputation.

引用:https://pixelmonmod.com/news.php – AN ANNOUNCEMENT REGARDING MAGMA AND RCE.

日本語訳

これは人的要因の問題です。私のスタッフと私の意見では、マグマの評判を取り返しのつかないほど傷つけたのは、1人の人が周囲の人々から悪意のある措置と過ちを犯したことです.

繰り返しますが、Magmaのコードには問題はないとのこと(Magmaの信用は地に落ちたとのことですが。)。

Log4Shellの対策はマイクラ公式からも発表されていますし、MagmaサーバーではModとプラグインが動作するのでまだまだ需要があるとので本記事で紹介しています。

本記事で立てる「Magmaサーバー」の環境

サーバー環境

  • Windows ※x86・arm64のどちらでもオッケー
  • Magma 1.18.2 サーバー
  • Javaランタイム環境
  • フォルダ場所はC:\Magmaで作業 ※場所はどこでも良いです
  • ポート開放ツールを使わない

Windowsは10でも11でもなんでも構いません。Javaならどんな環境でも動作するからです。

その他、疑問点を以下にまとめたので読むと理解が深まると思います。

本記事で対象とするWindowsは?

Windows 10・11などすべてのWindowsで動作します。

Javaを使うので、x64・arm64のどちらでも動作します。

なんでMagmaを使うのか?

マイクラを拡張するModプラグインを使えるからです。

なんでMagmaのバージョンで”1.18.2″を使うのか?

1.18.1以降のバージョンはLog4Shell対策でJVMの起動時に追加引数なしで対応しているからです。ただ、他のバージョンでも対策できるので、特にこだわりはありません。

使いたいModのバージョンに合わせて、鯖を立ててみて下さい。

なんでポート開放ツールを使わないのか?

ポート開放ツールを使わない方がネットワークの理解に役立つからです。

公式サーバー(バニラ鯖)とMagmaサーバーの違いは?

公式サーバー(バニラ鯖)ではプラグインを使えません。

Windowsに無料でMinecraftサーバーを建てる!流れ

引用:マインクラフト

Windowsに無料でマイクラサーバーを建てる!流れは下の通りです。

解説のために多少長ったらしい冗長な手順にしています。

なので、サーバーを外部に公開する仕組みが分かっている人は「ローカル環境からサーバーに接続する」という手順を省いてもらって構いません。

鯖を建てる流れ

  • ① 環境準備
    • Javaのインストール
    • WindowsでIPアドレスを調べる
       
  • ② マイクラサーバーをダウンロード
     
  • ③ マイクラサーバーを起動する
     
  • ④ ポート開放
      
  • ⑤ 接続テスト1:ローカル環境からサーバーに接続する
     
  • ⑥ ルーターを設定して、サーバーを外部に公開する
     
  • ⑦ 接続テスト2:グローバル環境からサーバーに接続する

上から順に作業を進めていきます。

サーバーを立てるポイント

  • ローカル環境(内部)でのサーバー接続
  • グローバル環境(外部)でのサーバー接続

ほとんどの人はローカル環境(内部)でのサーバー接続グローバル環境(外部)でのサーバー接続の違いを理解できていません。

結果が同じなので、その違いが分からないのかも知れません。

サーバーを建てる際は、必ずローカル環境とグローバル環境の違いを意識するようにしましょう。

WindowsでPowerShellを使う

Windowsで検索欄にPowerShellと入力する
Windowsで検索欄にPowerShellと入力する

Windows なら検索欄から“PowerShel”と入力すればPowerShell が表示されます。

そのまま“Enter”を押せば、PowerShell が起動します。

起動のやり方は他にもあります。

PowerShellを任意のフォルダ直下で起動させる

PowerShellの起動に"ターミナルで開く"を使えば時短になる
PowerShellの起動に“ターミナルで開く”を使えば時短になる

PowerShellの起動には、任意のフォルダで“右クリック”⇒”ターミナルで開く”の方が時短になります。

PowerShellでcdコマンドを使ってフォルダを移動するのも良いですが面倒です。

PowerShellを任意のフォルダ直下で起動させるには“右クリック”⇒”ターミナルで開く”を使えば楽です。

例えば、PowerShellでマイクラのサーバーフォルダを直接開く

PowerShellでマイクラのサーバーフォルダを右クリックで直接開く
PowerShellでマイクラのサーバーフォルダを右クリックで直接開く

フォルダを“右クリック”⇒”ターミナルで開く”で開けば、わざわざマイクラサーバーの場所にcdコマンドで移動する必要がありません。

任意のフォルダ直下で“右クリック”⇒”ターミナルで開く”でターミナルを起動する方が楽です。

注①: 最新のPowerShell
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows

PS C:\Users\ユーザー名> 

WindowsデフォルトのPowerShell 5.1 を起動すると上のように新機能と改善のために最新の PowerShell をインストールしてください!と表示されるかも知れません。

マイクラのサーバー起動でPowerShellを使う程度ならわざわざ最新にする必要はありませんが、どうしても気になる方は最新のPowerShell 7.2 にすると良いでしょう。

注②:PowerShell の「文字化け」

Windowsのターミナル「PowerShell」 のデフォルトの文字コードはshift_jisです。

shift_jisだと日本語が文字化けします。

そんな時は、文字コードをUTF-8にすれば改善します。

① Windows 環境設定

マイクラのサーバー構築に必要なWindows環境を設定していきます。

環境設定の流れ

  • ① Windowsシステム更新
  • ② OpenJDK(javaランタイム)
  • ③ IPアドレス

Windowsシステム更新は念の為です。順々にやっていきます。

準備①:Windowsシステム更新

準備②:OpenJDK(Java)のインストール

  • OpenJDK の Microsoft ビルドをダウンロードする
    • https://docs.microsoft.com/ja-jp/java/openjdk/download

上記URLからインストールファイルを一式ダウンロードできます。

ただ、いちいちサイトに訪問するのも面倒なので、Windowsのパッケージマネージャーwingetを使ってOpenJDK 17(2022/9/1最新)をダウンロードします。

PS C:\Windows\system32> winget install Microsoft.OpenJDK.17
見つかりました Microsoft Build of OpenJDK with Hotspot 17 [Microsoft.OpenJDK.17] バージョン 17.0.4.101
このアプリケーションは所有者からライセンス供与されます。
Microsoft はサードパーティのパッケージに対して責任を負わず、ライセンスも付与しません。
Downloading https://aka.ms/download-jdk/microsoft-jdk-17.0.4.1-windows-aarch64.msi#winget
 ██████████████████████████████  150 MB / 150 MB
インストーラーハッシュが正常に検証されました
パッケージのインストールを開始しています...
インストールが完了しました

PS C:\Windows\system32> 

winget installコマンド一発でMicrosoft OpenJDK 17(2022/9/1最新)がインストールされます。

wingetを使っていれば、Linuxなどにも慣れるので積極的に使っていきましょう。

OpenJDKを詳しく知りたい方はこちら

準備③:WindowsでローカルIPアドレスを調べる

PowerShell 7.2.6
Copyright (c) Microsoft Corporation.

https://aka.ms/powershell
Type 'help' to get help.

PS C:\Windows\system32> ipconfig

Windows IP 構成


イーサネット アダプター イーサネット:

   接続固有の DNS サフィックス . . . . .:
   IPv6 アドレス . . . . . . . . . . . .: 240b:250:89e0:d200:d8ed:c36c:e2fa:112c
   一時 IPv6 アドレス. . . . . . . . . .: 240b:250:89e0:d200:85a4:c346:84:5b4f
   リンクローカル IPv6 アドレス. . . . .: fe80::d8ed:c36c:e2fa:112c%10
   IPv4 アドレス . . . . . . . . . . . .: 192.168.10.103
   サブネット マスク . . . . . . . . . .: 255.255.255.0
   デフォルト ゲートウェイ . . . . . . .: fe80::8222:a7ff:fe0e:b368%10
                                          192.168.10.1
PS C:\Windows\system32>

WindowsでIPアドレスを調べるコマンドはipconfigです。

僕のローカル環境のIPアドレスは192.168.10.103です。192.168.10.103はあくまでローカルIPアドレスであることを押さえておきましょう。

Magmaサーバーをダウンロード

Minecraft Magma 1.18.2をダウンロード
Minecraft Magma 1.18.2をダウンロード
  • Magma
    • 1.18.2、1.16.5、1.12.2、etc
    • 公式:https://magmafoundation.org/

この記事ではMagma 1.18.2 でJava版マイクラサーバーを立てます。

使いたいMagmaサーバーを選べば良いです。

Javaなのでどのファイルを使っても起動のやり方は同じです。

③ Magmaサーバーを起動する

PS C:\Magma> java -Xms1G -Xmx4G -jar Magma-1.18.2-40.1.79-f7eceaca-server.jar

Magmaサーバーを起動させるコマンドです。

サーバー起動例

PowerShell 7.2.6
Copyright (c) Microsoft Corporation.

https://aka.ms/powershell
Type 'help' to get help.

PS C:\Magma> java -Xms1G -Xmx4G -jar Magma-1.18.2-40.1.79-f7eceaca-server.jar
    __  ___
   /  |/  /___ _____ _____ ___  ____ _
  / /|_/ / __ `/ __ `/ __ `__ \/ __ `/
 / /  / / /_/ / /_/ / / / / / / /_/ /
/_/  /_/\__,_/\__, /_/ /_/ /_/\__,_/
             /____/
Copyright (c) 2022 MagmaFoundation.
--------------------------------------
Running on Java 17.0.4.1 (Microsoft)
Magma version  1.18.2-f7eceaca
Bukkit version v1_18_R2
Forge version  1.18.2-40.1.79-f7eceac
--------------------------------------
WARNING: The new server jar is still under development and will be unstable! If you experience any issues, please report them to the developers.
WARNING: If the server crashes while installing, try removing the libraries folder and launching the server again.
WARNING: It appears you have not agreed to the EULA.
Please read the EULA (https://account.mojang.com/documents/minecraft_eula) and type 'yes' to continue.
Do you accept? (yes/no): yes
Loading libraries... 100% [======================] 100/100 (0:01:09 / 0:00:00)
Patching server... 100% [============================] 8/8 (0:00:18 / 0:00:00)
2022-09-12 23:04:01,727 main WARN Advanced terminal features are not available in this environment
[23:04:01] [main/INFO] [cp.mo.mo.Launcher/MODLAUNCHER]: ModLauncher running: args [--launchTarget, forgeserver, --fml.forgeVersion, 40.1.79, --fml.mcVersion, 1.18.2, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20220404.173914]
[23:04:01] [main/INFO] [cp.mo.mo.Launcher/MODLAUNCHER]: ModLauncher 9.1.3+9.1.3+main.9b69c82a starting: java version 17.0.4.1 by Microsoft
[23:04:01] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=union:/C:/Magma/libraries/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar%2314!/ Service=ModLauncher Env=SERVER
:
:
:
[23:04:18] [Server thread/INFO] [/]: Server Ping Player Sample Count: 12
[23:04:18] [Server thread/INFO] [Minecraft/]: Using 4 threads for Netty based IO
[23:04:18] [Server thread/INFO] [Minecraft/]: Debug logging is enabled
[23:04:18] [Server thread/INFO] [minecraft/DedicatedServer]: Default game type: SURVIVAL
[23:04:18] [Server thread/INFO] [minecraft/MinecraftServer]: Generating keypair
[23:04:18] [Server thread/INFO] [minecraft/DedicatedServer]: Starting Minecraft server on *:25565
:
:
:
[23:04:59] [Worker-Main-5/INFO] [minecraft/LoggerChunkProgressListener]: Preparing spawn area: 98%
[23:04:59] [Server thread/INFO] [minecraft/LoggerChunkProgressListener]: Time elapsed: 31464 ms
[23:04:59] [Server thread/INFO] [minecraft/DedicatedServer]: Done (40.207s)! For help, type "help"
[23:04:59] [Server thread/INFO] [ne.mi.se.pe.PermissionAPI/]: Successfully initialized permission handler forge:default_handler
[23:04:59] [Server thread/INFO] [or.ma.ma.Magma/]: Forwarding forge permission[magma:permission] to bukkit

Magmaサーバーの起動を確認したら一旦閉じます。

また、サーバーを起動するとポート番号などの設定値が表示されます。

起動時に表示を見る癖をつけると良いでしょう。

起動時の表示にサーバー情報が出る!

[23:04:18] [Server thread/INFO] [minecraft/DedicatedServer]: Starting Minecraft server on *:25565

PowerShell は「文字化け」する

Windowsのターミナル「PowerShell」 のデフォルトの文字コードはshift_jisです。

shift_jisだと日本語が文字化けします。

そんな時は、文字コードをUTF-8にすれば改善します。

初回サーバー起動時はEULAに合意する

PowerShell 7.2.6
Copyright (c) Microsoft Corporation.

https://aka.ms/powershell
Type 'help' to get help.

PS C:\Magma> java -Xms1G -Xmx4G -jar Magma-1.18.2-40.1.79-f7eceaca-server.jar
    __  ___
   /  |/  /___ _____ _____ ___  ____ _
  / /|_/ / __ `/ __ `/ __ `__ \/ __ `/
 / /  / / /_/ / /_/ / / / / / / /_/ /
/_/  /_/\__,_/\__, /_/ /_/ /_/\__,_/
             /____/
Copyright (c) 2022 MagmaFoundation.
--------------------------------------
Running on Java 17.0.4.1 (Microsoft)
Magma version  1.18.2-f7eceaca
Bukkit version v1_18_R2
Forge version  1.18.2-40.1.79-f7eceac
--------------------------------------
WARNING: The new server jar is still under development and will be unstable! If you experience any issues, please report them to the developers.
WARNING: If the server crashes while installing, try removing the libraries folder and launching the server again.
WARNING: It appears you have not agreed to the EULA.
Please read the EULA (https://account.mojang.com/documents/minecraft_eula) and type 'yes' to continue.
Do you accept? (yes/no): yes

初回サーバー起動時はEULAに同意する必要があります。プロンプト上でyesと入力してEnterを押せば、サーバー起動が進行します。

Magmaの場合は、他のサーバーと違ってeula.txtを編集する必要はありません。

EULAを設定してもMagmaが起動しない場合

PowerShell 7.2.6
Copyright (c) Microsoft Corporation.

https://aka.ms/powershell
Type 'help' to get help.

PS C:\Magma> java -Xms1G -Xmx4G -jar Magma-1.18.2-40.1.79-f7eceaca-server.jar
    __  ___
   /  |/  /___ _____ _____ ___  ____ _
  / /|_/ / __ `/ __ `/ __ `__ \/ __ `/
 / /  / / /_/ / /_/ / / / / / / /_/ /
/_/  /_/\__,_/\__, /_/ /_/ /_/\__,_/
             /____/
Copyright (c) 2022 MagmaFoundation.
--------------------------------------
Running on Java 17.0.4.1 (Microsoft)
Magma version  1.18.2-7b6f805e
Bukkit version v1_18_R2
Forge version  1.18.2-40.1.79-7b6f805
--------------------------------------
WARNING: The new server jar is still under development and will be unstable! If you experience any issues, please report them to the developers.
WARNING: If the server crashes while installing, try removing the libraries folder and launching the server again.
Loading libraries... 100% [==============================================================] 100/100 (0:00:00 / 0:00:00)
WARNING: It appears you have installed a new version of magma, please remove the libraries folder before continuing. The server will now shut down.

PS C:\Magma>

EULAを設定してもMagmaが起動しない場合があります。

そういう場合はプロンプトの表示を確認しましょう。何かしらヒントがあります。

WARNING: It appears you have installed a new version of magma, please remove the libraries folder before continuing. The server will now shut down.

上の文章がヒントです。

訳すと「新しいバージョンがあるので既存のライブラリフォルダーを削除してください。」ということです。

PS C:\Magma> ls
PS C:\Magma> rm -r .\libraries\

Magmaディレクトリ内のlibrariesフォルダを削除します。

先ずlsを打ってMagmaディレクトリ内を表示してlibrariesフォルダがあるかを確認します。

次にrm -r .\libraries\librariesフォルダを削除します。

rmコマンド実行例

WowerShell 7.2.6
Copyright (c) Microsoft Corporation.

https://aka.ms/powershell
Type 'help' to get help.

PS C:\Magma> java -Xms1G -Xmx4G -jar Magma-1.18.2-40.1.79-f7eceaca-server.jar
    __  ___
   /  |/  /___ _____ _____ ___  ____ _
  / /|_/ / __ `/ __ `/ __ `__ \/ __ `/
 / /  / / /_/ / /_/ / / / / / / /_/ /
/_/  /_/\__,_/\__, /_/ /_/ /_/\__,_/
             /____/
Copyright (c) 2022 MagmaFoundation.
--------------------------------------
Running on Java 17.0.4.1 (Microsoft)
Magma version  1.18.2-7b6f805e
Bukkit version v1_18_R2
Forge version  1.18.2-40.1.79-7b6f805
--------------------------------------
WARNING: The new server jar is still under development and will be unstable! If you experience any issues, please report them to the developers.
WARNING: If the server crashes while installing, try removing the libraries folder and launching the server again.
Loading libraries... 100% [==============================================================] 100/100 (0:00:00 / 0:00:00)
WARNING: It appears you have installed a new version of magma, please remove the libraries folder before continuing. The server will now shut down.

PS C:\Magma> ls

    Directory: C:\Magma

Mode                 LastWriteTime         Length Name
:
:
:
d----          2022/09/12    23:37                libraries
:
:
:

PS C:\Magma> rm -r .\libraries\
PS C:\Magma> ls

    Directory: C:\Magma

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----          2022/09/12    23:04                config
d----          2022/09/12    23:04                defaultconfigs
d----          2022/09/12    23:39                logs
d----          2022/09/12    23:04                mods
d----          2022/09/12    23:04                plugins
d----          2022/09/12    23:39                world
-a---          2022/09/12    23:37              2 banned-ips.json
-a---          2022/09/12    23:37              2 banned-players.json
-a---          2022/09/12    23:37            635 bukkit.yml
-a---          2022/09/12    23:37            104 commands.yml
-a---          2022/09/12    23:02              9 eula.txt
-a---          2022/09/12    23:04              0 help.yml
-a---          2022/09/12    23:29        9548303 Magma-1.18.2-40.1.79-f7eceaca-server.jar
-a---          2022/09/12    23:37            975 magma.yml
-a---          2022/09/12    23:37              2 ops.json
-a---          2022/09/12    23:04              0 permissions.yml
-a---          2022/09/12    23:39           1210 server.properties
-a---          2022/09/12    23:37           3844 spigot.yml
-a---          2022/09/12    23:37              2 usercache.json
-a---          2022/09/12    23:04              2 whitelist.json

PS C:\Magma>

rm -r .\libraries\librariesフォルダを削除できました。

再度、Magmaサーバーを起動します。

PS C:\Magma> java -Xms1G -Xmx4G -jar Magma-1.18.2-40.1.79-f7eceaca-server.jar
    __  ___
   /  |/  /___ _____ _____ ___  ____ _
  / /|_/ / __ `/ __ `/ __ `__ \/ __ `/
 / /  / / /_/ / /_/ / / / / / / /_/ /
/_/  /_/\__,_/\__, /_/ /_/ /_/\__,_/
             /____/
Copyright (c) 2022 MagmaFoundation.
--------------------------------------
Running on Java 17.0.4.1 (Microsoft)
Magma version  1.18.2-7b6f805e
Bukkit version v1_18_R2
Forge version  1.18.2-40.1.79-7b6f805
--------------------------------------
WARNING: The new server jar is still under development and will be unstable! If you experience any issues, please report them to the developers.
WARNING: If the server crashes while installing, try removing the libraries folder and launching the server again.
Loading libraries...  28% [======>               ]  28/100 (0:00:09 / 0:00:23)

サーバーの起動コマンドを打てば、最新のlibrariesが自動的にダウンロードされます。しばらく待っていればMagmaサーバーが起動します。

当然、直接フォルダを右クリックで削除しても構いません。

フォルダ削除は右クリックからでもOK

④ ローカルマシン(Windows)のポート開放:Windows Defenderの場合

Windows DefenderのOpenJDK ポート開放画面
Windows DefenderのOpenJDK ポート開放画面

「Windows Defender」は、Windowsデフォルトのセキュリティソフトです。

McAfeeなど他社のセキュリティソフトを入れていない人は、この「Windows Defender」の場合でのポート開放になります。

と言っても、ポート開放はクリック一つで完了します。

Javaサーバーをはじめて起動するとWindows Defenderの画面が表示されます(上の画像)。

この画面の「アクセスを許可する」を押すだけで、ローカルマシン(Windowsマシン)のポート開放は完了です。

ちなみにこの画面はJava(OpenJDK)のポートアクセス許可を承諾する画面です。

赤枠のパブリック(WAN)か、プライベート(LAN)のどちらの設定か?という話ですが、外部に公開するサーバーを立てるのでパプリック、プライベートの両方に✔︎をつけましょう。

※ちなみにパプリックにチェックをつけると、Windowsマシンのセキュリティは弱くなります。

Windows Defenderでのポート開放のため、McAfeeなど他のセキュリティソフトを使用している場合は、そのセキュリティソフトの設定画面からポート開放する必要があります。

McAfeeでのポート開放のやり方

記事を作成中

McAfee(その他のセキュリティソフト)を使ってるなら、そのセキュリティソフトだけポート設定をすれば十分です。

なので、McAfee(その他のセキュリティソフト)を使っているなら、Windows Defenderの設定は不要です。

ポート設定がきちんと反映されているか、Windows Defenderの設定を確認しておきましょう。

Windows DefenderのOpenJDKのTCPポート設定を確認する※見るだけ

Windows DefenderでOpenJDKプログラムのポート開放を確認しておきましょう。

ポート開放の設定を見るだけです(既に上でポートを開放したからです。)。

Windows Defenderは検索欄から”defender”と入力すれば表示されます。

「Windows Defender ファイアーウォール」をクリックしましょう。

赤枠「詳細設定」を開きます。

Microsoft Defender ファイアウォール OpenJDK TCPポート
Microsoft Defender ファイアウォール OpenJDK TCPポート

確認するのは「受信の規則」です。ちなみに「送信の規則」には「OpenJDK」の設定欄はないはずです。

「受信の規則」を開くと、小さいですが「OpenJDK」の欄がTCP・UDPで二行があります。

Java版マイクラサーバーで確認するのはTCPの欄です。

理由は、Java版マイクラサーバーで受け付けるポート:25565TCPだからです。

OpenJDKの受信規則で何を確認するか?

  • TCP or UDP
  • ポートは何を設定しているか?
  • パブリック or プライベートネットワーク?

パブリック or プライベートネットワークってなに?と思うかも知れません。

外部(グローバル・パブリックとも言う)か、内部(ローカル・プライベートとも言う)か、の違いです。

さて、OpenJDK(TCP)の行を選んで、右の赤枠「プロパティ」を開きます。

OpenJDKプログラムのアクセス許可に関する設定画面です。

ふーんという程度に眺めておきましょう。

Microsoft Defender ファイアウォール OpenJDK TCPポート プロパティ
Microsoft Defender ファイアウォール OpenJDK TCPポート プロパティ

さて、この画面は受信ポートのプロトコルがTCPで、受付ポートはすべてということです。

つまり、OpenJDKを使うプログラムはポート:25565/TCPに限らず、すべてのTCPポートを受け付けるということです。

例えば、思いつきでサーバーをポート:64553/TCPで受け付けても、他のプログラムのポートと衝突しなければ即受付されます。

ネットワークのスコープも設定できます。

サーバーを外部に公開しないならプライベートネットワークのみの設定にすると良いでしょう。

どうでしょう?

自分でポート開放の設定を見たら腑に落ちませんか?

自動でポート開放された設定値をそのままにせず、次回に活かすために確認しておくと良いでしょう。

ローカルマシン(Windowsマシン)のネットワーク設定は「パブリック」

この設定も念の為に確認しておいて下さい。

ローカルマシン(Windowsマシン)そのものは「パブリック」に設定されていると思います。

ちなみに、パブリックの方がセキュリティ的には厳しい設定になります。

ネットワーク設定の違い

  • パブリック:外部のネットワークに繋ぐため、リモート接続などのポート閉じる。
  • プライベート:内部のネットワークで使用するため、リモート接続などのポートを開く。

頭が混乱するかも知れませんが、こちらはPC本体の設定です。

上のOpenJDKをパブリック設定にすると、セキュリティが甘くなる話とは違います。

ネットワーク設定の画面を開くなら

デスクトップ右下のアンテナを右クリックすれば開くことができます。

⑤ 接続テスト1:ローカル環境からサーバーに接続する【Java版】

IPアドレスの確認、ローカルマシンのポート開放も済んだので、ローカル環境からサーバーに接続テストをしましょう(以下、ローカル接続テストと言います。)。

下記手順で進めましょう。

ローカル接続テスト手順

  • 1)Java版マイクラサーバーを起動する。
  • 2)IPアドレス・ポート番号を再度確認する。
  • 3)マイクラランチャーをバージョン1.18.2にする。
  • 4)自宅のパソコンからサーバーにアクセスする。

当然、IPアドレス、ポート番号が必要になるので、どこかにメモっておきましょう。

先ずはサーバーを起動しましょう。

1)Java版マイクラサーバー「Magmaサーバー」を起動する。

Minecraft SpigotMC サーバー起動
Minecraft SpigotMC サーバー起動
PS C:\Magma> java -Xms1G -Xmx4G -jar Magma-1.18.2-40.1.79-f7eceaca-server.jar

Magmaサーバーを起動させるコマンドです。

2)IPアドレス・ポート番号を再度確認する。

PowerShell 7.2.6
Copyright (c) Microsoft Corporation.

https://aka.ms/powershell
Type 'help' to get help.

PS C:\Magma> ipconfig

Windows IP 構成


イーサネット アダプター イーサネット:

   接続固有の DNS サフィックス . . . . .:
   IPv6 アドレス . . . . . . . . . . . .: 240b:250:89e0:d200:d8ed:c36c:e2fa:112c
   一時 IPv6 アドレス. . . . . . . . . .: 240b:250:89e0:d200:85a4:c346:84:5b4f
   リンクローカル IPv6 アドレス. . . . .: fe80::d8ed:c36c:e2fa:112c%10
   IPv4 アドレス . . . . . . . . . . . .: 192.168.10.103
   サブネット マスク . . . . . . . . . .: 255.255.255.0
   デフォルト ゲートウェイ . . . . . . .: fe80::8222:a7ff:fe0e:b368%10
                                          192.168.10.1
PS C:\Magma>

IPアドレスを調べるコマンドはipconfigです。

上の表示からIPアドレスは192.168.10.103だと分かります。

ポートは上のサーバー起動の表示から25565/TCPだと分かります。

3)マイクラランチャーのバージョンを1.18.2にする。

起動構成を開いて「新規作成」を押します。

バージョン欄から「release 1.18.2」を選びます。そして「作成」を押します。

ちなみに「名前」は任意です。本記事では「Magma」にしました。

「Magma 1.18.2」を選んでからマイクラを起動します。

4)自宅のパソコン(ローカル環境)からサーバーにアクセスする。

ローカル環境からサーバーに接続する端末選びですが「自宅のネットに接続したパソコン」を使うと良いでしょう。

細かなことが分からなければ、とりあえず「自宅のネットに接続したパソコン」でサーバーに接続してみて下さい。

M1・M2 Macで自宅サーバー(マイクラ Java Edition)にローカル接続テスト!
M1・M2 Macで自宅サーバー(マイクラ Java Edition)にローカル接続テスト!

「自宅のネットに接続したパソコン」でMinecraftを起動します。

次に「マルチプレイ」を押します。

「サーバーを追加」を押します。

Java版マイクラ自宅サーバーのアドレス(ローカル)を追加
Java版マイクラ自宅サーバーのアドレス(ローカル)を追加

サーバーアドレスにIPアドレス:ポートの組み合わせで入力します。

僕の環境では192.168.10.103:25565です。

入力したら「完了」を押します。

Java版Minecraftサーバーにローカルから接続テスト
Java版Minecraftサーバーにローカルから接続テスト

サーバーを起動させているのでオンライン情報📶が表示されてます。

そのまま「サーバーに接続」を押します。

Java版マイクラ自宅サーバーに接続中
Java版マイクラ自宅サーバーに接続中

サーバー接続中の表示になるので暫く待ちます。

M1・M2 MacでMagmaサーバー(マイクラ Java Edition)にログイン!
M1・M2 MacでMagmaサーバー(マイクラ Java Edition)にログイン!
M1・M2 MacでもMagmaサーバー(マイクラ Java Edition)は軽快に動作!
M1・M2 MacでもMagmaサーバー(マイクラ Java Edition)は軽快に動作!

ログインできれば、ローカル接続テストは成功です。

Windows上のMagmaサーバー(マイクラ Java Edition)プロンプト
Windows上のMagmaサーバー(マイクラ Java Edition)プロンプト

WindowsのJava版マイクラサーバー(Magmaサーバー)に、“nyandaisensei”でログインできてるのが分かると思います。

念の為、サーバーのプロンプトも確認しておきましょう。

特に、この表示に注目してください。

[01:31:15] [Server thread/INFO] [minecraft/PlayerList]: nyandaisensei[/192.168.10.101:53249] logged in with entity id 60 at (-37.5, 91.0, -541.5)

nyandaisensei[/192.168.10.101:53249]

このアドレスは、グローバルIPアドレスか、ローカルIPアドレスか?どちらでしょうか?

答えはローカルIPアドレスです。

これはローカルサーバーの接続テストです。

まだ、外部にサーバーを公開していないので外の友達からはこのサーバーにはアクセスできません。

では、次にローカルサーバーを外部に公開していきましょう。

⑥ 外部に公開!ルーター「Aterm WG2600HS」でTCPポート転送の設定例

サーバーを外部に公開するのはここからが本番です。

サーバーを外部に公開するためには、ルーター側にポート転送設定を行います。

場合によってはパケットフィルタ設定(ルーター上のポート開放)も必要になるかも知れません(今回は不要です。)。

※「ルーター」「ポート転送」など「用語解説」は下にあります。

先ずはルーターの設定画面を開こう

NEC製ルーター「Aterm WG2600HS」の設定画面

ルーターのURLは、ローカルIPアドレスの最下段を“1”にしたアドレスです。

ローカルIPアドレス192.168.10.101なら、ルーターのURLは192.168.10.1です。

僕の環境では、ルーターの設定画面を開くには、URL欄にhttps://192.168.10.1でアクセスしました。

また、ログインに必要な「ユーザー名」などは注意書きされてます。

「ユーザー名」には「admin」と半角小文字で入力し、「パスワード」には、本商品本体のラベルに記載された数字6桁のパスワード(Web PW)を入力して、[ログイン]をクリックしてください。

機器によっては取扱説明書などにユーザー名などの初期設定値が記載されていたりもします。

他の機器も多少違いはあれど、ほとんど同じです。

ポートマッピングの設定画面を開く

NEC製ルーター「Aterm WG2600HS」のトップ画面

ルーターにログインしたら、上記画面が表示されます。

中段右側に「ポートマッピング設定」という項目があるので、それをクリックします。

ちなみに、ルーターAterm WG2600HSではポート転送を“ポートマッピング”と呼んでいます。

BUFFALOなどのルーター機器だと“ポートフォワーディング”と表示されてるかも知れません。ポート転送=ポートマッピング=ポートフォワーディング、すべて同じ意味です。

※「ルーター」「ポート転送」など「用語解説」は下にあります。

ポートマッピングの設定をする

NEC製ルーター「Aterm WG2600HS」でポートマッピング(ポート転送)するための設定画面
NEC製ルーター「Aterm WG2600HS」でポートマッピング(ポート転送)するための設定画面

画像は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)でサーバーにアクセスする。
  • 中継地点のルーターはポート:36128192.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:グローバル環境からサーバーに接続する

マインクラフト"Java Edition"はM1・M2 Macでも起動する!
マインクラフト”Java Edition”はM1・M2 Macでも起動する!

ここまで来れば、あと一歩です。

今度はグローバル環境(外部)からサーバーに接続テストを行います(以下、グローバル接続テストと言います。)。

外部からの接続テストのために事前に準備するものは下の三つです。

準備するもの

  • 1)CMANグローバルIPアドレスを確認する
  • 2)CMANでPortチェックテスト
  • 3)用意できるなら:友達の家のPCから接続テスト

ちなみに、グローバルIPアドレスの確認はCMANで手軽できます。

1)CMANでグローバルIPアドレスを確認する

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(マイクラ)の違い

引用:Minecraft

マインクラフトには、Java版と統合版があります。サーバー立てるならどちらが良いか考える必要があります。

大きな違いは“対応デバイス”です。

JAVA版と統合版の違い

JAVA版統合版(Bedrock版)
オススメ★★★★★★★★★☆
対応デバイスWindows、Mac、LinuxWindows 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版Minecraft にセキュリティ上の脆弱性【Log4Shell】

参考:https://www.minecraft.net/ja-jp/article/important-message–security-vulnerability-java-edition-jp



【記事PR】M1・M2 MacでWindowsを使うなら「Parallels®︎ Desktop 18 for Mac」14日間無料トライアル!

クリック数回でMac(M1・M2含む)上にWindows環境が構築できる!
クリック数回でMac(M1・M2含む)上にWindows環境が構築できる!
Parallels®︎ Desktop 18 for Mac 14日間無料トライアル!

Apple純正のWindows仮想環境ソフト「Boot Camp」は、M1・M2 Macでは動作しません。※Intel搭載のMacでのみ動作します。

M1・M2 Macで「Windows」を使うなら、対応するソフトは「Parallels®︎ Desktop 18 for Mac」のみです。

「Parallels®︎ Desktop 18 for Mac」は、アカウント登録せずに無料トライアル版(14日間無料)をダウンロードできます。

今すぐ試すことが出来るようになっています。

アカウントを作成しないで14日間無料トライアルできるので、ぜひ試してみてください。

Parallels®︎ Desktop 17 for Macの使い方!

Amazon最新ランキング(コミック)

「Bizarre」ゲームストリーミングチーム!

Bizarreメンバー:くれいぱいぷ

「Bizarre」への参加・脱退は「Twitterのブロック解除」なみに簡単です。
「Bizarre」よくあるご質問も読んで見て下さい。

コメント

コメントする

目次