初めに
この記事ではminecraft serverを使用してワールドを生成するまでの流れを説明します.
この記事にほしい情報がなくても,マイクラサーバーを構築する方法は検索すればたくさん出てくるので,いろんな記事やサイトを見てください.
また,使用OSはLinux系を想定しています.私の環境だとWSLのUbuntu 22.04.1です.ただ,OSに大きく依存するようなことはしていないはずです.そのため,WindowsやMacでも問題ないかと思います.ただ,java17以降が必要になりますので,特にWindowsはPATHの設定をする必要があるかと思います.このあたりの話は触れませんので,ご自身でどうにか頑張ってください.ともかく,java17以降が使えれば問題ないです.
minecraft server
概要
minecraft serverとは,minecraftをマルチプレイ,複数人で同時に同じワールドで遊ぶことができるものです.なので,お友達と一緒にマイクラで遊びたいときに利用しましょう.
javaのインストール
マインクラフトでは最新バージョンで遊ぶなら,java17以降が必要です.2022/12/7現在のopen jdkのlatestはjava19なので最新版のjavaが入っていれば問題ないです.
javaの詳しいインストール方法は別のサイトや記事を探してください.
ダウンロード
さて,minecraft serverをダウンロードしてjarファイルをjavaで実行すれば遊べるには遊べますが,サーバーには種類があるそうです.【最新版対応】誰でも簡単にマイクラプラグインサーバーの立て方【SpigotMC/ PaperMC】というサイトを見つけたので,これにそって説明すると大枠として
- バニラ,つまりminecraft純正のサーバー
- プラグインの導入が簡単なプラグインサーバー
- MODの導入が可能なMODサーバー
の3つに分けられます.私は公式の配布しているサーバーは使ったことがありますので,試しにプラグインサーバーであるpapermcを使ってみたところ,大した違いはないかなと思ったのでpapermcを使って説明していきます.
server本体(papermc)
ダウンロードをする前に,サーバー本体を格納するためのディレクトリを作りましょう.そのディレクトリにワールドのファイルなどが生成されることになります.私はmcserver
というディレクトリを作りました.
ディレクトリの作成ができたら,papermcのダウンロードページからjarファイルをダウンロードしましょう.wget
を使ってダウンロードしても良いと思います.私がダウンロードしたものは#305です.
そうしたら続いてサーバーを一度起動しましょう.
起動
サーバーを起動するにはpapermcのRunning The Serverにある通りのコマンドを打てばよいです.つまり,
$ java -Xms2G -Xmx2G -jar paper-1.19.2-305.jar --nogui
これを実行すればいいわけです.ここでコマンドの引数の詳細はAikar's FlagsやMinecraft Wiki
より,
-
-Xms2G
- 起動時の初期メモリ量を2GBに指定
-
-Xms4G
とすれば4GBに指定できる
-
-Xmx2G
- メモリの最大使用量を2GBに指定
-
Minecraft Wiki
によると,-Xms
と同じ値にすることを推奨している -
Recommended JVM Startup Flagsによると,{ (本体の持っているメモリ) - (1.5GB) }以下の値を設定した方が良いとのこと
- taskがkillされるから
-
-jar
- 実行するjarファイルの指定
-
--nogui
- minecraft server特有のもの
- これを設定するとコンソール上でserver操作が可能になる
- 設定しないとGUI操作でserver操作ができる.
という感じです.これを実行してみると,
~/mcserver$ java -Xms2G -Xmx2G -jar paper-1.19.2-305.jar --nogui
Downloading mojang_1.19.2.jar
Applying patches
Starting org.bukkit.craftbukkit.Main
System Info: Java 18 (OpenJDK 64-Bit Server VM 18.0.2-ea+9-Ubuntu-222.04) Host: Linux 5.15.74.2-microsoft-standard-WSL2 (amd64)
Loading libraries, please wait...
[23:43:25 INFO]: Building unoptimized datafixer
[23:43:26 ERROR]: Failed to load properties from file: server.properties
[23:43:26 WARN]: Failed to load eula.txt
[23:43:26 INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
こんな感じでサーバーは起動できなかったと思います.EULAは利用規約なので,利用規約に同意してねって言われてます.利用規約は読みましょう.
Go to eula.txt
って言われているので見に行きましょう.まずは現在のディレクトリの状態を見ましょう.
~/mcserver$ ls
cache eula.txt libraries logs paper-1.19.2-305.jar server.properties versions
eula.txt
がちゃんとありますね.そしてほかのファイルも生成されています.
~/mcserver$ cat eula.txt
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://aka.ms/MinecraftEULA).
#Tue Dec 06 23:46:09 JST 2022
eula=false
eula.txt
に利用規約のリンクがありますので読みましょう.その後,利用規約に同意したという意味でeula=false
をeula=true
に変更しましょう.私はnano
を使って編集しました.
そして再びminecraft serverを起動してみましょう.
~/mcserver$ java -Xms2G -Xmx2G -jar paper-1.19.2-305.jar --nogui
Starting org.bukkit.craftbukkit.Main
System Info: Java 18 (OpenJDK 64-Bit Server VM 18.0.2-ea+9-Ubuntu-222.04) Host: Linux 5.15.74.2-microsoft-standard-WSL2 (amd64)
Loading libraries, please wait...
[23:47:27 INFO]: Building unoptimized datafixer
...(長いログが出力される)
[23:47:51 INFO]: Done (19.380s)! For help, type "help"
...
上記のようにDone
が表示されるとワールドが生成され読み込み終わった状態です.minecraft本体を起動してワールドに入ってみましょう.
今回使用したサーバーのminecraftバージョンは1.19.2ですので,minecraft本体もそれに合わせたバージョンのものを実行します.
本体が起動できたら,multiplay > direction connectをクリックし,Server Addressにlocalhost
と入力すると入れると思います.ただし,WSLだとlocalhost
のIPアドレスは本体のPCであってWSLにインストールされてるOSではありません.つまりWSLのIPアドレスを確認する必要があります.
WSLでIPアドレスを確認
WSL2/UbuntuのIPアドレスを取得したいという記事を参考にIPアドレスを確認しました.簡単にまとめるとip a show dev eth0
とコマンドを打って出てくるinetの項目がIPアドレスです.
$ ip a show dev eth0
6: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:15:5d:fc:be:6f brd ff:ff:ff:ff:ff:ff
+ inet 172.19.216.140/20 brd 172.19.223.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::215:5dff:fefc:be6f/64 scope link
valid_lft forever preferred_lft forever
diff表現で無理やりハイライトしていますが,その箇所のIPアドレスをServer Addressに入力しましょう.
ちなみに,IPアドレスは固定していない限りwslの起動ごとに変化するはずです.
さて,ワールドに入れたでしょうか.serverのログには
[01:58:03 INFO]: UUID of player [player-name] is [player-id]
[01:58:03 INFO]: [player-name] joined the game
[01:58:03 INFO]: [player-name][ip-address:port] logged in with entity id 201 at ([world]-47.5, 86.0, -315.5)
が追加されていると思います.ただし,[]
内の個人情報(?)っぽいものは念のため伏せています.
認証サーバーがどうたらこうたらで入れない場合,minecraftのアカウントがmicrosoftのアカウントになっていない可能性があります.ご確認ください.
それでも入れない場合は,認証サーバー自体が落ちている場合があります.この場合はmojangがアナウンスしていると思います
それ以外の場合は......頑張って検索してください
お友達と遊ぶ
マルチプレイできるようになったのでお友達と遊びましょう.しかし現在の状態だと自分だけしかワールドに入れないと思います.
他の人も接続できるようにするにはポート開放が必要ですが,その説明は【最新版対応】誰でも簡単にマイクラプラグインサーバーの立て方【SpigotMC/ PaperMC】に任せます.このサイトの記事はOSがWindowsですので注意してください.
というわけで,マイクラサーバーを動かすことができたと思います.
お疲れ様でした.