MinecraftのサーバーをServersman@VPSで動かしてみた

最近Minecraftが周りで流行ってきました。
マルチプレイの需要が発生したのでWin/Mac上にサーバーを立てていたのですが、わざわざ立ち上げたままにしないといけないのが難点です。

海外にあるMinecraft専用サーバーを借りるという選択肢もあるのですが、それだと面白くないのでVPSを使う事にしました。
(サーバー自体はjarファイルなのでJavaが動けば良い)
それなりにスペックを要求するっぽく、現在のさくらのVPSでは役不足(CPU2コア/1Gメモリ)なので新しくServersman@VPSを借りました。


スペック確認

プランはStandardプラン。少人数なので2GBもあれば十分なはずです。
OSは当然Debianを選択。 

/proc/cpuinfo

# cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 44
model name	: Intel(R) Xeon(R) CPU           L5630  @ 2.13GHz
stepping	: 2
cpu MHz		: 425.026
cache size	: 12288 KB
physical id	: 0
siblings	: 1
core id		: 0
cpu cores	: 1
fpu		: yes
fpu_exception	: yes
cpuid level	: 11
wp		: yes
flags		: fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc ida arat pni ssse3 cx16 sse4_1 sse4_2 popcnt lahf_lm
bogomips	: 5361.75
clflush size	: 64
cache_alignment	: 64
address sizes	: 40 bits physical, 48 bits virtual
power management:

(略)

processor	: 3
vendor_id	: GenuineIntel
cpu family	: 6
model		: 44
model name	: Intel(R) Xeon(R) CPU           L5630  @ 2.13GHz
stepping	: 2
cpu MHz		: 425.026
cache size	: 12288 KB
physical id	: 3
siblings	: 1
core id		: 0
cpu cores	: 1
fpu		: yes
fpu_exception	: yes
cpuid level	: 11
wp		: yes
flags		: fpu de tsc msr pae cx8 apic sep cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc ida arat pni ssse3 cx16 sse4_1 sse4_2 popcnt lahf_lm
bogomips	: 5361.75
clflush size	: 64
cache_alignment	: 64
address sizes	: 40 bits physical, 48 bits virtual
power management:

どうやら仮想4コア@2.13Ghzのようです。確かOpenVZかな。

/proc/meminfo

# cat /proc/meminfo
MemTotal:      4194304 kB
MemFree:       4116768 kB
Buffers:             0 kB
Cached:              0 kB
SwapCached:          0 kB
Active:              0 kB
Inactive:            0 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:      4194304 kB
LowFree:       4116768 kB
SwapTotal:           0 kB
SwapFree:            0 kB
Dirty:               0 kB
Writeback:           0 kB
AnonPages:           0 kB
Mapped:              0 kB
Slab:                0 kB
PageTables:          0 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
CommitLimit:         0 kB
Committed_AS:        0 kB
VmallocTotal:        0 kB
VmallocUsed:         0 kB
VmallocChunk:        0 kB

4GBぐらいになってますが、これは多分メモリ追加オプションをフル活用した場合の使用可能量かと思います。

導入

この辺のDebianのあたりに沿って導入するだけです。

/etc/apt/sources.list

deb http://ftp.debian.org/debian squeeze main contrib non-free
deb http://security.debian.org squeeze/updates main contrib non-free

non-freeを追加するだけ。

apt-get

updateしてsun-java6-jreを導入します。

# apt-get update
# apt-get install sun-java6-jre

java -versionと入力して、Javaのバージョンが表示されたら無事に完了です。

# java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)

起動

$ java -Xms1G -Xmx1G -jar minecraft_server.jar nogui

これだけ。裏で動かしたい場合はscreenでも使って下さい。

起動してからメモリ使用量を見てみると、特に繋いでないのに400MB近くを消費していました。
ので、ちょっと余裕を持たせて1.5GB割く事にしました。

$ java -Xms1536m -Xmx1536m -jar minecraft_server.jar nogui

McMyAdmin2

コンソールから各種変更がかけられるのですが、わざわざ設定変更のためにsshで入るのもめんどくさいので、ブラウザから変更できるようにします。
今回はMcMyAdmin2を使用。jarファイルも自動で落としてくれます。

導入方法はここに沿って。 

rootの状態で/usr/localに必要なファイルを入れておいて・・・

# cd /usr/local
# wget http://mcmyadmin.com/Downloads/etc.zip
# unzip etc.zip

適当なフォルダにMcMyAdmin2のメインファイルを解凍。

$ mkdir McMyAdmin
$ cd McMyAdmin
$ wget http://mcmyadmin.com/Downloads/MCMA2_glibc25.zip
$ unzip MCMA2_glibc25.zip

管理用パスワードを設定して・・・

$ ./MCMA2_Linux_x86_64 -configonly -setpass adminのパスワード

McMyAdmin2を起動します。

$ ./MCMA2_Linux_x86_64

サーバのIP:8080でアクセスできます。

mcma_1.png

起動した直後のCPUとメモリの使用状況はこんな感じ。

mcma_2.png

1人繋ぐと・・・

mcma_3.png

4人接続した状態だとこんな感じです。
そこまで派手な動きをしていないせいかもしれませんが、CPU/メモリ共に落ち着いている感じです。 

mcma_4.png

おわり

という事で今の所無事に動いています。
1度だけ、sshもhttpもMinecraftも繋がらなくなった事があったので、その時はVPSの管理画面から再起動をかけましたが・・・原因は不明です。メモリのような気もしますが。

ロールバックが発生するのが怖いので、スケジューリング機能で定期的に再起動するようにしたりセーブやバックアップをするようにしました。
万が一の時も対策もでき、メンテナンスの手間も減って一石二鳥です。 

コメントを残す