以下は、デフォルトバージョンを実行してデフォルトのUDPポートを公開する岩盤専用サーバーを起動します。
docker run -d -it -e EULA=TRUE -p 19132:19132/udp -v mc-bedrock-data:/data itzg/minecraft-bedrock-server
注:サーバーを長時間実行する予定がある場合は、Docker ComposeやKubernetesなどの管理レイヤーを使用して、増分再構成と画像のアップグレードを可能にすることを強くお勧めします。
VERSION
変数がデフォルトである「最新」に設定されている場合、コンテナを再起動してBedrockサーバーをアップグレードできます。すべてのスタートアップで、コンテナは必要に応じて最新バージョンとアップグレードをチェックします。
最新のプレビューバージョンは、 VERSION
「プレビュー」に設定することでリクエストできます。
Minecraft Java Editionの場合、代わりにこの画像を使用する必要があります。
itzg/minecraft-server
EULA
(デフォルトなし):Minecraftエンドユーザーライセンス契約を受け入れるためにTRUE
設定する必要がありますVERSION
(デフォルトはLATEST
):特定のサーバーバージョンに設定できます。または、次の特別な値を使用できます。LATEST
:最新の(非プレビュー)バージョンを決定し、コンテナスタートで自動アップグレードするために使用できますPREVIEW
:最新のプレビューバージョンを決定すると、自動アップグレードされますPREVIEW
「true」に設定しますUID
( /data
所有者から派生したデフォルト):特定のユーザーIDに設定して、Bedrock Server Processを実行できますGID
( /data
所有者から派生したデフォルト):特定のグループIDに設定して、Bedrock Server Processを実行できますTZ
(デフォルトなし): America/New_York
のような特定のTimeZoneに設定できます。これにより、Dockerコンテナ、したがってログのタイムゾーンが設定されます。さらに、時間をホストと同期する場合は、 /etc/localtime
ファイルをホストからコンテナに/etc/localtime:/etc/localtime:ro
。PACKAGE_BACKUP_KEEP
( 2
):保持するパッケージバックアップの数次の環境変数は、 server.properties
に同等のプロパティを設定し、それぞれがここで説明されています。通常、各プロパティは代わりにapper_snake_case等価によって構成されます。
SERVER_NAME
GAMEMODE
FORCE_GAMEMODE
DIFFICULTY
ALLOW_CHEATS
MAX_PLAYERS
ONLINE_MODE
WHITE_LIST
ALLOW_LIST
SERVER_PORT
SERVER_PORT_V6
ENABLE_LAN_VISIBILITY
VIEW_DISTANCE
TICK_DISTANCE
PLAYER_IDLE_TIMEOUT
MAX_THREADS
LEVEL_NAME
LEVEL_SEED
LEVEL_TYPE
DEFAULT_PLAYER_PERMISSION_LEVEL
TEXTUREPACK_REQUIRED
CONTENT_LOG_FILE_ENABLED
CONTENT_LOG_LEVEL
CONTENT_LOG_CONSOLE_OUTPUT_ENABLED
COMPRESSION_THRESHOLD
COMPRESSION_ALGORITHM
SERVER_AUTHORITATIVE_MOVEMENT
PLAYER_POSITION_ACCEPTANCE_THRESHOLD
PLAYER_MOVEMENT_SCORE_THRESHOLD
PLAYER_MOVEMENT_ACTION_DIRECTION_THRESHOLD
PLAYER_MOVEMENT_DISTANCE_THRESHOLD
PLAYER_MOVEMENT_DURATION_THRESHOLD_IN_MS
CORRECT_PLAYER_MOVEMENT
SERVER_AUTHORITATIVE_BLOCK_BREAKING
SERVER_AUTHORITATIVE_BLOCK_BREAKING_PICK_RANGE_SCALAR
CHAT_RESTRICTION
DISABLE_PLAYER_INTERACTION
CLIENT_SIDE_CHUNK_GENERATION_ENABLED
BLOCK_NETWORK_IDS_ARE_HASHES
DISABLE_PERSONA
DISABLE_CUSTOM_SKINS
SERVER_BUILD_RADIUS_RATIO
ALLOW_OUTBOUND_SCRIPT_DEBUGGING
ALLOW_INBOUND_SCRIPT_DEBUGGING
FORCE_INBOUND_DEBUG_PORT
SCRIPT_DEBUGGER_AUTO_ATTACH
SCRIPT_DEBUGGER_AUTO_ATTACH_CONNECT_ADDRESS
SCRIPT_WATCHDOG_ENABLE
SCRIPT_WATCHDOG_ENABLE_EXCEPTION_HANDLING
SCRIPT_WATCHDOG_ENABLE_SHUTDOWN
SCRIPT_WATCHDOG_HANG_EXCEPTION
SCRIPT_WATCHDOG_HANG_THRESHOLD
SCRIPT_WATCHDOG_SPIKE_THRESHOLD
SCRIPT_WATCHDOG_SLOW_THRESHOLD
SCRIPT_WATCHDOG_MEMORY_WARNING
SCRIPT_WATCHDOG_MEMORY_LIMIT
OP_PERMISSION_LEVEL
EMIT_SERVER_TELEMETRY
MSA_GAMERTAGS_ONLY
ITEM_TRANSACTION_LOGGING_ENABLED
たとえば、デフォルトの使用ではなく、フラットでクリエイティブなサーバーを構成するには:
docker run -d -it --name bds-flat-creative
-e EULA=TRUE -e LEVEL_TYPE=flat -e GAMEMODE=creative
-p 19132:19132/udp itzg/minecraft-bedrock-server
SERVER_PORT
によって設定されたIPv4上のBedrock Serverポート。 IPv6ポートはデフォルトで公開されません。 -p 19132:19132/udp
など、ポートを公開するときは/udp
を追加する必要があり、IPv4とIPv6の両方をホストマシンで有効にする必要があることに注意してください。 /data
:ダウンロードされたサーバーが拡張されて実行される場所。また、構成プロパティファイルserver.properties
も含まれていますnamed volume
を作成して、次のように使用できます。
docker volume create mc-volume
docker run -d -it --name mc-server -e EULA=TRUE -p 19132:19132/udp -v mc-volume:/data itzg/minecraft-bedrock-server
名前付きボリュームを使用しており、岩盤プロセスを非ルートユーザーとして実行したい場合は、ボリュームを事前に作成し、目的のユーザーにchown
必要があります。
たとえば、ユーザーID 1000およびグループID 1000でBedrockサーバーを実行したい場合は、次のように「Bedrock」という名前のボリュームを作成して融合します。
docker run --rm -v bedrock:/data alpine chown 1000:1000 /data
docker run
を使用する場合、 -v
引数でそのボリューム「Bedrock」を参照するだけです。 Composeファイルを使用する場合、このタイプの宣言を使用して外部としてボリュームを宣言します。
volumes :
bedrock :
external :
name : bedrock
LANでコンテナを実行するときは、次のような「Friends」タブの「LAN Games」部分で専用サーバーを見つけて接続できます。
岩盤専用サーバーは、XUIDで権限を定義する必要があります。これらをオンラインで調べるさまざまなツールがあり、プレイヤーが参加するとログに印刷されます。各グループを構成するための3つのレベルのアクセス許可と3つのオプションがあります。
OPS
は、サーバー上のオペレーターを定義するために使用されます。 -e OPS= " 1234567890,0987654321 "
MEMBERS
サーバー上のメンバーを定義するために使用されます。 -e MEMBERS= " 1234567890,0987654321 "
VISITORS
サーバー上の訪問者を定義するために使用されます。 -e VISITORS= " 1234567890,0987654321 "
ホワイトリストを処理するには2つの方法があります。
1つ目は、 ALLOW_LIST
環境変数をTrueに設定し、コンテナにカスタム作成されたAllowlist.jsonファイル(以前は「whitelist.json」として知られていた)にマッピングすることです。
もう1つは、 ALLOW_LIST_USERS
環境変数を、ゲーマータグのユーザー名と対応するXUIDのコンマ分離リストに設定することです。各ユーザー名の後に、コロンで区切られたXUIDが続く必要があります。サーバーはこれらの詳細を使用してプレーヤーに一致します。
Xuidsをオンラインで見るためのさまざまなツールがあり、プレーヤーがサーバーに参加するとログに印刷されます。
-e ALLOW_LIST_USERS= " player1:1234567890,player2:0987654321 "
動作またはリソースパックとも呼ばれ、サーバーにmodを追加するために、これらの手順に従って、OPS(1人のプレーヤーの睡眠)とBedrocktweaksでテストできます
C:UsersUSERAppDataLocalPackagesMicrosoft.MinecraftUWP_*LocalStategamescom.mojang
。クライアントを使用せずにそれらをインストールする場合は、MODをサーバーのボリュームに直接解凍できるはずです。MCADDONはBehavior_Packsに、.mcpackはResource_Packsに移動する必要があります。 .mcaddonと.mcpackの両方が.zipファイルに変更されました。
worlds/$level-name/world_behavior_packs.json
で作成すると、以前のmanifest.jsonのように各modのエントリを追加する必要があります。現在、uuidと呼ばれるUUIDとドットを置き換えるバージョンのみが必要です。 []を使用したコンマと二重引用符。
worlds/$level-name/world_resource_packs.json
を作成することもできますが、同じJSON内にリソースパックと動作パックの両方を置くことは正常に動作することがわかりました
[
{
"pack_id" : "5f51f7b7-85dc-44da-a3ef-a48d8414e4d5",
"version" : [ 3, 0, 0 ]
}
]
すべてのクライアントにリソースパックを強制したい場合、
server.properties
でtexturepack-required=false
をtrue
に変更するオプションがあります。リソースパックは、[設定]> [ストレージ]> [キャッシュされたデータ]に移動し、パックを選択してゴミ箱をクリックすることで削除できます。
詳細については、FoxynotailがWindowsで実行されているサーバーで同じことを説明するビデオを作成しました。
一般的なベッドロック専用サーバーの管理の詳細については、このRedditの投稿をご覧ください。
この画像には、Bedrock Server Consoleに岩盤のコマンドと引数を送信するsend-command
というスクリプトがバンドルされています。コマンドの出力は、コンテナログにのみ表示されます。
例えば:
docker exec CONTAINER_NAME_OR_ID send-command gamerule dofiretick false
または、StdinとTTYが有効になっている場合( -it
使用するなど)、名前またはIDを使用してコンテナのコンソールに接続します。
docker attach CONTAINER_NAME_OR_ID
添付されている間、プレーヤーを管理するなど、サーバー側のコマンドを実行できます。
gamerule dofiretick false
終了したら、ctrl-p、ctrl-qを使用してサーバーコンソールから取り外します
Exampleディレクトリには、Dockerを作成する例が含まれています。
/data
のサービスに接続されたボリューム services :
bds :
image : itzg/minecraft-bedrock-server
environment :
EULA : " TRUE "
ports :
- " 19132:19132/udp "
volumes :
- ./data:/data
stdin_open : true
tty : true
サーバーを起動し、以下を使用してバックグラウンドで実行します。
docker compose up -d
次を使用していつでもログをフォローできます。
docker compose logs -f
例ディレクトリには、以下を宣言するKubernetesマニフェストファイルの例が含まれています。
POD展開には、環境変数を介してサーバープロパティを構成する例がいくつか含まれています。
env :
- name : EULA
value : " TRUE "
- name : GAMEMODE
value : survival
- name : DIFFICULTY
value : normal
このファイルはほとんどのクラスターで展開可能ですが、デスクトップおよびGoogle KubernetesエンジンのDockerで確認されています。
kubectl apply -f examples/kubernetes.yml
次を使用して、展開のログに従うことができます。
kubectl logs -f deployment/bds
@thetinkerdadは、単一のポート(19132)で複数のインスタンスをホストする方法に関する優れたチュートリアルを提供して、https://www.youtube.com/watch?v=ds0_eszjbfs
このDocker画像を構築しようとするとき、すべての
.sh
ファイルがCLRF
ではなくLF
の終了シーケンスを持っているか、ビルドが失敗することを確認してください。