IT マインクラフト

Minecraft統合版マルチサーバー設定を解説

2020-05-02

みなさんこんにちは、つるおです。
この記事ではMinecraft統合版マルチサーバーの設定項目や内容について解説します。
以前、Linuxサーバーに0から構築する方法を説明しましたので、こちらも参考にしてください!

参考Minecraft統合版サーバーの建て方からアップデートまで徹底解説

みなさんこんにちは、つるおです。 今回はMinecraft統合版のサーバーを建てる方法を説明します。 最近では仮想専用サーバーを借りる際、ワンクリックでMinecraft統合版のサーバーが建てられるよ ...

続きを見る

説明

それでは解説に入ります。

ディレクトリ構造

まずはサーバーソフトウェアのディレクトリ構造です。
あまり深いところは特に解説の意味が無いので深さ1の部分のみ説明します。

.
├── behavior_packs
├── definitions
├── development_behavior_packs
├── development_resource_packs
├── development_skin_packs
├── minecraftpe
├── premium_cache
├── resource_packs
├── structures
├── treatments
├── worlds
├── world_templates
├── bedrock_server
├── bedrock_server_how_to.html
├── bedrock_server_realms.debug
├── Dedicated_Server.txt
├── libCrypto.so
├── permissions.json
├── release-notes.txt
├── server.properties
├── valid_known_packs.json
└── whitelist.json

太文字がディレクトリ、通常文字がファイルを示します。

ディレクトリ / ファイル 名 説明
behavior_packs ビヘイビアパック(アドオンのような位置づけ)をインストールするディレクトリ。現時点では使う手段は用意されていない。
resource_packs リソースパック(昔で言うテクスチャパックのような位置づけ)をインストールするディレクトリ。現時点では使う手段は用意されていない。
worlds ワールドデータが格納されるディレクトリ。後に説明するserver.propertiesで指定されたディレクトリ名で複数ワールドが存在する。
bedrock_server サーバーソフトウェア本体。
bedrock_server_how_to.html 簡易的説明書。
permissions.json 参加プレイヤーそれぞれの権限を設定するファイル。
release-notes.txt アップデート情報。
server.properties サーバーの各種設定ファイル。
whitelist.json ホワイトリストが有効化されているときに参加を許可するユーザーを指定するファイル。

サーバーの各種設定

サーバーの設定はserver.propertiesファイルを編集することで行います。
WindowsやMacOS等GUI環境、Ubuntu Server等CUI環境、それぞれ使い慣れたエディターで開いて編集できます。

設定項目

設定項目 指定できる値 デフォルト値 説明
server-name <任意の文字列> Dedicated Server Minecraftクライアントのサーバーリストに表示される文字列。
gamemode survival
creative
adventure
survival 新しいプレイヤーのゲームモード。
difficulty peaceful
easy
normal
hard
easy 難易度。
allow-cheats true
false
false コマンド等チート行為を許可するかどうか。
max-player <任意の整数値> 10 最大参加可能人数。大きいほどパフォーマンスに影響を与える。
online-mode true
false
true trueの場合参加プレイヤーはXbox Liveの認証をする必要がある。WAN側のサーバーに接続する場合、強制的に認証が必要。通常はtrueを推奨。
white-list true
false
false ホワイトリストを有効にするかどうか。trueの場合whitelist.jsonで指定されたプレイヤーのみ参加できる。
server-port <任意のポート番号> 19132 IPv4ポート番号
server-portv6 <任意のポート番号> 19133 IVv6ポート番号
view-distance <任意の整数値> 10 最大描画距離。大きいほどパフォーマンスに影響を与える。
tick-distance <4-12の整数値> 4 最大チャンク稼働距離。大きいほどパフォーマンスに影響を与える。
player-idle-timeout <任意の整数値> 30 プレイヤーがアイドル時、何分後にキックするか。0で無制限。
max-threads <任意の整数値> 8 サーバーが使用を試みる最大スレッド数。0でできるだけ多くの使用を試みる。
level-name <任意の文字列> level worldsディレクトリ内に格納されているワールドで使用するワールドデータのディレクトリ名。存在しない場合は自動的に指定されたディレクトリ名で生成される。
level-seed <任意の文字列> 初期生成時に使用されるシード値。
default-player-permission-level visitor
member
operetor
member 新しいプレイヤーの権限。
texturepack-required true
false
falase クライアントにテクスチャの使用を強制させるかどうか。
content-log-file-enabled true
false
false エラー発生時にファイルに出力するかどうか。
compression-threshold <0-65535の整数値> 1 ネットワークペイロードの最小値
server-authoritative-movement true
false
true ゲーム内でのプレイヤーの位置において、サーバー上とクライアント上で計算をし、信頼できる移動を行う。もし一致しない場合、この後のcorrect-player-movementの設定がtrueの場合、位置の修正を送信する。
player-movement-score-threshold server-authoritative-movement設定により無効化された)
player-movement-duration-threshold-in-ms server-authoritative-movement設定により無効化された)
correct-player-movement true
false
false ゲーム内でのプレイヤーの位置において、移動距離が一定の閾値を超えた場合クライアント上の位置をサーバー上の位置によって修正するかどうか。

