ミニゲームサーバーや特殊なMODサーバーを立てる
前回は生活サーバーや経済サーバーなど、比較的バニラ寄りのサーバーで検討が必要な事項について紹介しました。今回は少し趣向を凝らしたミニゲームやクライアントMODを使ったMODサーバーなどについて紹介します。
ミニゲームサーバーを考える
サーバー区分については第1回でも説明しましたが、明確に「ミニゲームサーバー」と言えるサーバーはあまりないでしょう。通常は一般の生活/経済サーバーやPvPサーバーなどが機能を拡張して、色々なミニゲームができるようになっていることが殆どかと思います。
Minecraftでは非常に多くのことができるため「代表的な物」というのはあまりありませんが、分かりやすいところではMinecraft Japan Wikiのプラグインページにある「[FUN]お楽しみ –Fun」の項目で少しミニゲームが紹介されています(図1)。
ほかにもGoogleで「Minecraft」「ミニゲーム」などのキーワードで検索すれば、色々なミニゲームを見つけられるでしょう。
単純にアスレチックを作ってみる
ミニゲームはプラグインを使用すれば様々なものを追加できますが、Minecraftのバニラでも実現可能なものとして「アスレチックを作ってプレイしてもらう」というのも代表的な例です。
普通にプレイしていてもアスレチックの発想は湧くかと思いますが、ここではMinecraftの仕様を捉えた上で一歩踏み込んだ仕掛けを考えてみましょう。
ブロックの性質を利用する
ブロックには見た目通りの高さはではないものがいくつか存在します。代表的なのものとして柵がありますが、例えば図2のようにすると手前の通路は柵を乗り越えられず、奥の通路は柵が乗り越えられるような仕掛けを作れます。
柵の見た目の高さは1ブロックですが、実際には1.5ブロック分の判定があるため、これを利用すれば高低差の移動がシビアなアスレチックが作れるでしょう。他にも1ブロックより若干低いブロック等もあるので、そういったブロックを使用すれば難易度を微調整したアスレチックが作れるでしょう。
レッドストーン回路を駆使する
レッドストーン回路ではAND回路やOR回路、NOT回路などを駆使して色々な仕掛けを作れますが、アスレチックの仕掛けとして組み込むと動的なコースを作れるようになります。
なお、Minecraft Japan Wikiに回路の説明やブロックの説明があるので、説明を読んでイメージを膨らませ、実際にMinecraft上で作ってみると良いでしょう。レッドストーン回路は実際にゲーム内で試行錯誤する事でより理解を深められます。
また、スイッチやピストンでブロックを動かす事もそうですが、最新バージョン(1.8以降)では額縁なども信号出力できるようになりました(図3)。こういった物も利用するとちょっとした謎かけを組み込んだ、より独創性の高い仕掛けが作れるようになるでしょう。
簡単に復帰できるようにする
Minecraftの操作は人によって得意不得意が顕著なため、アスレチックのようなものはブロックから落ちてコースアウトしても復帰可能にして、何度でも挑戦できるようにしておくと、より楽しんでもらえるでしょう。
その単純な方法としては、落ちてもダメージを受けないようにした上で、梯子等を使用して意図した場所まで戻ってもらう事が考えられます。また、レッドストーン回路のスイッチとコマンドブロックのTPコマンドを使用して、任意の場所までテレポートしてもらうのも良いでしょう。
なお、アスレチックの趣旨として復帰不可能な制約を設ける場合はこの限りではありません。
プラグインで操作性を変更してみる
アスレチック等ではプレイヤーが操作性を変更するようなMODを導入する事は公平性が保てないため禁止すべきですが、逆にサーバーサイドで全員に共通した独自の操作系を導入する事もできます。代表的な物として、例えば「DoubleJumper」プラグインは非常に爽快感のある2段ジャンプができるようになります(図4)。
これはアスレチックだけでなく、他にもいろいろなミニゲームとの組み合わせでより面白い事ができるようになるでしょう。こういった操作変更系のプラグインはワールドごとに権限を設定し、特定のワールドのみ使用を許可すると良いかもしれません。
ミニゲームのプラグインを導入してみる
前述したように、ミニゲームを追加するプラグインは様々な物があります。そのため、これといって代表的な物はあまりないのですが、一例としていくつか紹介します。
例えば、Minecraft Japan Wikiにも記載されている「LandmineBusters」(図5)は地雷探知ミニゲームを追加するプラグインです(図6)。コマンドも少なく比較的簡単に遊べるミニゲームと言えるでしょう。
また、様々なPvP系のミニゲームを追加する「MiniGames」プラグインや「TNTRUN」プラグインなどもあります。これらのプラグインは準備に手間がかかる事もあり今回は試していませんが、MiniGamesでは配布元にある紹介動画のようなゲームを、TNTRUNではグーグルの動画検索で見られるような非常にアクション性の高いゲームを導入できます。
繰り返し遊ぶ方法を考える
ミニゲームを遊んだ後は、フィールドを元に戻すような機能がプラグイン自体に搭載されていれば良いですが、そうでない場合には別の方法でフィールドを復旧する必要が出てくるかもしれません。
1つの案としては、ゲーム開始~終了後にいったんサーバーを自動的に再起動し、ワールドデータを差し替えてしまう方法が考えられます。これはBATファイルやシェルスクリプトで繰り返しサーバーを再起動するように記述した上で、サーバーの起動前にバックアップのワールドデータを運用データにコピーする事で可能でしょう。
また、PvPサーバー等の他のサーバー機能と組み合わせる場合には、データの整合性を考えてミニゲームで使用したワールドのみ復旧できるようなプラグインを作ってしまえば問題が少ないかもしれません。
クライアントMODを要求するMODサーバーを構築してみる
Minecraftの有名なMODに「Minecraft Forge」がありますが、これはMinecraftのMODを導入・開発しやすくするためのMODです。一般的にはクライアントMODの導入を支援するための環境として認知されています。
特徴としてはForge自体の導入のしやすさやMOD導入の手軽さが挙げられます。Forgeの導入はMinecraft ForgeのWebサイトからインストーラをダウンロードします。通常のインストーラ(Installer)はjarファイルをjavaに渡して起動するか、Windows向けのインストーラ(Installer-Win)を起動すると、図7のような画面が表示されます。
図7で「Install client」を実行すると、MinecraftのクライアントにForge MODを適用したバージョンが追加されます。クライアント側では、ランチャーからForgeを適用したクライアントのバージョンを起動するようにプロファイルを修正しておきましょう(図8)。
あとは、起動後にMinecraftのディレクトリに生成されるmodディレクトリ(C:\User\UserName\AppData\Roming\.minecraft\modsなど)に導入したいMODファイルを格納するだけで他のForge対応MODが導入できるようになります。
サーバー側も同じインストーラ(図7)から「Install server」を選択し、サーバーの配置先にする空ディレクトリを選択してインストールします。サーバーは必要なファイルを自動で構成してくれるので、インストール完了後に「forge-(バージョン名)-universal.jar」のような形式で出力されたJARファイルをBATファイルで起動しましょう。EULA等の同意も必要になります。詳細は第2回のBATファイルによる起動方法の説明を参照ください。
起動したら、サーバーに「mods」ディレクトリが生成されていることを確認しましょう。このディレクトリへクライアントに導入するMODと同じものを導入しておくことで、クライアントに色々な要素を追加するMODをマルチプレイで遊べるようになります。この時、導入するMODは配布元の説明からForgeやマルチプレイに対応しているかなどを確認しておくと良いでしょう。
例えば、第1回で説明したサーバー区分のうち「MODサーバー」として紹介したのがこの方法です。ここでは「ExRollerCoaster」というマルチサーバー上で動作させて複数人でジェットコースターを楽しめるMODを紹介しました(図9)。構築方法はサーバーのmodsディレクトリ配下にMODのJARファイルを配置して起動するだけです。
なお、Forge対応MODで気を付けるべきは、MODにより対応するForgeのバージョン(主にForgeバージョンの一番後ろにある4ケタほどの数値)が細かに異なる事です。MODが開発された環境に近いバージョンのForgeであれば概ね動作すると考えられますが、あまりに離れていると動作しない可能性も高いため、サーバーを公開する場合には安定動作を確認したForgeのバージョンを合わせて公開すると良いでしょう(図10)。
こうしたMODのバージョンを個々人で揃えるのは大変であることから、これらのMODをパックにして管理者からプレイヤーに提供する場合もあります。この時、パックの作成者は必ずそれぞれのMODが再配布可能である事を確認します。もし無許可で使用すればライセンス違反を疑われ、最終的に不利益を被る事もあるでしょう。
例えば、過去に一部の悪意あるユーザーがMOD利用におけるライセンス違反を犯し、MOD開発者が公開を停止して他の多くの利用者が迷惑を被った事例も発生しています。
MinecraftのMOD文化においては、MOD開発者とその利用者がお互いにメリットを享受する形でより長く繁栄する事が望ましいと考えられますが、それを蔑ろにして新しい価値あるMODが失われるのはとても残念な事です。
MODを含むソフトウェアの利用規約は開発(配布)者と利用者の二者間で取り交わす契約であり、それが守られない場合には当該ソフトウェアの不正利用で法的罰則が発生しうる事を認識したうえで利用するようにしましょう。
MODもプラグインも使いたい
Forgeサーバーはバニラサーバーが基準となっているため、BukkitやSpigotのようなプラグインは使用できません。そこでForgeサーバーの機能を保ちつつ機能を追加できる「Sponge」MODという物もあります(図11)。
少し古いですが、非公式フォーラムに紹介記事があります。SpongeForgeなどはForgeサーバーのMODとして動作しますが、BukkitのAPIとは互換性がない(もしくは低い)ようなので、専用のプラグインを探す必要があります。とは言え、各種工業系MODや新ディメンションが追加された魅力的な大型MODをマルチプレイ対応にでき、かつプラグインによるサポートも得られると考えれば、このSpongeサーバーを用いたサーバー構築も1つの選択肢と言えるでしょう。
今回は、ミニゲームを遊ぶサーバーや、クライアントMODを交えて色々な機能を追加するサーバーについて説明しました。ミニゲームは発想次第で無限に近いバリエーションの遊び方を用意でき、MODサーバーも組み合わせ次第でオリジナリティ溢れるサーバーが構築できます。既成概念に捕らわれずに画期的かつ人気の出るコンテンツを生み出せれば、リピーターとなってくれるユーザーも増える事でしょう。
次回は、PvPを中心にしたサーバーの構築例を紹介したいと思います。
Minecraftの公式記事ではありません。本連載の内容はMojangから承認されているわけではなく、Mojangとは関係ありません。