むかしばなし
マインクラフトは環境は比較的どんなやつでも建てられると思います。
Javaで書かれているのでその点はちょっと強いです。
ただサードパティ製のマイクラ鯖にライセンス問題だとかややこしー問題が発生したせいで、mod入りのマイクラで遊ぶにはちょっと面倒な行程を経る必要が出てきちゃいました。
今から1年くらい前のことです。
いま
マインクラフトのmod対応鯖には幾つか種類がありますが、一番新しいのだと Spongepowered のとかでしょうか。ただコレは新しすぎてmod自体が少ないのと、まだdev版しか出てないのでオススメはできません。大体候補が総じて潰れたときのために定期的に情報を追っておくのは良いかもしれないですけど。
最も使われてるヤツだと今はCraftbukkit(Bukkit, Claudron, Spigot,...)とかでしょうか。Bukkit 1.8(現行のマインクラフトの最新バージョンが1.8)でググると資料がいろいろ見つかります。昔は起動するだけでよかったコンパイル済みの実行ファイルが配布されてたんですが、今は上のライセンス問題だとかを回避するためにソース取得&コンパイルを手前でやらなければなりません。そこがちょっと面倒ですけど、modも豊富だし慣れれば簡単なので一番オススメの手段ですね。
ごちゅうい
ちなみにマインクラフトは鯖側の必要スペックが結構高いです。CPUはそうでもないですけど、メモリが。1キャラクターにつき半径Rの球内をメモリに展開する必要があって、人が増えるほどそのコストが嵩むからです。僕はマイクラ専用鯖に8GBのRAMを乗せてますが、これで漸く動く感じですね。
つくりかた
話を戻して。マインクラフト鯖のビルドツールは ここ から手に入ります。最新のビルドからBuildTools.jarをダウンロードしてください。もしあなたがLinuxユーザで、gitを含むDevelopment Toolsをインストール済みであるなら、
java -jar BuildTools.jar
でビルドが始まります。ゴミがでるので、新規ディレクトリ内で実行するのが良いと思います。
新たにインストールしたばかりのLinuxではDevelopment Toolsがインストールされていないかもしれないです。CentOSという、RedHat LinuxのクローンOSの最新版(CentOS7)を利用していた場合、コンソール画面で以下のコマンドを入力すればインストール出来ると思います。
sudo yum groupinstall -y "Development Tools"
sudo yum install -y curl git screen
mkdir ~/bukkit
cd ~/bukkit
curl -O https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
java -jar BuildTools.jar
cp CraftBukkit/target/craftbukkit*.jar craftbukkit.jar
screenとはバックグラウンドでプロセスを起動しておくのに役立つコマンドです。マインクラフトのサーバは起動中にコマンドを入力できたりとインタラクティブな機能があるので(シャットダウンも本来/stopコマンドを入力して行う)、screenを使ってバックグラウンドプロセス化しておけば、必要に迫られたときコマンド入力画面を呼び出すことができるんです。
きどう
サーバ起動の際は、
screen -AmdS net java -Djava.net.preferIPv4Stack=true -Xmx7000M -Xms7000M -jar craftbukkit.jar -o true
と入力し、画面を呼び出す際は
screen -r net
とすればおっけーです。呼び出した画面から抜け出したいときはCtrl + aのあとCtrl + dを押してください。抜けられます。起動時のオプションの-AmdSは呪文みたいなものだと思ってください。netはscreen名です。好きな名前をつけられます。ところで、今はもうネット対応Javaプログラムは、デフォルトがIPv6のポートで接続待機する形になっちゃってるので、そのままだとIPv4アドレスから接続することができません。これに対応するためのオプションがjavaの後ろ、-Djava.net.preferIPv4Stack=trueで、コレを設定しておくと接続待機ポートにIPv4のポートを使ってくれます。-Xmx7000M, -Xms7000Mはそれぞれ最大メモリと最小メモリです。7GBまで自由に使っていいよって設定してます。とりあえず必要な知識はこんなところかな。
そのた
プラグインについては ここ にたくさん登録されているので、好きなのを。ちなみに僕はLunaChat, Multiverse-Core, Multiverse-Inventories, Multiverse-Portals, PermissionsBukkit, PluginMetrics, Sentry, TreeAssist, WorldEditを入れてました。