4
3

More than 1 year has passed since last update.

minecraft server 1.20.1 を ubuntu server 22.04 で動作させる

Last updated at Posted at 2023-07-16

ubuntu server 22.04をminecraft serverとして動作させます。
image.png

環境

Server
・Ubuntu Server 22.04.2 LTS
・MINECRAFT: JAVA EDITION 1.20.1

Client
・Windows 11 Pro
・MINECRAFT: Launcher for Windows 10.0.2.5.9
・MINECRAFT: JAVA EDITION 1.20.1

構成

自宅ローカル環境のubuntu serverにてminecraftを動作させ、クライアントとしてwindows 11 Proから接続します。

インターネットから接続できるような構成・設定ではありません。


■構成イメージ(簡易)
image.png

■構成イメージ(詳細)
image.png

vmware Workstation/ESXi周りの説明は本稿では行いません。
必要に応じて以下を参照ください。
https://qiita.com/Higemal/items/f0a2758b892f710d1eb3



1.サーバ要件

ubuntu serverの構成要件を確定します。

OS/Software
・ubuntu server 22.04 LTS
・openjdk-19-jdk
・MINECRAFT: JAVA EDITION 1.20.1

Hardware
・CPU 4core
・Memory 6GB
・Disk 30GB

以下のRecommendedスペックを参考にしています。
https://minecraft.fandom.com/wiki/Server/Requirements/Dedicated

Requirements Players CPU RAM HDD
Recommended 5-7 Intel Core-Based CPUs or AMD K8-Based CPUs at 3.4GHz or higher 5 GB 18 GB empty space

2.インストーラダウンロード

2.1 ubuntu server

ubuntu serverは以下からダウンロードします。

desktopとserver、またLTSと最新版がありますが、今回は Server の LTS をダウンロードします。
ubuntu-22.04.2-live-server-amd64.iso
image.png

2.2 minecraft

minecraftは以下からダウンロードします。

client用の WINDOWSレガシーランチャーをダウンロード 、Server用の JAVA版サーバー をダウンロードします。

Client: MinecraftInstaller.exe
Server: server.jar

image.png

3.ubuntu serverインストール

ubuntu serverをインストールします。

3.1 HW準備

#割愛しますが、以下のスペックでVMを準備しています。

Hardware
・CPU 4core
・Memory 6GB
・Disk 30GB

image.png

3.2 OSインストール

以下のISOメディアを利用し、インストールを開始します。
ubuntu-22.04.2-live-server-amd64.iso

BIOSが起動したら、Try or Install Ubuntu Serverを選択し、Enterを押下します。
image.png

Englishを選択し、Enterを押下します。
image.png

Continue without updatingを選択し、Enterを押下します。
image.png

キーボードレイアウトについて、以下を選択し、Doneを押下します。
・Layout: Japanese
・Variant: Japanese
image.png

Ubuntu Serverを選択し、Doneを押下します。
image.png

Network connection設定では表示されているNICを選択し、Edit IPv4を押下します。
image.png

IPアドレス等を設定し、Saveを押下します。
・IPv4 Method: Manual ・・・手動設定
・Subnet: 192.168.142.0/24 ・・・ネットワークサブネット
・Address: 192.168.142.53 ・・・サーバのIPアドレス
・Gateway: 192.168.142.2 ・・・デフォルトゲートウェイ
・Name servers: 192.168.142.2,8.8.8.8 ・・・DNSサーバ
・Search domains: test.local ・・・DNSサフィックス
image.png

Doneを押下します。
image.png

Configration proxyは何も設定せずDoneを押下します。
image.png

Configration ubuntu archive mirrorは何も設定せずDoneを押下します。
image.png

Guided storage configrationは何も設定せずDoneを押下します。
image.png

Storage configrationは何も設定せずDoneを押下します。
image.png

Continueを押下します。
image.png

ユーザ名・ホスト名を設定し、Saveを押下します。
・Your name: - ・・・管理者の氏名。入力不要
・Your server's name: ubnt22-mc ・・・サーバホスト名
・Pick a username: ubuntu ・・・一般ユーザのユーザ名
・Choose a password: ****** ・・・パスワード
・Confirm your password: ****** ・・・パスワード確認入力
image.png

Skip for nowを選択し、Continueを押下します。
image.png

