LoginSignup
0
0

More than 1 year has passed since last update.

マイクラサーバーを動かす

Posted at

初めに

この記事では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 FlagsMinecraft 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=falseeula=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ですので注意してください.

というわけで,マイクラサーバーを動かすことができたと思います.
お疲れ様でした.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0