Short answer. You can host a Minecraft Bedrock server yourself for free: download Mojang's Bedrock Dedicated Server for Linux or Windows from minecraft.net, unzip it, edit server.properties and start bedrock_server. The default port is 19132. Or rent a Minecraft server that Bedrock players can join through crossplay and skip the networking.
Players join from the Servers screen of Minecraft on a phone, tablet or Windows PC by choosing Add Server and typing your address and port. Xbox, PlayStation and Switch cannot join a server by address.
Checked on 5 November 2026 against Bedrock Dedicated Server 1.26.62.1, the newest stable build Mojang lists for download.
Option 1 uses the documentation and default files that Mojang ships inside the server download. Option 2 describes how Bedrock players join the Minecraft servers we host, which works differently: we do not run Mojang's Bedrock server software, Bedrock players join a Java server through crossplay. For the Java edition of Minecraft, see How to make a Minecraft server: at home or on a host. To skip to the rental route, go to Option 2.
What you need
The server software: the Bedrock Dedicated Server zip from Mojang, free to download. Mojang lists a Linux build and a Windows build.
A machine that stays on: Mojang recommends a 64-bit Intel or AMD processor with at least 2 cores. Its notes say the Linux build needs Ubuntu 18 or later and that other distributions are not supported. The Windows build needs Windows 10 version 1703 or later, or Windows Server 2016 or later.
A player cap:max-players, which defaults to 10. Mojang notes that higher values have a performance impact.
Network: port 19132 (the server-port default), reachable from the internet. See the ports section below, because the newest builds use more than one kind of traffic.
Your players' Xbox Live gamertags, if you keep the allow list on.
Option 1: host it yourself
These steps are for Ubuntu. Mojang's own start command is the one used here.
Install the server
Install the tools you need to download and unpack the zip.
sudo apt update
sudo apt install wget unzip -y
Download the zip. The link on minecraft.net's server page changes with each build. For build 1.26.62.1 the Linux file is bedrock-server-1.26.62.1.zip:
cd ~
wget https://www.minecraft.net/bedrockdedicatedserver/bin-linux/bedrock-server-1.26.62.1.zip
If the download is refused, download the zip in a browser and copy it to the machine.
Unzip it into an empty folder.
mkdir ~/bedrock
cd ~/bedrock
unzip ~/bedrock-server-1.26.62.1.zip
Write the settings
Open server.properties in the server folder. Mojang's file is one key per line. The ones most people change:
gamemode takes survival, creative or adventure. difficulty takes peaceful, easy, normal or hard. level-name becomes the world's folder under worlds. Leave online-mode=true: Mojang recommends it for any server that accepts connections from the internet.
Decide about the allow list. Mojang's default file has allow-list=true. With it on, only players in allowlist.json can connect. Add a player from the server console with allowlist add ExampleName. Use the player's Xbox Live gamertag, and put it in quotes if it has a space. To let anyone join, set allow-list=false.
Make yourself an operator in permissions.json, which holds XUIDs and one of operator, member or visitor. New players get the level in default-player-permission-level, which is member by default.
Open the ports
Builds that use the default transport=nethernet work differently from older Bedrock servers, and this is where most self-hosted servers go wrong. Mojang's documentation says that in this mode the server listens on a TCP socket on server-port for a signalling handshake, then sets up a UDP connection with each player that carries the game traffic. UDP ports come from server-udp-ports, which Mojang's file sets to 19132. If you leave it unset, Mojang says the server takes UDP ports from the operating system's ephemeral range, which a firewall will not expect.
On the machine: allow TCP and UDP on 19132, for example sudo ufw allow 19132/tcp and sudo ufw allow 19132/udp. Keep server-udp-ports=19132 so the game traffic uses a port you opened.
On your router: forward 19132 for TCP and UDP to the machine.
Behind NAT:server-udp-ports accepts a public address and port mapping in the form IP:public:local, for example 12.19.20.18:19489:19489, so clients are told the address they can reach.
Older transport: with transport=raknet the server listens directly on UDP server-port (and server-portv6, 19133 by default). Mojang's documentation says nethernet is the default and describes raknet as the mode used before it.
Start it and join
Start the server from the server folder, with Mojang's command:
LD_LIBRARY_PATH=. ./bedrock_server
It is ready when the console prints Server started. Run it under a service manager such as systemd so it restarts after a crash. Stop it by typing stop in its console.
Join it. In Minecraft on a phone, tablet or Windows PC, open Servers, choose Add Server, and enter your address and port. Your players need the same Minecraft version as the server: if friends see "Outdated server", their game has updated and your server has not.
Update by stopping the server, downloading the new zip and unpacking it over the folder. Back up server.properties, permissions.json and allowlist.json first, because the zip contains fresh copies of them.
Keep the server's identity between restarts
Mojang's documentation says that if no saved key exists at keys/server_identity_key.pem, the server makes a new identity at every start, and players have to accept the server's trust again each time. Create the key once with Mojang's own command:
The server console also has serveridentity status to check whether a saved key exists.
Option 2: host it on PlayNHost
On PlayNHost, Bedrock players join a Minecraft Java server through Bedrock crossplay, which installs Geyser and Floodgate. Mojang's Bedrock Dedicated Server is not offered as a server type at the moment. Players on phones, tablets and Windows PCs connect with your server's address and a Bedrock port of its own, and Java players can join the same world. Renting removes the download, the port forwarding and the update routine.
Pick a plan. Open the Minecraft Bedrock server hosting page, compare the plans and press Create Server on one. Prices change, so check them on that page.
Choose crossplay in the setup wizard. When you first open your new server in the panel, choose Friends on phones and consoles. It sets up Java and Bedrock players in one world and picks a Minecraft version that works for both. See How to set up your new Minecraft server.
Or turn it on later. On an existing server, open Ports & Network, press Enable crossplay on the Bedrock crossplay card, and restart the server. It uses one port of your plan, because Bedrock needs a port of its own. See How to let Bedrock players join your Java server with Geyser.
Invite your friends. On Overview, the Play with friends card shows the Bedrock address and Bedrock port. Invite friends creates a link: Bedrock friends enter their Xbox gamertag, and Java friends their Minecraft name. See How to invite friends to your Minecraft server with an invite link.
Join it. On a phone, tablet or Windows PC, open Servers, choose Add Server, and enter the Bedrock address and port. The first time, Minecraft asks players to trust your server. See How to join your Minecraft server (Java and Bedrock).
What works differently from Mojang's Bedrock server:
Your server runs Java Edition, so its settings, plugins and worlds are Java ones. A Bedrock world (.mcworld) cannot be loaded, because worlds do not convert between Java and Bedrock. See How to run a Minecraft server for Bedrock players.
Bedrock players need a Bedrock version that Geyser supports. If the Bedrock crossplay card says Bedrock players cannot join until crossplay is updated, press Update crossplay and restart the server.
Xbox, PlayStation and Switch players can join from their Friends tab once console joining is on, on the same Ports & Network page. The panel asks you to sign in with a spare Microsoft account. See How to let console players join your Minecraft server.
Self-hosting or renting: an honest comparison
Cost: the server software is free. Self-hosting costs power, hardware and bandwidth, or a cloud machine. Renting is a monthly fee set by the plan.
Uptime: a home server is only up while your PC, power and internet are. A rented server runs on the host's hardware.
Exposure: at home, players connect to your public IP address and you look after the firewall and router, now for both TCP and UDP. A rented server keeps your home IP out of it.
Setup: self-hosting needs the command line, port forwarding and the identity key. Renting needs a plan, the crossplay choice in the setup wizard and an invite.
Consoles: Xbox, PlayStation and Switch cannot join a server by address. On a self-hosted Bedrock server they cannot join at all; on our crossplay servers they can join from their Friends tab once console joining is on.
Software: self-hosting runs Mojang's own Bedrock server with Bedrock worlds and add-ons. Our servers run Java Edition with crossplay, so Java and Bedrock players share one Java world, and you still have the Files tab and the Console.
We use cookies to keep the site working, to understand how it is used, and to measure our marketing. You can accept all, accept essential cookies only, or choose per category.We use cookies to keep the site working, to understand how it is used, and to measure our marketing. They are on by default here. You can switch off anything you do not want.Read our privacy policy