SSH Setupは以下を選択し、Doneを押下します。
・Install OpenSSH Server: [x]
・Import SSH identity: No
image.png

Feratured Server Snapsは何も設定せずDoneを押下します。
image.png

インストールが開始されます。
完了した場合、上部にInstall Complete!と表示されるので、Reboot Nowを押下します。
image.png

再起動後、SSH接続が可能になります。
image.png

3.3 OS初期設定

3.3.1 root昇格

以降、sudoが必要な場面が多いためroot昇格しておきます。

root昇格
# sudo su -

3.3.2 タイムゾーン設定

タイムゾーン設定を行います。

タイムゾーン設定
# timedatectl set-timezone Asia/Tokyo

# timedatectl
               Local time: Sun 2023-07-16 21:02:11 JST   ### JSTとなっていることを確認 ###
           Universal time: Sun 2023-07-16 12:02:11 UTC
                 RTC time: Sun 2023-07-16 12:02:11
                Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

3.3.3 パッケージアップデート

導入済みパッケージのアップデートを実施します。

パッケージアップデート
# apt -y update
# apt -y upgrade

導入済みパッケージ確認は以下コマンドになります。
apt list --installed
dpkg-query -l

3.3.4 ufw設定

ubuntu firewallを設定し、必要なネットワークポートのみ解放します。

事前状態が無効(inactive)であることを確認します。

事前確認
# ufw status verbose

Status: inactive

デフォルトで外→内について全ポートの閉塞、またSSHで利用するTCP22およびminecraftで利用するTCP25565を開放します。

設定
# ufw default deny
# ufw allow 22/tcp
# ufw allow 25565/tcp

ufwを起動します。

ufw起動
# ufw enable

動作確認をします。
Statusがactiveになっていること、Defaultにてdeny (incoming)となっていること、解放したポートがallowとなっていることを確認します。

動作確認
#ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW IN    Anywhere                  
25565/tcp                  ALLOW IN    Anywhere                  
22/tcp (v6)                ALLOW IN    Anywhere (v6)             
25565/tcp (v6)             ALLOW IN    Anywhere (v6)             

4.minecraft server設定

minecraft serverのための設定等を実施します。

4.1 JDKインストール

JDKをインストールします。今回はapt searchのうち最新のopenjdk-19-jdkをインストールします。

インストールするパッケージの確認を行います。

パッケージ確認
# apt search --names-only openjdk-19-jdk

openjdk-19-jdk/jammy-updates,jammy-security 19.0.2+7-0ubuntu3~22.04 amd64
  OpenJDK Development Kit (JDK)

openjdk-19-jdk-headless/jammy-updates,jammy-security 19.0.2+7-0ubuntu3~22.04 amd64
  OpenJDK Development Kit (JDK) (headless)

パッケージのインストールを行います。

パッケージインストール
# apt install -y openjdk-19-jdk

javaバージョン確認コマンドでインストールされたことを確認します。

インストール確認
# java --version

openjdk 19.0.2 2023-01-17
OpenJDK Runtime Environment (build 19.0.2+7-Ubuntu-0ubuntu322.04)
OpenJDK 64-Bit Server VM (build 19.0.2+7-Ubuntu-0ubuntu322.04, mixed mode, sharing)

4.2 jarファイル配置

minecraft server本体であるserver.jarを配置します。

teratermのファイルからSSH SCP...を押下します。
image.png

/tmpserver.jarを格納します。
image.png

minecraft用ディレクトリ /minecraft を作成します。

ディレクトリ作成
# mkdir /minecraft

jarファイルをminecraft用ディレクトリに配置します。

jarファイル配置
# cp -p /tmp/server.jar /minecraft
# cd /minecraft

# ll
total 46680
drwxr-xr-x  2 root   root       4096 Jul 16 21:09 ./
drwxr-xr-x 20 root   root       4096 Jul 16 21:08 ../
-rw-r--r--  1 ubuntu ubuntu 47791053 Jul 16 07:05 server.jar

4.3 初回起動とEULA同意

minecraft serverを初回起動します。
必ずライセンスエラーで終了します。

初回起動
# java -Xmx5120M -Xms5120M -jar server.jar nogui

