nc116064

お友達に頼まれて、今更ですがMinecraftのサーバをたてました。
備忘録代わりにポイントだけですが…

 準備

Javaで動いているので openjdk-6-jre をインストール。
※たぶん、7でも動くかな?
→ちなみに、OSはDebian GNU/Linux 7.5 wheezy です。

 ダウンロード

マルチプレイ用のサーバ版は、https://minecraft.net/ja/download/server からダウンロードできます。

 実行ファイルの配置

rootで動かす必要はないので、Minecraft用のアカウントを作り(例えばmcとか)、/home/mc/mc 内にminecraft_server.1.xx.xx.jar を置きます。
minecraft_server.jar へシンボリック・リンクを張っておきます。

 server.sh を作成。

#!/bin/sh
screen -AmdS mc java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui

単純に起動すると端末を占有する謎仕様なので、このように screenコマンドで常駐させます。
起動後にサーバへコマンドを送るには…

#su - mc
$screen -r mc        ※何かエラーでたら、script /dev/null のおまじない。

終わったら^a+d そして exit で screen から抜けます。

 起動用ファイルを作成

自動起動用に、rc.local に以下の行を追加(ちょっと手抜き!?)

su mc -c "cd ~/mc/ ; ./server.sh"
 Tips

メモリーが潤沢にあれば、4のサーバ起動スクリプトの1024を2048にすると良いです。しかし、このサーバソフト結構重いです。CPUパワーがそこそこないと鶏が増えた時に大変な事になります(謎)。
※ちょっと古いXeon X3330(2.66GHz, 4core)のVM上で動かしていますが、5人接続すると結構な負荷(ロードアベレージが1近く)が掛かります。