サイトアイコン IT NEWS

自宅にセキュアな統合版(BE)のマイクラサーバーを構築

minecraft-bedrock-server

少し前にMinecraftマイクラ)を始めたことを記事にしましたが、少し慣れてきたので家族や友人と一緒にプレイできるよう、自宅にマイクラサーバーを構築することにしました!
マイクラサーバーと言えばVanillaが有名みたいですが、現時点で最新のバージョン(1.12.0)に対応しているBedrockを利用します。
Bedrockはまだアルファ版ですが、何不自由なく使えます。

Bedrockの動作環境

公式サイトでは、WindowsまたはUbuntuを推奨していますが、他のLinux OSでも起動できるとの報告もあります。
著者はWindows 10マイクラサーバーを構築します。

Bedrockサーバーの使い方

実際やってみると、とっっっても簡単でした!w
公式サイトからWindows版をダウンロードして、bedrock_server.exeを起動するだけ!
これで、ローカル環境ならサーバーIPアドレスを入力して、すぐに遊ぶことができます。外部位から接続する場合は、グローバルIPや無料のドメインなどを使用します。
もちろん、ルーターの設定でポートは開放してください。
デフォルトではUDPポート「19132」を開ければOKです。

セキュリティを強化する

詳しい設定は後述する参考サイトに書いていますが、特にセキュリティに関するところだけピックアップして紹介します。

Bedrockサーバーの設定

ダウンロードして解凍すると、

  • server.properties
  • permissions.json
  • whitelist.json

というファイルが存在し、これらを設定してセキュリティを強化します。

server.properties

ここではゲーム全体の設定をします。

allow-cheats
チート、つまりコマンドを許可するかどうかです。
ゲーム内のパワーバランスが崩れるので、false(許可しない)に設定しましょう。
online-mode
Xbox Liveで認証したユーザーしか接続できないようにするため、trueに設定しましょう。
white-list
ホワイトリストtrueにして有効にしましょう。
特定のユーザーしか接続できないようにすることで、ワールドが荒らされることを防ぎます。
server-port
ポート番号です。
デフォルトの「19132」は知れ渡っているので、変更することで少しはセキュリティ強化に繋がります。
default-player-permission-level
新規参入するユーザーの権限を設定します。
ここはデフォルトのmemberで構いません。

permissions.json

ここでは、サーバーにおけるユーザーの権限JSON形式で設定します。

[
    {
        "permission" : "operator",
        "xuid" : "1234567891234567"
    },
    {
        "permission" : "visitor",
        "xuid" : "7654321987654321"
    }
]

permission権限)は以下の3つです。

  • visitor
  • member
  • operator

権限の範囲はわかりませんが、operatorが管理者、memberが一般プレイヤー、visitorは見るだけかな?
xuidはユーザーがサーバーに接続するとコンソール上に表示されます。

whitelist.json

最後にホワイトリストです。
ここもJSON形式で設定します。

[
    {
        "ignoresPlayerLimit":true,
        "name" : "player1",
        "xuid" : "1234567891234567"
    },
    {
        "ignoresPlayerLimit":false,
        "name" : "player2",
        "xuid" : "7654321987654321"
    }
]

ignoresPlayerLimitはプレイヤーの最大参加可能人数に含めないかどうかですが、ここはfalse(含める)でいいでしょう。
permissions.jsonとは違い、ユーザ名name)だけでも指定できるようです。
ユーザ名が同じだった場合は、自動的にxuidが入力されうようです。

自鯖の設定例

参考までに我が家のサーバーの設定例をご紹介します。

server.properties

server-name=Minory Server
gamemode=survival
difficulty=easy
allow-cheats=true
max-players=10
online-mode=true
white-list=false
server-port=19132
server-portv6=19133
view-distance=16
tick-distance=4
player-idle-timeout=10
max-threads=8
level-name=minory
level-seed=
default-player-permission-level=member
texturepack-required=false

子供もプレイするので、難易度をeasy(簡単)にしました。
ホワイトリストはまだ設定していません。
ポート番号もそのままです。
コマンドによるチートallow-cheats)を許可(true)にしていますが、自分だけチートできるようにserver.propertiesも設定しましたw

server.properties

[
    {
        "permission" : "operator",
        "xuid" : "1234567891234567"
    }
]

他はデフォルトだと思います。

モバイルバージョンを終了