はじめに
##目的
軽いと噂の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でインストール
ここらへんのやり方は調べれば出てくるはず
日本語キーボードを使えるように変更
$ sudo apt -y install ibus-mozc
再起動後にsetting - Region&Language - input Sources - +ボタン - Japanese - Japanese(Mozk) を選択
これで日本語が打てるようになった
###アップデート
$ sudo apt dist-upgrade
$ sudo apt upgrade
上はパッケージの更新と不要なカーネルの削除をしてくれるらしい。
入れたばっかりのOSに必要なのかはわからない。
詳しい方、教えてください。
下はパッケージの更新だけをしてくれるらしい。
###javaの導入
javaのバージョンを確認
$ java -version
これでCommand 'java' not found, ...
と出てきたら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を追加
$ sudo usermod -aG sudo minecraft
ここでユーザーをスイッチ。
suでユーザーを変えて起動すると
Can't connect to X11 window server using ':0' as the value of the DISPLAY variable
になってサーバーが起動しない。
情報求む。
##PaperMCを導入
###専用ディレクトリを作成
$ mkdir mcp
$cd mcp
###paperMCをダウンロード
ここのHPから最新版のURLを確認
https://papermc.io/downloads
下記は#204の場合。
$ wget -O papermc.jar https://papermc.io/api/v1/paper/1.16.3/204/download
###start.shの作成
毎回コマンドを打つのは面倒なので.shを作成して起動を簡略化。
$ nano start.sh
#!/bin/bash
java -Xmx1024M -Xms1024M -jar papermc.jar
終わったらcmd+x - y -enterで保存。
この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に変更
$ nano 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でもどちらでもOK。
stop
###start.shの調整
各々の環境に合わせて調整してください。
$ nano start.sh
#!/bin/bash
java -server -XX:+UseG1GC -Xms8G -Xmx8G -jar papermc.jar nogui
-server
と-XX:+UseG1GC
はおまじない。
nogui
でGUIを非表示に。
これでサーバーの立ち上げは一段落。
##ufwの設定
###目標
25565を開けてアクセス可能にする
###状況の確認
初期ならばufwは動いていないはず。
$ sudo ufw status
Status: inactive
###ufwをアクティブに変更
$ sudo ufw enable
Firewall is active and enabled on system startup
###デフォルトをdenyに変更
sshで別PCから操作している場合はdenyにしないこと。
22番のポートも閉じてしまうため、ssh経由の操作を受け付けなくなるはず。
$ sudo ufw default deny
Default incoming policy changed to 'deny'
(be sure to update your rules accordingly)
###ポート開放
25565を開ける
minecraftはTCPしか使わないらしいので厳密に言えば22565/tcpになるのかも。
$ sudo ufw allow 25565
Rule added
Rule added (v6)
###設定を確認
25565が開いていれば成功
$ 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/ether
とinet
の後ろにそれぞれMACアドレスとIPアドレスが表記されている。それをメモしておく。
###ルーターの設定
192.168.2.1に移動
wan→固定DHCP
設定して追加
###外部サイトを利用してポート開放を確認
minecraftのサーバーを立ち上げた状態で確認すること。
https://www.cman.jp/network/support/port.html
自分のグローバルIPとポート番号25565を入力、チェックを入れて実行
成功していればOK