Deploy a Minecraft Bedrock server supporting cross-play from Windows, Xbox, PlayStation, iOS, and Android devices.
Grab the automated bash script from GitHub to follow along with the video.
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/gaming/minecraft-bedrock/minecraft-bedrock-ubuntu.sh
chmod +x minecraft-bedrock-ubuntu.sh
sudo bash minecraft-bedrock-ubuntu.sh
The script installs Docker if needed, pulls the Minecraft Bedrock Dedicated Server image, and starts the container. The server will be ready on UDP ports 19132 and 19133.
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/gaming/minecraft-bedrock/minecraft-bedrock-ubuntu.sh
chmod +x minecraft-bedrock-ubuntu.sh
sudo bash minecraft-bedrock-ubuntu.sh
Edit server.properties in the data volume to set the server name, gamemode, difficulty, and max players. Restart the container after saving changes.
# Edit server.properties
sudo nano /opt/minecraft-bedrock/data/server.properties
# Key settings:
# server-name=My Bedrock Server
# gamemode=survival
# difficulty=normal
# max-players=20
# Restart to apply
docker restart minecraft-bedrock
Open Minecraft on any supported device, go to the Friends tab, scroll down to Add External Server, enter your server's IP and port 19132, then save and join.
# In Minecraft (any platform):
# Friends tab → Add External Server
# Server Name: My Server
# Server Address: <your-server-ip>
# Port: 19132
Attach to the server console to run admin commands, manage the allowlist (whitelist), kick or ban players, and view server logs with Docker.
# View server logs
docker logs -f minecraft-bedrock
# Attach to server console (for commands)
docker attach minecraft-bedrock
# Useful console commands:
# op YourGamertag — grant operator
# allowlist add Name — add to allowlist
# kick PlayerName — kick a player
# stop — graceful shutdown
| Port | Purpose |
|---|---|
| 19132 UDP | Minecraft Bedrock game port (IPv4) |
| 19133 UDP | Minecraft Bedrock game port (IPv6) |
The Minecraft Bedrock Dedicated Server (BDS) enables cross-platform multiplayer between Windows, Xbox, PlayStation, Nintendo Switch, iOS, and Android players. It is the official server software from Mojang for the Bedrock engine, offering a shared survival or creative world across all supported platforms.
Bedrock Edition is the only way to let console and mobile players join your server. If your friends play on Xbox, PlayStation, or phones, Java Edition will not work — you need a Bedrock server. Self-hosting gives you full control over the world without paying for Realms.
Minecraft Bedrock uses UDP port 19132 for player connections. Open UDP port 19132 in your firewall. TCP port 19132 may also be needed. Unlike Java Edition, Bedrock uses UDP which may behave differently with some network setups and NAT configurations.
Alternatives include Minecraft Realms Plus (official, monthly fee, limited players), Java dedicated server (PC only), and GeyserMC (plugin allowing Bedrock clients on Java servers). Use GeyserMC if you want both Java and Bedrock players on the same server.
Avoid Bedrock server if all your players are on PC — Java Edition is more flexible with mods and plugins. Also avoid if you need extensive server modifications; Bedrock has far fewer add-on tools compared to the Java ecosystem.
PrismaTechWork provides end-to-end infrastructure services — from initial deployment and security hardening to ongoing monitoring, automated backups, and dedicated support. Whether you need a single-server setup or a multi-site network, our team ensures your infrastructure is built right, secured properly, and maintained reliably.
Not natively — they are different game engines with different network protocols. However, you can install the GeyserMC proxy plugin on a Java server, which acts as a translation layer allowing Bedrock clients to connect to a Java server. This is the most common way to bridge both editions.
PlayStation players need PlayStation Plus and Xbox players need Xbox Game Pass Core (formerly Xbox Live Gold) to join online multiplayer servers. Nintendo Switch players need Nintendo Switch Online. These are console platform requirements — not related to your self-hosted server.
The allowlist (formerly whitelist) restricts which players can join your server. Enable it by setting allow-list=true in server.properties. Add players by editing allowlist.json manually with their Gamertag and XUID, or use the in-game command: allowlist add GamerTag.
Yes. Install behavior packs in the behavior_packs directory and resource packs in resource_packs, then reference them in world_behavior_packs.json and world_resource_packs.json files in your world folder. Add-ons can change game rules, mobs, items, and game mechanics.
Add the player's Gamertag and XUID to the ops.json file, or use the console command op GamerTag when connected via the server console. Ops can use game commands, change game modes, and kick players. You can set permission levels (visitor, member, operator) for fine-grained control.
Bedrock Dedicated Server is generally more RAM-efficient than Java Edition. For 5 to 10 players, 1 to 2 GB of RAM is sufficient. For larger servers with 20 to 30 players, 2 to 4 GB is recommended. Bedrock uses significantly less CPU per player than Java Edition.
The official BDS binary is x64 only. Running it on ARM (like Raspberry Pi) requires an x64 emulation layer. An unofficial community fork called PocketMine-MP or Nukkit runs natively on ARM and is more compatible, though it may not support the latest Bedrock features.
Download the latest BDS ZIP from the official Minecraft website, stop the server, back up your worlds, extract the new server files over the old ones (preserving your worlds and config files), and restart. The Docker image setup script automates this process for you.