2015/06/08

マイクラサーバにアイコンを設定する方法

マイクラのサーバにアクセスするときにアイコンが表示されます。
これにより、ユーザはサーバを認識しやすくなり、またサーバ管理者側としても自分が提供するサーバがどういうものかをアピールしやすくなります。

そのアイコンを設定する方法はとても簡単。
server.propertiesファイルと同じフォルダ階層にserver-icon.pngを配置するだけです。
ただしPNG画像ファイルは64x64ピクセルの大きさにする必要があるのでご注意下さい。

ユーザにターミナルのコマンド実行を許可するマイクラのサーバ設定

ユーザがプレイ中にターミナルからコマンドを実行できるようにするサーバの設定方法を紹介します。

サーバの環境は以下のとおりです。
・OS: Ubuntu 14.04
・Minecraft: Version 1.8.6


サーバの設定項目はserver.propertiesに纏められていますが、ターミナル実行の類いはその中でも「op-permission-level」かと勘違いしがちですが、これは管理者の権限です。

ユーザにコマンド実行の権限を与えるための設定はserver.propertiesと同じ階層にあるops.jsonファイルです。

このファイルを開き、以下のようにユーザに権限を与えればOK。
[
  {
    "uuid": "b448xxxxxxxxxxxxxxxxx8b1d",
    "name": "adamrocker",
    "level": 4,
    "bypassesPlayerLimit": true
  }
]


複数のユーザに権限を設定したい場合はJSONフォーマットにしたがって以下のように続けます。
[
  {
    "uuid": "b448xxxxxxxxxxxxxxxxx8b1d",
    "name": "adamrocker",
    "level": 4,
    "bypassesPlayerLimit": true
  },
  {
    "uuid": "xxxxxxx",
    "name": "yyyyyyyy",
    "level": 2,
    "bypassesPlayerLimit": false
  }
]

{ }の後に「,(コンマ)」をつけるのを忘れないように気をつけましょう。

uuidとは?

uuidはマイクラの世界でユーザを一意に特定するIDです。
マイクラの開発元Mojangが提供する下記のURLにアクセスすることで簡単に調べることができます。

<ユーザ名>の部分を自分のマイクラのユーザ名に変更して下さい。
https://api.mojang.com/users/profiles/minecraft/<ユーザ名>

URLをブラウザにコピペしたら下記のような結果を取得できます。

{"id":"b448xxxxxxxxxxxxxxxxx8b1d","name":"adamrocker"}

このid部分の"b448..."の部分がuuidです。

nameとは?

マイクラのユーザ名です。先ほどUUIDを取得するために使ったユーザ名と同じです。

levelとは?

どのコマンド実行の権限を与えるかを指定します。
Version1.8.6では、設定できるレベルは1〜4までで、数字が大きいほど大きな権限となります。
各レベルで実行できるコマンドは以下のとおりです。

1 - spawn-protectionの範囲を編集することができる
2 - シングルプレイのチートコマンド
     /clear, /difficulty, /effect, /gamemode, /gamerule, /give, /tp
     が利用できる。さらに、コマンドブロックも編集できる。
3 - マルチプレイのチートコマンド(stop以外)
     /ban, /deop, /kick, /op
      が利用できる。
4 - /stopコマンドを利用できる

bypassesPlayerLimitとは?

サーバにログインしているプレイヤー数がserver.propertiesで設定した「max-players」で設定した人数に達していたとしても、このユーザがログインできるか否かの設定。trueならログインでき、falseならログインできません。

設定の完了後、マイクラサーバを再起動すれば設定が反映されます。



2015/05/31

UbuntuサーバにMinecraft Forgeをインストールする方法

GUIのないUbuntuサーバ(Ubuntu 14.04 LTS)にMinecraft Forgeのインストールをインストールする方法。
現時点(2015/05/31)でのMinecraftのModローダーの主流がForgeなので、サーバに色々なModを入れたければForgeをインストールしておくと良い。

1. JRE(Java Runtime Environment)のインストール

% sudo apt-get update
% sudo apt-get install -y openjdk-7-jre-headless

2. インストーラーをダウンロードする

Forgeのサイトの「Download Recommended」からInstallerのダウンロードURLを取得する。
Installerというボタンをクリックすると広告が流れるので、数秒我慢すると右上に「Skip」ボタンが現れる。そのリンク先をコピーする。リンク先のファイル名は「forge-1.8-11.14.1.1334-installer.jar」とかになっているはず。
サーバ側にminecraftというフォルダを作って作業をする。
% mkdir minecraft
% cd minecraft
% wget http://files.minecraftforge.net/maven/net/minecraftforge/forge/1.8-11.14.1.1334/forge-1.8-11.14.1.1334-installer.jar

3. Minecraft Forgeをインストールする

% java -jar forge-1.8-11.14.1.1334-installer.jar --installServer
沢山、例外が表示されるが、最後に以下のメッセージが出ればOK。
The server installed successfully, you should now be able to run the file forge-1.8-11.14.1.1334-universal.jar
You can delete this installer file now if you wish

4. とりあえず初期起動

Forge universal.jarファイルがダウンロードされているので、それを起動する。
% java -jar forge-1.8-11.14.1.1334-universal.jar nogui
[02:06:10] [Server thread/WARN]: Failed to load eula.txt
[02:06:10] [Server thread/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

いつものMinecraftサーバの起動のように、eula.txtを編集を要求される。Eulaとはエンドユーザ使用許諾契約(URL)のことで。URLにアクセスして内容を十分理解した上で許諾できるのであれば、Ctrl+Cで一旦サーバを停止し、eula.txtの「eula=false」を「eula=true」にする。
下記のようになっていればOK。
% cat eula.txt
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#Sun May 31 02:06:10 UTC 2015
eula=true

再度Forge universal.jarを起動する。
% java -jar forge-1.8-11.14.1.1334-universal.jar nogui
いろいろ文字が流れるが、最後に下記の文が出てきていればOK。
[02:11:57] [Server thread/INFO]: Done (8.438s)! For help, type "help" or "?"

5. Minecraftサーバの起動

初期起動に成功すると色々とファイル/フォルダが作られているので、必要に応じて編集する。特に「server.properties」というファイルはMinecraftサーバの設定なので色々設定すると面白い。設定項目についてはこちらが参考になる。

準備ができたら、起動する。
% java -Xms1G -Xmx1G -d64 -XX:+UseG1GC -jar forge-1.8-11.14.1.1334-universal.jar nogui

サーバマシンのスペックにも依存するが、Javaヒープは多めに設定しておいたほうが良い。ヒープサイズの指定は「-Xms」と「-Xmx」。前者が最小ヒープサイズで後者が最大ヒープサイズ。Javaは必要に応じてヒープサイズを少しずつ増やす。サーバでずっと動かし続けるのでXmsとXmxの値は同じで良いと思う。
-d64は64ビットモードで実行するオプション。もしエラーが出るようなら、外してもよい。その代わりに-serverオプションをつけるとチョット幸せになるかもしれないが付けなくても問題ない。
-XX:UseG1GCは利用するGC(Garbage Collection)の指定。設定しなくてもよい。ヒープサイズをもっと大きく設定する場合はG1GCを使うと良いと思う。