Set up a Minecraft Bedrock Dedicated Server on Windows or Linux: download, server.properties, UDP port 19132, allowlist, add-ons and updates.
Two ways to host Bedrock
Some third-party Bedrock servers such as PocketMine-MP and Nukkit also exist and support plugins, but they are not made by Mojang, so some features can differ from the real game.
- The official Bedrock Dedicated Server (BDS) from Mojang. It runs real Bedrock gameplay but has no Java-style plugin system. You can customise it with behaviour packs, resource packs and add-ons. This guide covers it.
- A Java server with Geyser and Floodgate. Bedrock players connect to a Java server and you keep plugins. See our Geyser and Floodgate guide.
What you need
- Windows 10 or 11, or Linux (Ubuntu is the supported distribution).
- At least a couple of gigabytes of free RAM for a small server.
- Port UDP 19132 open for players to connect. Bedrock uses UDP, not TCP. An IPv6 port, 19133, is also used.
- An up-to-date server, because Bedrock clients update themselves automatically and must match the server version.
Step 1: Download
Only download it from minecraft.net. Re-uploads elsewhere may be modified.
- Go to the Minecraft Server download page on minecraft.net and choose Bedrock Dedicated Server for your system.
- Create an empty folder for it and extract the zip file there.
Step 2: Run it
The first run creates a world and prints that the server started. Type stop in the console to shut it down safely.
Windows
bedrock_server.exeLinux (Ubuntu): install what it needs, extract, and run
sudo apt update
sudo apt install -y unzip libcurl4
mkdir bedrock && cd bedrock
unzip ~/Downloads/bedrock-server-*.zip
LD_LIBRARY_PATH=. ./bedrock_serverStep 3: Configure server.properties
Stop the server, then open server.properties in a text editor. These are the settings most owners change:
server-name=My Bedrock Server
gamemode=survival
difficulty=normal
allow-cheats=false
max-players=10
server-port=19132
server-portv6=19133
level-name=Bedrock level
level-seed=
online-mode=true
allow-list=false
default-player-permission-level=member
view-distance=32
tick-distance=4- gamemode: survival, creative or adventure.
- allow-cheats: leave false on a public server.
- online-mode: keep true so players must be signed in to Xbox Live.
- default-player-permission-level: visitor, member or operator. Never set operator as the default.
- view-distance and tick-distance affect performance. Lower them if the server lags.
Step 4: Allowlist and operators
To restrict who can join, set allow-list=true and add players from the console with the commands below. Per-player permission levels are stored in permissions.json; if you edit these files by hand, stop and start the server so it reloads them.
allowlist add PlayerGamertag
allowlist list
op PlayerGamertagStep 5: Let players join
- Open UDP port 19132 on your router and firewall (see our port-forwarding guide).
- Players open Minecraft, go to Play > Servers > Add Server, and enter your address and the port 19132.
Xbox, PlayStation and Switch cannot add a custom server address directly. Console players can join through a friend who is already on the server (using the Friends tab). If you want console players on a custom server, see our Geyser and Floodgate guide for the options and their limits.
Add-ons, behaviour packs and resource packs
Put behaviour packs in the behavior_packs folder and resource packs in resource_packs. To turn them on for a world, add each pack's ID and version to that world's world_behavior_packs.json or world_resource_packs.json. Bedrock also has an official Script API for behaviour pack scripting, which is the closest thing to plugins on the official server.
Set texturepack-required=true in server.properties if your world needs its resource pack for players to play correctly.
Backups and updates
- For a live backup without stopping, run save hold, wait, then save query to see which files to copy, copy the files, and finish with save resume.
- Or stop the server and copy the worlds folder.
- To update, download the new zip into a new folder. Copy across your worlds folder, server.properties, allowlist.json, permissions.json and any pack folders. Do not overwrite the new program files with old ones.
- Update promptly: when Bedrock updates, players on the new version cannot join an old server.
Troubleshooting
- "Unable to connect to world": the UDP port is closed, the wrong port was typed, or the server is on a different version than the player.
- The server shows offline on MCServerShare: check the address and port you listed and that UDP is open.
- Lag: lower view-distance and tick-distance, and check the machine has free RAM.
- Players cannot see each other's builds after an update: make sure everyone, including you, has the same game version.
Frequently asked questions
How do I make a Minecraft Bedrock server?
Download the Bedrock Dedicated Server from minecraft.net, extract it, run it, edit server.properties, open UDP port 19132 and have players add your address and port.
What port does a Bedrock server use?
UDP 19132 for IPv4 and UDP 19133 for IPv6 by default. Bedrock uses UDP, not TCP.
Can a Bedrock Dedicated Server use plugins?
Not Java-style plugins. You can use behaviour packs, resource packs and add-ons, and the official Script API. For plugins, run a Java server with Geyser instead.
Can Java players join a Bedrock Dedicated Server?
No. Java and Bedrock are different games. To let both join, run a Java server with Geyser and Floodgate.
How do I update a Bedrock server?
Download the new version into a new folder and copy across your worlds, server.properties, allowlist.json, permissions.json and pack folders. Do not overwrite new program files with old ones.