みなさんこんにちは、つるおです。
この記事では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 | マインクラフトゲーム内での活動は何でもできる。 |
operator | 権限設定やコマンド使用などできる最高権限。 |
権限の設定
基本的にはpermission.json
ファイルを編集する必要がありますが、operetor
権限の付与の場合、対象プレイヤーがサーバー内にいるときに限り以下コマンドで付与できます。
op <プレイヤー名>
このコマンドが実行できるのはサーバーのコンソール上、またはoperetor権限を持っているプレイヤーのみです。
権限設定ファイルの説明
各プレイヤー権限を設定するファイルpermission.json
はjson形式で権限を記述します。
記述に必要な情報は、権限名と該当プレイヤーのXUIDです。
変数名 | 値 | 説明 |
permission |
visitor member operator |
各種権限 |
xuid |
<各ユーザーに割り振られた固有のid> | 権限付与対象のユーザーxuid |
設定例
[
{
"permission": "operator",
"xuid": "123456789"
},
{
"permission": "member",
"xuid": "987654321"
},
{
"permission": "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"
}
]