Minecraft Bedrock Server(統合版サーバー)の運営において、設定ファイル「server.properties」の編集は非常に重要です。
このファイルをカスタマイズすることで、ゲームルール、パフォーマンス、セキュリティなど、サーバーの様々な要素を調整できます。
本記事では、Bedrock Serverインストール時に提供されるドキュメント(bedrock_server_how_to.html)に基づき、「server.properties」に記載されている設定項目を解説します。
今回は、Bedrock Server バージョン1.21.71の「server.properties」の内容を基に説明を行います。
server.propertiesとは?
Minecraft Bedrock Serverの設定ファイル「server.properties」は、サーバーの動作を定義するテキストファイルです。
- 格納場所: Bedrock Serverのインストールディレクトリ
- 読み込み: Bedrock Serverの起動時
- 基本形式: 「設定項目キー=設定値」の形式で1行に1つずつ記述
- 編集方法: テキストエディタで編集・保存
- 設定反映: 通常はBedrock Serverの再起動が必要
設定項目によっては、ワールド新規作成時のみ有効なものや、常に反映されるものがあります。
編集前には必ずバックアップを取りましょう。
server.propertiesには非常に多くの設定項目があり、それぞれがサーバーの動作に影響を与えますので、各項目の意味を理解し、自分のプレイスタイルやサーバーの目的に合わせて設定を調整してみてください。
設定項目解説
設定項目の種類順にまとめたので、それぞれの説明を行っていきます。
基本的なサーバー情報
server-name
- 説明: ゲーム内のサーバーリストに表示されるサーバーの名前
- 設定可能な値: 任意の文字列
- デフォルト値: Dedicated Server
- 反映タイミング: 常に
level-name
- 説明: ワールドの名前
- 設定可能な値: 任意の文字列
- デフォルト値: Bedrock level
- 反映タイミング: 常に
使用または生成するワールド(レベル)の名前で、指定した名前のフォルダがworldsディレクトリ内に作成され、そこにワールドデータが格納されます。
level-seed
- 説明: ワールドを生成する際のシード値
- 設定可能な値: 任意の文字列
- デフォルト値: (空欄)
- 反映タイミング: ワールド新規作成時
同じシード値を指定すれば、同じ地形のワールドが生成されます。
ゲームルール設定
gamemode
- 説明: ゲームのモード設定
- 設定可能な値: survival, creative, adventure
- デフォルト値: survival
- 反映タイミング: 常に
force-gamemodeの設定に影響される場合あります。
force-gamemode
- 説明: server.propertiesファイルで指定されたゲームモードを強制的にクライアントに適用するかどうかの設定
- 設定可能な値: true, false
- デフォルト値: false
- 反映タイミング: 常に
trueの場合
server.propertiesでgamemodeの設定を変更した場合に、接続済みプレイヤーのゲームモードも強制的に変更します。
falseの場合
ワールドが作成されたときに設定されたゲームモードをクライアントに送信します。
server.propertiesでgamemodeの設定を変更してゲームモードを切り替えても、接続済みのプレイヤーのゲームモードは変更されません。
difficulty
- 説明: ゲームの難易度設定
- 設定可能な値: peaceful,easy,normal,hard
- デフォルト値: easy
peaceful
- 敵対的なMob(ゾンビ、スケルトン、クリーバーなど)が出現しない
- 食料ゲージが減らない
- 体力が自動的に回復
easy
- 敵対的なMob(ゾンビ、スケルトン、クリーバーなど)は出現するが、攻撃力が低く設定されている
- 食料ゲージが減少し、空腹になると体力が減少するが、力尽きることはない(体力の半分までしか減少しない)
- 村人がゾンビに襲われてもゾンビ化しない
normal
- 敵対的なMob(ゾンビ、スケルトン、クリーバーなど)は出現し、攻撃力も標準的に設定されている
- 食料ゲージが減少し、空腹になると体力が減少し最終的には力尽きる
- 村人がゾンビに襲われるとゾンビ化する
hard
- 敵対的なMob(ゾンビ、スケルトン、クリーバーなど)が多く出現し、攻撃力も高く設定されている
- 一部のMobが特殊な行動(ゾンビがドアを破壊等)をするようになる
- 食料ゲージの減少スピードが早く、空腹時の体力減少が大きくなる
- 村人がゾンビに襲われると、ほぼゾンビ化する
allow-cheats
- 説明: コマンドの使用などチート機能を許可するかどうかの設定
- 設定可能な値: true, false
- デフォルト値: false
- 反映タイミング: 常に
trueに設定すると、コマンドの使用などチート機能を許可し、falseで使用できないようになります。
プレイヤーと接続設定
max-players
- 説明: 同時接続できる最大プレイヤー数
- 設定可能な値: 任意の正の整数
- デフォルト値: 10
- 反映タイミング: 常に
サーバーに接続しているプレイヤー数が増えると、サーバーの負荷が増加しパフォーマンスに影響が出る可能性があります。
サーバのメモリ毎の同時接続人数について
ワールドの広さ、Mobやアイテムの数、プレイヤーのアクティビティ、導入しているアドオンやBehavior Packなど、様々な要因によって大きく変動するので、あくまで目安となりますが、Ubuntu上に構築されたBedrockServerで推奨される同時接続の人数は以下のようになります。
- メモリ1GB: 5人程度までの小規模なプレイ
- メモリ2GB: 10人程度までの中小規模なプレイ
- メモリ4GB: 20人程度までの中規模なプレイ
- メモリ8GB: 30人以上の大規模なプレイ
player-idle-timeout
- 説明: 無操作プレイヤーが自動的にサーバーから切断される時間
- 設定可能な値: 0以上
- デフォルト値: 30
- 反映タイミング: 常に
プレイヤーがここで指定した時間 (分) 操作を行わなかった場合、サーバーから自動的に切断(キック)されます。
「0」に設定すると、無操作でも切断(キック)されなくなります。
online-mode
- 説明: Minecraftアカウントの認証を行うかどうかの設定
- 設定可能な値: true, false
- デフォルト値: true
- 反映タイミング: 常に
trueに設定すると、接続するすべてのプレイヤーがMinecraftアカウントで認証されている必要があります。
インターネットにサーバーを公開する場合は、セキュリティのため true にすることを強く推奨します。
allow-list
- 説明: ホワイトリスト機能を有効化するかどうかの設定
- 設定可能な値: true, false
- デフォルト値: false
- 反映タイミング: 常に
trueに設定すると、allowlist.jsonファイル(旧 whitelist.json) に記載されているプレイヤーのみがサーバーに接続できるようになります。
ホワイトリストへユーザの追加と削除は、サーバコンソールで以下のコマンドを実行
- ホワイトリストに追加: whitelist add ユーザ名
- ホワイトリストから削除: whitelist remove ユーザ名
より詳しい説明をこちらのページで解説しています。 https://mc.server-memo.net/bedrock_server_whitelist/
default-player-permission-level
- 説明: 新しいプレイヤーが初めて参加するときの権限レベル
- 設定可能な値: visitor, member, operator
- デフォルト値: member
- 反映タイミング: 常に
permissions.jsonに記載されていない新規プレイヤーが、新規にサーバーへ参加した際のデフォルトで付与される権限のレベルを設定します。
- visitor: ブロックの設置や破壊、アイテム作成等のワールドに影響を与える操作はできない
- member: サバイバルモードにおける基本的な操作ができる
- operator: オペレータ権限を持ったユーザ
disable-custom-skins
- 説明: カスタムスキンの無効化
- 設定可能な値: true, false
- デフォルト値: false
- 反映タイミング: 常に
true に設定することで、Minecraftストアのアセットやゲーム内アセット以外で作成されたカスタムスキン(自作スキンなど)の表示を無効することができます。
disable-persona
- 説明: ペルソナを無効化
- 設定可能な値: true, false
- デフォルト値: false
- 反映タイミング: 内部使用のみ
ペルソナ(キャラクタークリエイターで作られたスキン)を無効化します。
ネットワークとパフォーマンス
server-port
- 説明: IPv4接続待受けポート番号
- 設定可能な値: 1024 から 65535 の整数
- デフォルト値: 19132
- 反映タイミング: 常に
Bedrock Serverがクライアントからの接続を待ち受けるIPv4ポート番号です。
同一のサーバーで、複数Bedrock Serverを起動する場合などに変更します。
server-portv6
- 説明: IPv6接続待受けポート番号
- 設定可能な値: 1024 から 65535 の整数
- デフォルト値: 19133
- 反映タイミング: 常に
Bedrock Serverがクライアントからの接続を待ち受けるIPv6ポート番号です。
enable-lan-visibility
- 説明: LANに接続している他のMinecraft統合版のプレイヤーに対して、Bedroc Serverを自動的に検出させるかどうかの設定
- 設定可能な値: true, false
- デフォルト値: true
- 反映タイミング: 常に
trueに設定すると、サーバーが同じLAN(ローカルエリアネットワーク)内にあるクライアントからの探索に応答するようになります。
view-distance
- 説明: 最大描画距離の設定
- 設定可能な値: 5以上の整数
- デフォルト値: 32
- 反映タイミング: 常に
プレイヤーの周囲を読み込み、クライアントに送信するチャンク(ワールドの区画)の最大描画距離です。
値を大きくすると遠くまで見渡せるようになりますが、サーバーとクライアント双方の負荷が増加し、パフォーマンスに大きな影響を与えます。
tick-distance
- 説明: プレイヤーの周りのどこまでゲームを動かすかを決める設定
- 設定可能な値: 4 から 12 の整数
- デフォルト値: 4
- 反映タイミング: 常に
プレイヤーの周囲でサーバーがゲームを動かす(ティック処理を行う) チャンクの範囲で、これにはMobの動作、作物の成長、レッドストーン回路の動作などが含まれます。
値を大きくすると、プレイヤーから離れた場所でもゲーム内の時間が進みますが、サーバーの負荷が増加します。
max-threads
- 説明: サーバーが使用できる最大スレッド数
- 設定可能な値: 任意の整数
- デフォルト値: 8
- 反映タイミング: 常に
サーバーのCPUが使用可能な最大スレッド数です。
「0」に設定するかこの項目自体を削除すると、サーバーは可能な限り多くのスレッドを使用しようとします。
通常はデフォルト値のままで問題ありません。
compression-threshold
- 説明: ネットワーク通信の圧縮を行うデータサイズ
- 設定可能な値: [0-65535] の整数(バイト)
- デフォルト値: 1
- 反映タイミング: 常に
ネットワーク上でデータを送受信する際に、圧縮を開始する最小データサイズ(バイト単位)を決定します。
値を小さくするとより多くのデータが圧縮されますが、CPU負荷が増加します。
値を大きくするとCPU負荷は減りますが、ネットワーク帯域幅をより多く消費します。
compression-algorithm
- 説明: ネットワーク通信に使用する圧縮アルゴリズム
- 設定可能な値: zlib, snappy
- デフォルト値: zlib
- 反映タイミング: 常に
zlib は一般的な圧縮アルゴリズムで、snappyは圧縮率よりも速度を重視したアルゴリズムです。
client-side-chunk-generation-enabled
- 説明: クライアント側で描画チャンクの生成を許可するかどうかの設定
- 設定可能な値: true, false
- デフォルト値: true
- 反映タイミング: 常に
trueに設定すると、クライアント側で描画チャンクの生成を許可し、プレイヤーが移動した際のチャンク読み込みがスムーズになる可能性があります。
server-build-radius-ratio
- 説明: サーバ側で生成するチャンクの割合
- 設定可能な値: Disabled, 0.0-1.0
- デフォルト値: Disabled
- 反映タイミング: 常に
この設定は、client-side-chunk-generation-enabled が true の場合に有効です。
プレイヤーの描画範囲のうち、サーバー側で生成する割合を指定し、残りはクライアント側で生成されます。
Disabledの場合は、サーバーはクライアントの性能に応じて動的に割合を計算し、数値を指定するとクライアントの性能に関わらず、指定された割合をサーバーが生成します。(0.0 = 0%, 1.0 = 100%)
block-network-ids-are-hashes
- 説明: ブロックネットワークIDをハッシュ化するかどうかの設定
- 設定可能な値: true, false
- デフォルト値: true
- 反映タイミング: 常に
trueの場合は、ブロックのネットワークIDとして安定したハッシュ値を送信します。
falseの場合は、0から始まる連番のIDを送信しますが、これはアップデートなどで変動する可能性があります。
通常はtrueのままにしておくのが推奨されます。
サーバー権限と検証 (高度な設定)
ここで説明する設定は、クライアントの不正行為(チート)を検出し、サーバー側でより厳密な検証を行うためのものです。
trueにするとセキュリティは向上しますが、ネットワーク遅延が大きい場合にプレイヤーの操作に巻き戻りなどが生じる可能性があります。
server-authoritative-movement-strict
- 説明: プレイヤーの動きをどれくらい厳しくチェックするか決める設定
- 設定可能な値: true, false
- デフォルト値: false
- 反映タイミング: 常に
true にすると、プレイヤーの位置情報に対してサーバーがより厳密な検証を行い、クライアントからの情報をそのまま受け入れる許容範囲を狭めます。
ネットワークの遅延が大きい場合や、ラグが発生している環境では、プレイヤーの動きに影響(巻き戻りなど)が出る可能性があります。
server-authoritative-dismount-strict
- 説明: プレイヤーが乗り物(馬、ボート、ラマなど)から降りる動作をどれくらい厳しくチェックするか決める設定
- 設定可能な値: true, false
- デフォルト値: false
- 反映タイミング: 常に
trueにすると、乗り物から降りる際の位置についてサーバーがより厳密なチェックを行うようになります。
ネットワークの遅延が大きい場合や、ラグが発生している環境では、プレイヤーの動きに影響(巻き戻りなど)が出る可能性があります。
server-authoritative-entity-interactions-strict
- 説明: プレイヤーがモブに攻撃したり、アイテムを拾ったりするという行動をどれくらい厳しくチェックするか決める設定
- 設定可能な値: true, false
- デフォルト値: false
- 反映タイミング: 常に
trueにすると、プレイヤーがモブに攻撃したりアイテムを拾ったりするという行動のチェック厳しくチェックします。
ネットワークの遅延が大きい場合や、ラグが発生している環境では、攻撃が当たらなかったりアイテムが拾えないという現象が発生しやすくなる可能性があります。
player-position-acceptance-threshold
- 説明: プレイヤーの位置情報をどれくらいのズレまで認めるかの設定
- 設定可能な値: 任意の浮動小数点数
- デフォルト値: 0.5
- 反映タイミング: 常に
マイクラのクライアントが報告するプレイヤー位置と、サーバーが予測するプレイヤー位置とのずれに対する許容範囲を設定します。
数値が大きいほどずれに対して寛容になりますが、1.0を超えると不正行為を見逃す可能性が高まります。
player-movement-action-direction-threshold
- 説明: 「プレイヤーが歩いている方向」と「ブロックを壊したり、攻撃したりする方向」のズレを、どこまで認めるかの設定
- 設定可能な値: [-1.00, 1.00] の範囲の任意の正の浮動小数点数(単位は角度)
- デフォルト値: 0.85
- 反映タイミング: 常に
プレイヤーが攻撃(アクション)を行う方向と、実際にプレイヤーが見ている方向との間の許容角度差を角度で指定します。
1.0 は完全に同じ方向、0.0 は前方ならどこでも、-1.0 はどの方向でも許容になります。
server-authoritative-block-breaking
- 説明: プレイヤーがブロックを壊す動作をどれくらい厳しくチェックするか決める設定
- 設定可能な値: true, false
- デフォルト値: false
- 反映タイミング: 常に server-authoritative-movement-strictがtrueの場合のみ有効
true にすると、サーバーはクライアントと同期してブロック破壊操作を計算し、クライアントがブロックを破壊できる状況にあるかを検証します。
この設定はserver-authoritative-movement-strictがfalseの場合は無効化されます。
server-authoritative-block-breaking-pick-range-scalar
- 説明: プレイヤーがブロックを破壊できる有効範囲の係数
- 設定可能な値: 1.0を超える任意の浮動小数点数
- デフォルト値: 1.5
- 反映タイミング: 常に server-authoritative-block-breakingがtrueの場合のみ有効
ブロックを破壊できる範囲を拡大するための係数です。デフォルトの破壊範囲にこの値の2乗が掛けられます。
数値が大きければ、より遠くのブロックを破壊することができるようになります。
その他
texturepack-required
- 説明: リソースパックやテクスチャパックの適用をプレイヤーに強制するかどうかを設定
- 設定可能な値: true, false
- デフォルト値: false
- 反映タイミング: 常に
true に設定すると、すべてのクライアントに対して指定したリソースパック(テクスチャパック)の使用を強制します。
content-log-file-enabled
- 説明: コンテンツエラーのログ記録を有効
- 設定可能な値: true, false
- デフォルト値: false
- 反映タイミング: 常に
trueに設定すると、コンテンツ関連のエラー(リソースパックの読み込み失敗など)をログに出力するようになります。
chat-restriction
- 説明: チャット機能に対する制限レベルを設定
- 設定可能な値: None, Dropped, Disabled
- デフォルト値: None
- 反映タイミング: 常に
サーバーに参加する各プレイヤーのチャット機能に対する制限レベルを設定します。
- None: 通常の自由なチャット
- Dropped: チャットメッセージは送信されず、どのクライアントにも表示されません。プレイヤーにはチャットが無効である旨のメッセージが表示されます
- Disabled: オペレーター権限を持たないプレイヤーには、チャット入力欄自体が表示されなくなります。プレイヤーへの通知はありません
disable-player-interaction
- 説明: プレイヤー同士が関わることができなくなる設定
- 設定可能な値: true, false
- デフォルト値: false
- 反映タイミング: 常に
true に設定すると、サーバーはクライアントに対し、ワールド内で他のプレイヤーとのインタラクションを無視するように通知します。
簡単な例をあげると、他のプレイヤーを攻撃できなくなる、アイテムを渡せない、他のプレイヤーが設置したスイッチ等を操作することが出来なくなります。
コメント