初めての投稿に書いてみました。
用意するもの
- Ubuntuの入ったマシン
サーバーを立てる
- javaをインストールする
java8以降をaptでインストールする。
※minecraft1.17以降はjava16が必要。(追記:1.18以降はjava17が必要 2022/02/10)
~$ sudo apt update
## 11がjavaのバージョン
~$ sudo apt install openjdk-11-jdk-headless
- ユーザーを追加する
## minecraftがユーザー名
~$ sudo adduser minecraft
Adding user `minecraft' ...
Adding new group `minecraft' (1003) ...
Adding new user `minecraft' (1003) with group `test' ...
Creating home directory `/home/mincraft' ...
Copying files from `/etc/skel' ...
## 新しいパスワードを入力する
New password:
## パスワードの確認
Retype new password:
## あとは飛ばしてOK
Changing the user information for test
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]
- 任意の場所にディレクトリを作成する
## ユーザーを変更するする
~$ su minecraft
## 設定したパスワードを入力する
Password:
~$ mkdir minecraft
- spigotを用意する
## 移動する
~$ cd minecraft
## buildtoolのダウンロード
~/minecraft$ wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastStableBuild/artifact/target/BuildTools.jar
## ビルドするバージョンは1.16.5
~/minecraft$ java -jar BuildTools.jar --rev 1.16.5
- 起動用と停止用のスクリプトを作成する
~/minecraft$ nano start.sh
start.sh
#!/bin/bash
## minecraftがscreenの名前
SCREEN_NAME='minecraft'
## spgot-1.16.5.jarがspigotのjarの名前
screen -UAmdS $SCREEN_NAME java -jar Xms2G -Xmx2G spigot-1.16.5.jar nogui
~/minecraft$ nano stop.sh
stop.sh
#!/bin/bash
## minecraftがscreenの名前
SCREEN_NAME='minecraft'
if [ -n "$(screen -list | grep -o "${SCREEN_NAME}")" ]; then
## サーバー内にアナウンス
screen -S $SCREEN_NAME -X stuff 'say 30秒後にサーバーを停止します\015'
sleep 30s
## 停止コマンド発行
screen -S $SCREEN_NAME -X stuff 'stop\015'
## 停止実行待機
sleep 30s
else
echo [date '+%F %T'] 'server is not runnning'
fi
- 一度起動する
~/minecraft$ sh start.sh
- eulaを編集する
~/minecraft$ nano eula.txt[
eula.txt
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/docume>#Tue Jan 05 12:07:51 JST 2021
## falseからtrueに変更する
eula=true
サーバーのコンソールを開く方法
## ユーザーを変更する
~$ su minecraft
## コンソールを開くminecraftがコンソールの名前
~$ screen -r minecraft