ファイル内の#から始まる行はシステム上認識されない(コメント行)なので好きなことを書いても消しても問題ありません。
また、空行も必要ありません。

設定例

server-name=Russyi’s Server
gamemode=survival
difficulty=normal
allow-cheats=false
max-players=5
online-mode=true
white-list=true
server-port=19132
server-portv6=19133
view-distance=36
tick-distance=8
player-idle-timeout=30
max-threads=0
level-name=World01
level-seed=
default-player-permission-level=member
texturepack-required=false
content-log-file-enabled=false
compression-threshold=1
server-authoritative-movement=true
player-movement-score-threshold=20
player-movement-distance-threshold=0.3
player-movement-duration-threshold-in-ms=500
correct-player-movement=false

各プレイヤー権限の設定

権限の種類

Minecraft統合版のサーバーにはプレイヤーに割り振れる権限の種類は3種類あります。

権限 説明
visitor 自由に動けるが、ブロックやアイテム・エンティティなどに変更を加えることはできない。
member マインクラフトゲーム内での活動は何でもできる。
operetor 権限設定やコマンド使用などできる最高権限。

権限の設定

基本的にはpermission.jsonファイルを編集する必要がありますが、operetor権限の付与の場合、対象プレイヤーがサーバー内にいるときに限り以下コマンドで付与できます。

op <プレイヤー名>

このコマンドが実行できるのはサーバーのコンソール上、またはoperetor権限を持っているプレイヤーのみです。

権限設定ファイルの説明

各プレイヤー権限を設定するファイルpermission.jsonはjson形式で権限を記述します。
記述に必要な情報は、権限名と該当プレイヤーのXUIDです。

変数名 説明
permisson visitor
member
operetor
各種権限
xuid <各ユーザーに割り振られた固有のid> 権限付与対象のユーザーxuid
設定例

[
        {
                "permisson": "operetor",
                "xuid": "123456789"
        },
        {
                "permisson": "member",
                "xuid": "987654321"
        },
        {
                "permisson": "visitor",
                "xuid": "567891234"
        }
]

ホワイトリストの設定・確認

追加・削除・確認ともにコマンドで簡単に行えます。

追加する場合は以下コマンドを実行してください。
プレイヤー名は追加したいプレイヤーのXboxゲームタグになります。

whitelist add <プレイヤー名>

削除する場合は以下コマンドを実行してください。

whitelist remove <プレイヤー名>

追加されているプレイヤー名を確認する場合は以下コマンドを実行してください。

whitelist list

これらのコマンドが実行できるのはサーバーのコンソール上、またはoperetor権限を持っているプレイヤーのみです。

ホワイトリストファイルの説明

通常であれば上のコマンドでの操作を行う方が確実です。
何かしらの理由でファイルを編集して行いたい場合のみこちらを参照してください。

ホワイトリストを設定するファイルwhitelist.jsonはjson形式で権限を記述します。
記述に必要な情報は、該当プレイヤーのゲーマータグ名(xuidは不要)です。

変数名 説明
ignoresPlayerLimit true
false
最大参加可能人数に含めるかどうか。
name <対象プレイヤーのXboxゲーマータグ名>
xuid <各ユーザーに割り振られた固有のid> 入対象プレイヤー初回参加時に自動入力されます。
設定例

[
{
"ignoresPlayerLimit": true,
"name":"abcde",
"xuid":"123456789"
},
{
"ignoresPlayerLimit":false,
"name":"fghijk",
"xuid":"987654321"
},
{
"ignoresPlayerLimit":false,
"name":"lmnop"
}
]

-IT, マインクラフト

© 2020 とりあえずいろんな情報記(仮)