開発したアプリなど一覧

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

アフィリエイトリンクを含む場合があります

DTIのVPS、グローバルIPアドレス貰ってるじゃん?

CentOSじゃん?

root権限あるじゃん?

Java入れたらMinecraftのサーバ動くんじゃね?

というわけで動かしてみた。せっかく金払ってるのでフル活用しないとね。

まずJavaを入れる。

$ sudo yum install java-1.6.0-openjdk.i386 # 略 $ java -version java version "1.6.0_17" OpenJDK Runtime Environment (IcedTea6 1.7.10) (rhel-1.21.b17.el5-i386) OpenJDK Client VM (build 14.0-b16, mixed mode)

入った。

$ wget http://www.minecraft.net/download/minecraft_server.jar?v=1307624913526 $ mv minecraft_server.jar?v=1307624913526 minecraft_server.jar


Chromeで「リンク先URLをコピー」したら最後にいらない数字がついた。キャッシュ避けだろうけど。やりやすいようにリネームしてやる。

とりあえず wikiの通りにコマンドを入れてみる。

$ java -Xms1024M -Xmx1024M -jar minecraft_server.jar nogui Error occurred during initialization of VM Could not reserve enough space for object heap Could not create the Java virtual machine.

なんだとこのやろう、1G与えて少ないとか言うのか!?

試行錯誤の結果

$java -jar minecraft_server.jar -nogui

で動いた。やっぱりやるべきはオプション無し起動。

起動したらMAP初期化を待つ。
ちなみにこのときのCPU使用率、100% がんばれXeon、OpenVZだけど。

初期化終わったら入ってみる。

snow island
雪国ができた。

ログイン時のサーバログ

$ java -jar minecraft_server.jar nogui 148 recipes 16 achievements 2011-06-11 11:27:43 [INFO] Starting minecraft server version Beta 1.6.6 2011-06-11 11:27:43 [WARNING] **** NOT ENOUGH RAM! 2011-06-11 11:27:43 [WARNING] To start the server with more ram, launch it as "java -Xmx1024M -Xms1024M -jar minecraft_server.jar" 2011-06-11 11:27:43 [INFO] Loading properties 2011-06-11 11:27:43 [INFO] Starting Minecraft server on *:25565 2011-06-11 11:27:43 [INFO] Preparing level "world" 2011-06-11 11:27:43 [INFO] Preparing start region for level 0 2011-06-11 11:27:44 [INFO] Preparing spawn area: 44% 2011-06-11 11:27:45 [INFO] Preparing start region for level 1 2011-06-11 11:27:45 [INFO] Preparing spawn area: 36% 2011-06-11 11:27:46 [INFO] Done (2808461000ns)! For help, type "help" or "?" 2011-06-11 11:28:27 [INFO] ryomatsu [/**.**.**.**:52997] logged in with entity id 124 at (106.12052715700108, 76.5625, -146.0534447284877)

初回起動じゃないのでマップ初期化はしてないです。が、やっぱりメモリが足りないみたいな警告が出る。。。ちなみにこのときサーバ上では800MBほどメモリ食ってます。VPSなのでメモリほしかったらお金出すしか無いんですけどね。

サーバの設定の変更方法

サーバの設定ファイルはサーバが置いてあるディレクトリ内にある、server.properties に書いてある。
大体名前でどんな設定か想像できるだろうが一応書いておこう。minecraft wikiからコピペし・・・ようとしたが一部項目が違う様なので調べた。

$ cat server.properties #Minecraft server properties #Thu Jun 09 22:16:50 JST 2011 level-name=world # マップデータを保存するフォルダの名前 allow-nether=true # ネザーへ行くことを許可するかどうか true=許可 view-distance=10 # サーバがプレイヤーに送信するデータ量 3-15 で指定 spawn-monsters=true # モンスターが沸くかどうか true=沸く online-mode=true # minecraft のサーバでユーザ認証するかどうか true=認証する spawn-animals=true # 動物が沸くかどうか true=沸く max-players=20 # ログインできるプレーヤーの最大値。adminは除く。0-255 server-ip= # ipアドレス複数個持ってた場合はここで指定することもできるが空白をお勧めする。 pvp=true # Friendly Fire を許可するかどうか true=許可 level-seed= # Map生成時のシード値 server-port=25565 # サーバで使用するポート番号 allow-flight=false # 飛行/no-clipを許可するかどうか true=許可 white-list=false # ユーザ認証にホワイトリストを使用するかどうか。 true=使用

ちょっと実験

さて、設定もわかったことだしちょっと実験。
サーバコンソールで help と押すとコマンド一覧が出ます。

Console commands: help or ? shows this message kick <player> removes a player from the server ban <player> bans a player from the server pardon <player> pardons a banned player so that they can connect again ban-ip <ip> bans an IP address from the server pardon-ip <ip> pardons a banned IP address so that they can connect again op <player> turns a player into an op deop <player> removes op status from a player tp <player1> <player2> moves one player to the same location as another player give <player> <id> [num] gives a player a resource tell <player> <message> sends a private message to a player stop gracefully stops the server save-all forces a server-wide level save save-off disables terrain saving (useful for backup scripts) save-on re-enables terrain saving list lists all currently connected players say <message> broadcasts a message to all players time <add|set> <amount> adds to or sets the world time (0-24000)

おもむろに以下のコマンドを連打します。

give ryomatsu 46 64

TNT!TNT!

46 はまいどおなじみTNTですね!

TNT!TNT!

そのへんに適当に置いて・・・

TNT!TNT!

あとはレッドストーンとスイッチを設置して・・・

TNT!TNT!

ドーン!!

TNT!TNT!
TNT!TNT!
after TNT

友達から「TNT同時爆破させたらサーバがすげー重くなった」って話を聞いたんでためしにやってみたんです。
とりあえず300個ぐらいTNT並べて爆発させてみたけど最大でCPU50%ぐらいですね。ちょっと実用に耐えないかな。。。

というわけでサーバには良いPCを用意しましょう。サーバーを爆破させちゃだめですよ!

Sponsored Link

コメント

タイトルとURLをコピーしました