Berikut ini memulai server khusus batuan dasar yang menjalankan versi default dan memperlihatkan port UDP default:
docker run -d -it -e EULA=TRUE -p 19132:19132/udp -v mc-bedrock-data:/data itzg/minecraft-bedrock-server
Catatan : Jika Anda berencana menjalankan server untuk waktu yang lebih lama, sangat disarankan menggunakan lapisan manajemen seperti Docker Compose atau Kubernetes untuk memungkinkan konfigurasi ulang tambahan dan peningkatan gambar.
Dengan variabel VERSION
yang diatur ke "Larest", yang merupakan default, maka server Bedrock dapat ditingkatkan dengan memulai kembali wadah. Di setiap startup, wadah memeriksa versi terbaru dan peningkatan, jika diperlukan.
Versi pratinjau terbaru dapat diminta dengan mengatur VERSION
ke "Pratinjau".
Untuk edisi Minecraft Java Anda harus menggunakan gambar ini sebagai gantinya:
ITZG/MINECRAFT-Server
EULA
(No Default): Harus diatur ke TRUE
untuk menerima Perjanjian Lisensi Pengguna Akhir MinecraftVERSION
(default adalah LATEST
): Dapat diatur ke versi server tertentu atau nilai khusus berikut dapat digunakan:LATEST
: Menentukan versi terbaru (non-preview) dan dapat digunakan untuk meningkatkan secara otomatis di Container StartPREVIEW
: Menentukan versi pratinjau terbaru dan akan meningkatkan secara otomatisPREVIEW
ke "true"UID
(default berasal dari /data
): Dapat diatur ke ID pengguna tertentu untuk menjalankan proses server BedrockGID
(default berasal dari /data
): Dapat diatur ke ID grup tertentu untuk menjalankan proses server BedrockTZ
(tidak ada default): Dapat diatur ke zona waktu tertentu seperti America/New_York
. Ini akan mengatur zona waktu untuk wadah Docker dan karenanya log mereka. Tambahkan secara tambahan, jika Anda ingin menyinkronkan waktu dengan host, Anda dapat memasang file /etc/localtime
dari host ke wadah seperti /etc/localtime:/etc/localtime:ro
.PACKAGE_BACKUP_KEEP
( 2
): Berapa banyak cadangan paket yang harus disimpan Variabel lingkungan berikut akan menetapkan properti yang setara di server.properties
, di mana masing -masing dijelaskan di sini. Biasanya, setiap properti dikonfigurasi oleh setara dengan atas_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
Misalnya, untuk mengonfigurasi server kreatif yang datar alih -alih penggunaan default:
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
. Port IPv6 tidak diekspos secara default. Perhatikan bahwa Anda harus menambahkan /udp
saat mengekspos port, seperti -p 19132:19132/udp
dan IPv4 dan IPv6 harus diaktifkan pada mesin host Anda. /data
: Lokasi di mana server yang diunduh diperluas dan dijalankan. Juga berisi server.properties
file properti konfigurasi.properties Anda dapat membuat named volume
dan menggunakannya sebagai:
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
Jika Anda menggunakan volume bernama dan ingin proses batuan dasar berjalan sebagai pengguna non-root maka Anda perlu membuat pra-membuat volume dan chown
ke pengguna yang diinginkan.
Misalnya, jika Anda ingin server Bedrock berjalan dengan ID Pengguna 1000 dan grup ID 1000, maka buat dan buat volume bernama "Bedrock" menggunakan:
docker run --rm -v bedrock:/data alpine chown 1000:1000 /data
Jika menggunakan docker run
maka cukup referensi volume itu "Bedrock" dalam argumen -v
. Jika menggunakan file COMPOSE, menyatakan volume sebagai eksternal menggunakan jenis deklarasi ini:
volumes :
bedrock :
external :
name : bedrock
Saat menjalankan wadah di LAN Anda, Anda dapat menemukan dan terhubung ke server khusus di bagian "LAN Games" dari tab "Teman", seperti:
Server khusus Bedrock membutuhkan izin yang ditentukan dengan Xuids. Ada berbagai alat untuk mencari ini secara online dan mereka juga dicetak ke log ketika seorang pemain bergabung. Ada 3 level izin dan 3 opsi untuk mengonfigurasi setiap grup:
OPS
digunakan untuk mendefinisikan operator di server. -e OPS= " 1234567890,0987654321 "
MEMBERS
digunakan untuk mendefinisikan anggota di server. -e MEMBERS= " 1234567890,0987654321 "
VISITORS
digunakan untuk mendefinisikan pengunjung di server. -e VISITORS= " 1234567890,0987654321 "
Ada dua cara untuk menangani daftar putih:
Yang pertama adalah untuk mengatur variabel lingkungan ALLOW_LIST
ke True dan Peta dalam file IzlList.json (sebelumnya dikenal sebagai "whitelist.json") yang dibuat khusus untuk wadah.
Yang lainnya adalah mengatur variabel lingkungan ALLOW_LIST_USERS
ke daftar nama pengguna tag gamer yang dipisahkan koma dan Xuids yang sesuai. Setiap nama pengguna harus diikuti oleh XUID -nya, dipisahkan oleh usus besar. Server akan menggunakan detail ini agar sesuai dengan pemain.
Ada berbagai alat untuk melihat Xuids online dan mereka juga dicetak ke log ketika seorang pemain bergabung dengan server.
-e ALLOW_LIST_USERS= " player1:1234567890,player2:0987654321 "
Juga dikenal sebagai Paket Perilaku atau Sumber Daya, untuk menambahkan mod ke server Anda, Anda dapat mengikuti langkah -langkah ini, diuji dengan OP (satu pemain tidur) dan Bedrocktweakss
C:UsersUSERAppDataLocalPackagesMicrosoft.MinecraftUWP_*LocalStategamescom.mojang
.Jika Anda ingin menginstalnya tanpa menggunakan klien, Anda harus dapat membuka ritsleting mod langsung ke volume server, .Mcaddon harus masuk ke perilaku_packs dan .mcpack ke sumber daya_packs. Keduanya .mcaddon dan .mcpack sebenarnya berganti nama menjadi file .zip.
worlds/$level-name/world_behavior_packs.json
, Anda harus menambahkan entri untuk setiap mod seperti pada manifest.json sebelumnya, kami hanya perlu uuid yang sekarang disebut pack_id dan versi yang mengganti titik dengan koma dan kutipan ganda dengan [].Anda juga dapat membuat
worlds/$level-name/world_resource_packs.json
tetapi saya telah melihat bahwa menempatkan paket sumber daya dan perilaku di dalam JSON yang sama berfungsi dengan baik
[
{
"pack_id" : "5f51f7b7-85dc-44da-a3ef-a48d8414e4d5",
"version" : [ 3, 0, 0 ]
}
]
Jika Anda ingin memaksa Paket Sumber Daya pada semua klien, ada opsi
texturepack-required=false
diserver.properties
yang harus diubah menjaditrue
. Paket sumber daya dapat dihapus dengan masuk ke Pengaturan> Penyimpanan> Data yang di -cache, lalu memilih paket dan mengklik pada tempat sampah.
Untuk informasi lebih lanjut, Foxynotail melakukan video yang menjelaskan hal yang sama pada server yang berjalan di Windows.
Untuk informasi lebih lanjut tentang mengelola server khusus Bedrock secara umum, lihat pos Reddit ini.
Gambar ini dibundel dengan skrip yang disebut send-command
yang akan mengirim perintah dan argumen batuan dasar ke konsol server Bedrock. Output dari perintah hanya terlihat di log kontainer.
Misalnya:
docker exec CONTAINER_NAME_OR_ID send-command gamerule dofiretick false
Atau, dengan stdin dan tty diaktifkan (seperti menggunakan -it
), lampirkan ke konsol wadah dengan namanya atau ID menggunakan:
docker attach CONTAINER_NAME_OR_ID
Saat dilampirkan, Anda dapat menjalankan perintah sisi server, seperti membuka pemain Anda menjadi admin:
gamerule dofiretick false
Setelah selesai, lepaskan dari konsol server menggunakan CTRL-P, CTRL-Q
Direktori Contoh berisi contoh file compose Docker yang menyatakan:
/data
kontainer services :
bds :
image : itzg/minecraft-bedrock-server
environment :
EULA : " TRUE "
ports :
- " 19132:19132/udp "
volumes :
- ./data:/data
stdin_open : true
tty : true
Mulai server dan jalankan di latar belakang menggunakan:
docker compose up -d
Anda dapat mengikuti log kapan saja menggunakan:
docker compose logs -f
Direktori Contoh berisi contoh file manifes Kubernetes yang menyatakan:
Penyebaran POD mencakup beberapa contoh mengkonfigurasi properti server melalui variabel lingkungan:
env :
- name : EULA
value : " TRUE "
- name : GAMEMODE
value : survival
- name : DIFFICULTY
value : normal
File ini dapat digunakan pada sebagian besar kelompok, tetapi telah dikonfirmasi di Docker untuk mesin desktop dan Google Kubernetes:
kubectl apply -f examples/kubernetes.yml
Anda dapat mengikuti log penyebaran menggunakan:
kubectl logs -f deployment/bds
@TheTinkerdad menyediakan tutorial yang sangat baik tentang cara meng -host beberapa contoh di satu port (19132) sehingga dapat ditemukan: https://www.youtube.com/watch?v=ds0_eszjbfs
Saat mencoba membangun gambar Docker ini, pastikan bahwa semua file
.sh
memiliki urutan akhir barisLF
bukanCLRF
atau build akan gagal.