<中略>
[21:10:57] [ServerMain/WARN]: Failed to load eula.txt
[21:10:57] [ServerMain/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

初回起動を行うと、以下ファイルが生成されます。

ライセンスファイル確認
# ll
total 46700
drwxr-xr-x  5 root   root       4096 Jul 16 21:10 ./
drwxr-xr-x 20 root   root       4096 Jul 16 21:08 ../
-rw-r--r--  1 root   root        158 Jul 16 21:10 eula.txt
drwxr-xr-x  8 root   root       4096 Jul 16 21:10 libraries/
drwxr-xr-x  2 root   root       4096 Jul 16 21:10 logs/
-rw-r--r--  1 ubuntu ubuntu 47791053 Jul 16 07:05 server.jar
-rw-r--r--  1 root   root       1272 Jul 16 21:10 server.properties
drwxr-xr-x  3 root   root       4096 Jul 16 21:10 versions/

eula.txtの中身を変更する必要があるので、内容を編集します。
・変更前: eula=false
・変更後: eula=true

eula編集
# vi eula.txt

#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://aka.ms/MinecraftEULA).
#Sun Jul 16 21:10:57 JST 2023
eula=true

4.4 minecraft server起動

minecraft serverを起動します。

コマンド内容
-Xmx5120M:最大メモリ使用量を5120MBに指定
-Xms5120M:最小メモリ使用量を5120MBに指定
nogui:CUI環境で必要なオプション

minecraft server起動
# java -Xmx5120M -Xms5120M -jar server.jar nogui

<中略>
[21:11:57] [Server thread/INFO]: Time elapsed: 16947 ms
[21:11:57] [Server thread/INFO]: Done (20.672s)! For help, type "help"

以後、teratermやコンソールを閉じず、そのままにしておきます。



5.minecraft clientからの接続

minecraft clientからminecraft serverへ接続します。

5.1 minecraft server接続

minecraftを起動し、 マルチプレイ を選択します。
image.png

ダイレクト接続を押下します。
image.png

サーバのIPアドレスおよびポート(デフォルトの場合は25565)を入力し、サーバに接続をします。
image.png

サーバに接続しプレイ可能になりました!
image.png

サーバ側のターミナルより、ユーザログインに関する内容が出力されます。

以降、minecraftユーザ名は<username>と表現しています。

ログインログ
[21:15:25] [User Authenticator #1/INFO]: UUID of player <Username> is xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
[21:15:25] [Server thread/INFO]: <Username>[/192.168.142.1:49542] logged in with entity id 188 at (-2.5, 102.0, -5.5)
[21:15:25] [Server thread/INFO]: <Username> joined the game

5.2 minecraft server操作

サーバ側のターミナルにてminecraftコマンドを利用することができます。

例として、killコマンドを利用することでユーザをキルします。

ユーザキル
kill <Username>
[21:19:16] [Server thread/INFO]: <Username> was killed
[21:19:16] [Server thread/INFO]: Killed <Username>

image.png

5.3 minecraft server終了

サーバ側のターミナルにてstopコマンドを利用することでminecraft serverを停止することができます。

接続中のユーザは強制退出となります。

ユーザキル
stop
[23:55:24] [Server thread/INFO]: Stopping the server
[23:55:24] [Server thread/INFO]: Stopping server
[23:55:24] [Server thread/INFO]: Saving players
[23:55:24] [Server thread/INFO]: Saving worlds
[23:55:25] [Server thread/INFO]: Saving chunks for level 'ServerLevel[world]'/minecraft:overworld
[23:55:26] [Server thread/INFO]: Saving chunks for level 'ServerLevel[world]'/minecraft:the_nether
[23:55:26] [Server thread/INFO]: Saving chunks for level 'ServerLevel[world]'/minecraft:the_end
[23:55:26] [Server thread/INFO]: ThreadedAnvilChunkStorage (world): All chunks are saved
[23:55:26] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved
[23:55:26] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved
[23:55:26] [Server thread/INFO]: ThreadedAnvilChunkStorage: All dimensions are saved

image.png

参考

Windows10上のvmware Workstationにvmware ESXi 8.0 u1aをインストールしてVMを作成する


Server/Requirements/Dedicated


Ubuntuを入手する


MINECRAFT をダウンロード


コマンド

4
3
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
4
3