minecraftのマルチサーバー「TamaServer(たまさば)」のwikiです。サーバーのルール、情報共有、建物紹介などを行っています。

サーバーMODであるspigotの導入方法をメモしておきます。

spigotのビルド

javaのインストール

sudo yum install -y java-1.8.0-openjdk.x86_64

gitのインストール

sudo yum install -y git

buildtoolsのダウンロード

wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastStableBuild/artifact/target/BuildTools.jar

bulidの実行

java -jar BuildTools.jar --rev latest
※初回は結構時間かかります。

screenの使い方

シェルを閉じるとサーバーが止まってしまうのを防ぐためにscreenを使う。
sudo yum install -y screen

起動用スクリプトのテンプレート
#!/bin/env bash
set -eu
cd "$(dirname "$0")"

USER=minecraft
SERVER_JAR=server.jar
SCNAME=minecraft
XMS=256M
XMS=1024M

if [[ $(whoami) == $USER ]]; then
  if pgrep -u "$USER" -f "$SERVER_JAR" > /dev/null; then
    echo "$SERVER_JAR is already running!"
  else
    echo "starting $SERVER_JAR..."
    screen -d -m -S "$SCNAME" java "-Xmx$XMX" "-Xms$XMS" -jar "$SERVER_JAR" nogui
  fi
else
  echo 'Please run the minecraft user.'
fi
各パラメータは実行する環境に合わせて変更する必要があります。

停止用スクリプトのテンプレート
#!/bin/env bash
set -eu
cd "$(dirname "$0")"

USER=minecraft
SERVER_JAR=server.jar
SCNAME=minecraft

if [[ $(whoami) == $USER ]]; then
  if pgrep -u "$USER" -f "$SERVER_JAR" > /dev/null; then
    echo "Stopping $SERVER_JAR..."
    screen -S "$SCNAME" -X stuff 'say SERVER SHUTTING DOWN IN 10 SECONDS. Saving map...\n'
    screen -S "$SCNAME" -X stuff 'save-all\n'
    sleep 10
    screen -S "$SCNAME" -X stuff 'stop\n'
    sleep 10
    echo "Stopped minecraf server!"
  else
    echo "$SERVER_JAR is not runnning."
  fi
else
  echo 'Please run the minecraft user.'
fi
各パラメータは起動用スクリプトと同じにする必要があります。

スクリーンを開くとき
screen -r
or
screen -rd

スクリーンをデタッチするとき
C-a d

メンバーのみ編集できます