2
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Ubuntu 20.04.1 LTSでMineCraft Paperサーバーを立てる①

Last updated at Posted at 2020-09-28

はじめに

##目的
軽いと噂のpaperサーバーをまっさらなubuntu20.4LTSに立ち上げる
今回はサーバーの初期立ち上げとポート開放まで

##環境

  • cpu AMD Ryzen 3 3200G
  • メモリ 16G
  • OS Ubuntu Ubuntu 20.04.1 LTS
  • papermc #204 (MineCraft JE1.16.3)

#やったこと
##Ubuntuの準備
###初期設定
rufusとISOを使ってインストールメディアの作成
ディレクトリに日本語を使いたくないのでEnglishでインストール
ここらへんのやり方は調べれば出てくるはず

日本語キーボードを使えるように変更

ubus-mozcのインストール
$ sudo apt -y install ibus-mozc

再起動後にsetting - Region&Language - input Sources - +ボタン - Japanese - Japanese(Mozk) を選択
これで日本語が打てるようになった

###アップデート

update
$ sudo apt dist-upgrade
$ sudo apt upgrade

上はパッケージの更新と不要なカーネルの削除をしてくれるらしい。
入れたばっかりのOSに必要なのかはわからない。
詳しい方、教えてください。
下はパッケージの更新だけをしてくれるらしい。

###javaの導入
javaのバージョンを確認

javaの確認
$ java -version

これでCommand 'java' not found, ...と出てきたらjavaが入ってない。
次のコマンドでjavaを導入。

javaをインストール
$ sudo apt install openjdk-8-jre

###マイクラサーバー専用ユーザーの作成
マイクラサーバー専用ユーザーを作成
sudoができるように権限を追加する

ユーザーを追加
$ sudo useradd minecraft
結果
[sudo] password for poseyamada: 
Adding user `minecraft' ...
Adding new group `minecraft' (1001) ...
Adding new user `minecraft' (1001) with group `minecraft' ...
Creating home directory `/home/minecraft' ...
Copying files from `/etc/skel' ...
New password: 
Retype new password: 
passwd: password updated successfully
Changing the user information for minecraft
Enter the new value, or press ENTER for the default
	Full Name []: 
	Room Number []: 
	Work Phone []: 
	Home Phone []: 
	Other []: 
Is the information correct? [Y/n] 

yを押して終了
このユーザーにsudoを追加

"ユーザーminecraftをsudoに"
$ sudo usermod -aG sudo minecraft

ここでユーザーをスイッチ。
suでユーザーを変えて起動すると
Can't connect to X11 window server using ':0' as the value of the DISPLAY variable
になってサーバーが起動しない。
情報求む。

##PaperMCを導入

###専用ディレクトリを作成

mcpを作成
$ mkdir mcp
$cd mcp

###paperMCをダウンロード

ここのHPから最新版のURLを確認
https://papermc.io/downloads
下記は#204の場合。

paperMCをダウンロード(必要に応じてURLは変更)
$ wget -O papermc.jar https://papermc.io/api/v1/paper/1.16.3/204/download

###start.shの作成
毎回コマンドを打つのは面倒なので.shを作成して起動を簡略化。

nanoでstrat.shを編集
$ nano start.sh
start.sh
 #!/bin/bash
 java -Xmx1024M -Xms1024M -jar papermc.jar

終わったらcmd+x - y -enterで保存。
このstart.shに権限を追加。

start.shに権限を付与
$ chmod +x start.sh 

###初回起動
実はpapermcのjarファイルを実行すると、自動で対応するバニラをダウンロードしてくれる。超便利。
ELUAの都合でDL後にすぐに止まる。

起動
$ ./start.sh
結果
Downloading vanilla jar...
Patching vanilla jar...
System Info: Java 1.8 (OpenJDK 64-Bit Server VM 25.265-b01) Host: Linux 5.4.0-48-generic (amd64)
Loading libraries, please wait...
[21:07:26 ERROR]: Failed to load properties from file: server.properties
[21:07:26 WARN]: Failed to load eula.txt
[21:07:26 INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

###EULAの承認

ELUAを確認してfalse→trueに変更

eula.txtを編集
$ nano eula.txt
eula.txt 最後の行を編集
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#You also agree that tacos are tasty, and the best food in the world.
#Sun Sep 27 21:07:26 JST 2020
eula=true

終わったらcmd+x - y -enterで保存。

###サーバーの再起動と停止

起動
$ ./start.sh

以下のようなGUIが出てくれば成功。
Screenshot from 2020-09-28 10-26-02.png

起動を確認したら一度サーバーを停止。
コマンドの打ち込みはターミナルでもGUIでもどちらでもOK。

サーバーを停止
stop

###start.shの調整
各々の環境に合わせて調整してください。

start.shを編集
$ nano start.sh
start.sh
#!/bin/bash
java -server -XX:+UseG1GC -Xms8G -Xmx8G -jar papermc.jar nogui

-server-XX:+UseG1GCはおまじない。
noguiでGUIを非表示に。

これでサーバーの立ち上げは一段落。

##ufwの設定
###目標
25565を開けてアクセス可能にする

###状況の確認
初期ならばufwは動いていないはず。

status
$ sudo ufw status
結果
Status: inactive

###ufwをアクティブに変更

enable
$ sudo ufw enable
結果
Firewall is active and enabled on system startup

###デフォルトをdenyに変更
sshで別PCから操作している場合はdenyにしないこと。
22番のポートも閉じてしまうため、ssh経由の操作を受け付けなくなるはず。

deny
$ sudo ufw default deny
結果
Default incoming policy changed to 'deny'
(be sure to update your rules accordingly)

###ポート開放
25565を開ける
minecraftはTCPしか使わないらしいので厳密に言えば22565/tcpになるのかも。

25565
$ sudo ufw allow 25565
結果
Rule added
Rule added (v6)

###設定を確認
25565が開いていれば成功

status
$ sudo ufw status
結果
Status: active

To                         Action      From
--                         ------      ----
25565                      ALLOW       Anywhere                  
25565 (v6)                 ALLOW       Anywhere (v6)           

その後再起動してufwの設定を反映させる。
あとは各々ルータの設定をして完了。

##おまけ ルーターの設定
私の環境下でのルーター側のポート開放の手順を残しておきます、

###環境
エレコム WRC-2533GST2

###PC側のipとmacアドレスの確認

アドレスの確認
$ ip a
結果
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet */8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether *macアドレス* brd *
    inet *ipアドレス*/24 brd * scope global dynamic noprefixroute enp2s0
       valid_lft 168517sec preferred_lft 168517sec
    inet6 */64 scope global temporary dynamic 
       valid_lft 600517sec preferred_lft 81552sec
    inet6 */64 scope global mngtmpaddr noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 */64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

2: enp2s0の中のlink/etherinetの後ろにそれぞれMACアドレスとIPアドレスが表記されている。それをメモしておく。

###ルーターの設定
192.168.2.1に移動
wan→固定DHCP
Screenshot from 2020-09-28 11-49-03.png
設定して追加

セキュリティ→ポートフォワーディング
Screenshot from 2020-09-28 11-50-31.png
設定して追加

###外部サイトを利用してポート開放を確認
minecraftのサーバーを立ち上げた状態で確認すること。
https://www.cman.jp/network/support/port.html
自分のグローバルIPとポート番号25565を入力、チェックを入れて実行
Screenshot from 2020-09-28 11-58-33.png
成功していればOK

2
7
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
2
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?