Bedrock Dedicated Server allows you to host your own Minecraft: Bedrock Edition servers for friends and family. The server software runs on Windows and Ubuntu Linux, and it's completely free to download and use. In this guide, we'll walk you through everything you need to know to get your server up and running.
System Requirements
Before downloading, ensure your system meets the minimum requirements:
- Windows: Windows 10 (version 1703) or later, or Windows Server 2016 or later
- Linux: Ubuntu Linux 18 or later (Ubuntu is the only officially supported Linux distribution)
- Windows:
C:\MinecraftServer - Linux:
~/MinecraftServer - Open a Command Prompt or PowerShell from the Start Menu
- Navigate to your server folder:
cd C:\MinecraftServer - Run the server by typing:
bedrock_server - Open a Terminal window
- Navigate to your server folder:
cd ~/MinecraftServer - Run the server with:
LD_LIBRARY_PATH=. ./bedrock_server - Private networks: If players will connect over your local area network
- Public networks: If players will connect over the Internet
- Both: If you want to allow both local and Internet connections
Downloading and Installing
The Bedrock Dedicated Server is distributed as a ZIP file that you can download from the official Minecraft website. Once downloaded, follow these steps:
Extraction
Unzip the package into an empty folder. Good locations include:
Tip: If you want to keep multiple versions of the server for testing purposes, consider creating subdirectories for different versions, such as C:\MinecraftServer\1.19.0 or C:\MinecraftServer\1.30.0. This makes it easy to switch between versions or test updates before applying them to your production server.
Starting the Server
Windows
Ubuntu Linux
Configuring Your Firewall
To allow players from other machines to connect, you'll need to configure your firewall to allow traffic to the server.
Windows Firewall
When you first start the server, Windows Defender will prompt you to allow Bedrock Server to communicate over networks. Choose:
Ubuntu Linux Firewall
If your firewall is enabled, you'll need to allow the server ports through. By default, Bedrock Server uses ports 19132 (UDP) and 19133 (UDP for IPv6). Open these ports with:
sudo ufw allow 19132
sudo ufw allow 19133
sudo ufw reload
For more advanced firewall configuration, consult the ufw documentation or your system's firewall settings.
Testing Your Server
Before inviting others, it's a good idea to test that your server is working correctly.
Enable Loopback (Windows Only)
By default, you can't connect to a server running on the same Windows machine. To enable "loopback" connections (connecting to localhost), stop the server and run this command in an elevated Command Prompt or PowerShell:
CheckNetIsolation.exe LoopbackExempt -a -p=S-1-15-2-1958404141-86561845-1752920682-3514627264-368642714-62675701-733520436
Note: If you're running a Preview build of the server, you'll need to use a different command for Minecraft: Bedrock Edition Preview:
CheckNetIsolation.exe LoopbackExempt -a -p=S-1-15-2-424268864-5579737-879501358-346833251-474568803-887069379-4040235476
Connecting from Minecraft
- Restart your server by running
bedrock_server(orbedrock_server.exeon Windows) - Launch the Minecraft: Bedrock Edition app
- Select "Play" from the main menu
- Click "Add Server" (you only need to do this once)
- Enter a server name (e.g., "My Local Server")
- For Server Address, enter:
127.0.0.1if testing on the same computer- Your computer's local IP address if connecting from another device on your network
- Your public IP address if connecting from the Internet
- Leave the port as
19132(the default) - Click "Save"
- Select your server from the list and click "Join"
If everything is configured correctly, you should see a message in the server console indicating that a player has joined!
Troubleshooting Connection Issues
Version Mismatch Errors
If you see "Outdated Client" or "Outdated Server" messages, this means there's a protocol version mismatch between your client and server. The protocol typically changes when the minor version changes (e.g., 1.21.0 and 1.20.0 are incompatible), but it can also change with patch versions.
Solution: Ensure both your client and server are running the same version of Minecraft. Upgrade the server to fix "Outdated Server" errors, or upgrade the client to fix "Outdated Client" errors. If you're using Preview builds, check for updates frequently as they change more often.
Understanding Server Folders
When you start the server for the first time, several important folders are created automatically:
worlds/
This folder contains all your server worlds. Each world is stored in a subfolder named according to the level-name property in server.properties. While you can have multiple worlds installed, only one world is active at a time, determined by the level-name setting.
behavior_packs/
Place behavior packs here that you want to be available across all worlds on your server. These packs modify game mechanics and behaviors.
resource_packs/
Place resource packs here that you want to be available across all worlds. These packs modify textures, sounds, and other game assets.
Note: You'll also find behavior_packs and resource_packs folders inside individual world folders. Packs in world-specific folders only apply to that world, while packs in the top-level folders apply to all worlds on the server.
Using Existing Worlds
You can transfer worlds created in Minecraft: Bedrock Edition to your dedicated server. Here's how:
Finding Your World
Worlds in Minecraft: Bedrock Edition are stored at:
- Windows:
AppData\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\minecraftWorlds - Make sure you've started the Bedrock Dedicated Server at least once to create the necessary folders
- Copy the world folder from your Minecraft installation to the
worlds/folder on your server - If the server is on a different machine, compress the world folder to a ZIP file and transfer it (using cloud storage, network share, or USB drive), then extract it into the
worlds/folder - Rename the world folder to something descriptive (avoid special characters)
- Open
server.propertiesin a text editor and set thelevel-namevalue to match your folder name exactly (including letter case) - Start or restart your server
- server-name: The name displayed in server lists
- gamemode: Sets the game mode (survival, creative, or adventure)
- level-name: The world folder to use
- max-players: Maximum number of concurrent players
- server-port: The UDP port for connections (default: 19132)
- Add a player:
/allowlist add <GamerTag> - Remove a player:
/allowlist remove <GamerTag> - Reload the list:
/allowlist reload(use this after manually editing the file) - name: The player's Xbox Live Gamertag (required)
- xuid: The player's XUID (optional, filled automatically when they connect)
- ignoresPlayerLimit: Set to
trueif this player shouldn't count toward max players op <playername>: Grant operator (admin) privileges to a playerdeop <playername>: Remove operator privileges from a playergamerule: List all current game rule settingsgamerule <rulename> <value>: Change a game rule (e.g.,gamerule doDayLightCycle falseto stop the day/night cycle)stop: Gracefully shut down the server- Setting up automated backups to protect your worlds
- Configuring your router for external connections (port forwarding)
- Installing resource packs or behavior packs to customize gameplay
- Using the MC Bedrock Server Manager to simplify server management with a graphical interface
World folders have cryptic names like eplC8tYRD04=, but you can identify them by opening the folder and checking the levelname.txt file, which contains the name you gave the world.
Transferring the World
Server Configuration
Most server settings are controlled through text files in your server directory.
server.properties
This is the main configuration file for your server. It uses an INI-style format with key-value pairs separated by equals signs. Comments start with #. Key settings include:
You can find a complete reference of all available properties, their defaults, and allowed values in the official Bedrock Dedicated Server Properties documentation.
allowlist.json
If you set allow-list=true in server.properties, only players on the allowlist can join. You can manage the allowlist in two ways:
In-Game Commands
The easiest method is using server commands:
Note: If a GamerTag contains spaces, enclose it in quotes: /allowlist add "Gamer Tag"
Manual Editing
You can also edit allowlist.json directly. The file structure includes:
Important: There's a soft limit of 30 players (or max_players + 1, whichever is higher), even with ignoresPlayerLimit enabled. This ensures some players can always join even when the server appears full.
Console Commands
While the server is running, you can enter commands directly in the console. Type help to see all available commands. Some useful commands include:
Next Steps
Now that your server is running, consider:
With your Bedrock Dedicated Server up and running, you're ready to invite friends and start building your Minecraft community!