How to Set Up a Minecraft Bedrock Server
Run a dedicated Minecraft Bedrock server so friends on phones, consoles and Windows can all join โ install, configure and open UDP port 19132.
Bedrock is the version of Minecraft that runs on phones, tablets, consoles and the Windows 10/11 app. Its official Linux Bedrock Dedicated Server (BDS) lets everyone on those platforms play together on a world you control. Here's how to run it on a VPS.
Java vs Bedrock โ pick the right one
If your friends play on iOS, Android, Xbox, PlayStation, Switch or the Windows app, you need Bedrock. If they buy Minecraft: Java Edition on PC, you need Java. The two don't connect without extra proxy software, so match your server to your players.
What you'll need
- A VPS with 2 GB RAM for a small group; 4 GB for a busy world.
- Ubuntu 24.04 or Debian.
- An SSH session with a sudo user.
Step 1: Prepare the system
BDS ships as a Linux binary and needs a couple of libraries:
sudo apt update && sudo apt install unzip screen libcurl4 -y
sudo adduser --disabled-password bedrock
sudo su - bedrock
Step 2: Download the Bedrock server
Go to minecraft.net/en-us/download/server/bedrock, accept the terms, and copy the current Linux download URL. Then:
wget -O bedrock-server.zip "PASTE_BEDROCK_URL"
unzip bedrock-server.zip -d bedrock && cd bedrock
Step 3: Configure server.properties
Open server.properties and set the essentials:
server-nameโ what shows in the friends/servers list.gamemode=survivalanddifficulty=normal.max-players=10.allow-cheats=false.view-distance=10.online-mode=trueโ requires valid Xbox Live accounts, which blocks most griefers.
Step 4: Start the server
BDS needs its own libraries on the path, so launch it like this inside a screen session:
screen -S bedrock
LD_LIBRARY_PATH=. ./bedrock_server
You'll see the world generate and a "Server started" line. Detach with Ctrl+A then D; the world keeps running.
Step 5: Open the firewall port
Bedrock uses UDP port 19132 (not TCP like Java):
sudo ufw allow 19132/udp
If you also want IPv6 clients, open 19133/udp as well.
Step 6: Connect
In Minecraft, go to Play โ Servers โ Add Server, enter your VPS IP and port 19132. On consoles that restrict third-party servers, players can add it as an external server or use a companion app โ the server itself is identical either way.
Keeping it healthy
- Back up the
worldsfolder regularly. Stop the server or runsave holdin the console first for a clean copy. - Add-ons and behaviour packs go in the
behavior_packsandresource_packsfolders and are enabled per-world. - Wrap the launch command in a systemd service so it restarts automatically after a crash or reboot.
Control who can join with allowlist
Bedrock's equivalent of a whitelist is the allowlist. Set allow-list=true in server.properties, then add players by gamertag in allowlist.json:
[
{ "name": "FriendGamertag" },
{ "name": "AnotherFriend" }
]
Only listed players can connect, which keeps uninvited joiners out. Grant operator rights sparingly through permissions.json using each player's XUID.
Common connection issues
- Friends can't find the server: you opened TCP instead of UDP. Bedrock is UDP 19132 โ double-check your firewall rule.
- Console players can't add it: some consoles restrict third-party servers; players may need a companion app or the "external server" workflow.
- "Unable to connect to world": the server process crashed or the version doesn't match the client. Update BDS with the latest download and restart.
- Server starts then exits: a missing library โ install
libcurl4as shown in step 1.
Deploying the fast way
Bedrock is sensitive to disk latency when many players load chunks at once. Running it on Nxeon's NVMe VPS with a nearby Singapore location keeps ping low for players across Asia-Pacific, and full root access means you can drop in add-ons or a systemd unit without fighting a locked-down panel. One-click deploy gets a Bedrock world online in about a minute if you'd rather skip the manual steps.