Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

The most reliable way to host Minecraft Bedrock on Linux is Mojang’s official Bedrock Dedicated Server (BDS) running on Ubuntu 22.04 LTS or later. Download the current Linux ZIP, extract it into a dedicated directory, launch bedrock_server with its bundled libraries available, configure server.properties, open the ports required by your BDS release, and run the process under a dedicated systemd service for unattended hosting.

What you need before installing

Use a 64-bit Ubuntu 22.04 LTS system or a newer Ubuntu LTS release. The official Bedrock server download page specifies Ubuntu 22.04 LTS or later and does not list other distributions as supported. Microsoft’s general Learn material has historically mentioned Ubuntu 18 or later as a recommendation; for a new installation, follow the newer, more specific requirement from the download page. A community guide may report that Debian 12 works, but that is not the same as official support.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • A Linux machine that can remain online while players need access.
  • Administrative access through a local console or SSH.
  • A current BDS Linux ZIP downloaded from Mojang’s official server page. BDS releases change frequently, so select the version shown there at installation time.
  • At least one free directory with enough disk space for the server files, world data, logs and backups.
  • Router access if players will connect from outside your home network.

Every player must use a Bedrock client compatible with the server protocol. A console, phone, tablet, Windows Bedrock installation or other Bedrock client still has to authenticate and support the BDS version you are running.

Install the official Bedrock Dedicated Server

1. Create a dedicated directory

Do not unpack BDS into your home directory’s general-purpose files or into a temporary download folder. A separate directory keeps worlds, configuration, permissions and backups together.

#1 Best Overall
msi Codex Z2 Gaming Desktop, AMD R7-8700F, RTX 5070, 32GB DDR5, 2TB SSD | NVIDIA GeForce RTX 5070, USB Type-C, VR-Ready, Windows 11 Home. Model A8NVP-436US
  • POWERHOUSE 8-CORE GAMING PERFORMANCE — Driven by the AMD Ryzen 7 8700F with 8 cores and 16 threads, boosting up to 5.0 GHz for smooth, responsive gameplay and the ability to handle AAA titles, streaming, and background tasks all at once
  • NEXT-GEN BLACKWELL ARCHITECTURE — The NVIDIA GeForce RTX 5070 is powered by NVIDIA's cutting-edge Blackwell GPU architecture, delivering a massive generational leap in rasterization and ray tracing performance so you can experience your games the way they were meant to be played.
  • Simplistic Design: Enjoy the latest generation of Windows 11 Home for your everyday needs. *MSI recommends Windows 11 Pro for business use.
  • Cool While Gaming: In conjunction with an ARGB fan Air Cooler, the Codex R2 features four system cooling fans; three in the front and one in the rear to pull in cool air and push heat out of the PC.
  • Turn on the Bright Lights: With the built-in RGB lighting, take your gaming experience to the next level by pressing the MSI LED button to cycle through lighting options. Customize lighting even further with MSI Center software.
mkdir -p "$HOME/MinecraftServer"
cd "$HOME/MinecraftServer"

Download the Linux ZIP from the official Minecraft Bedrock Dedicated Server page, then place it in this directory. If your browser saves it in ~/Downloads, move it before extracting. The archive name and version number vary as Mojang publishes updates.

2. Extract the ZIP

unzip bedrock-server-*.zip -d "$HOME/MinecraftServer"
cd "$HOME/MinecraftServer"

Use the exact filename shown by ls if the wildcard does not match. Extract into an otherwise empty server directory; mixing two BDS versions can leave incompatible binaries, libraries or configuration files together.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

3. Make the executable runnable

chmod +x bedrock_server

The Linux archive includes shared libraries beside the executable. Start BDS from its own directory with the library path set to the current directory:

LD_LIBRARY_PATH=. ./bedrock_server

The LD_LIBRARY_PATH=. prefix tells the dynamic linker to look in the BDS directory for the bundled libraries. Omitting it commonly produces missing-library errors even though the files are present.

4. Let the first start finish

The initial run creates the default world and configuration files. Wait until the console shows that the server has completed startup, then press Ctrl+C to stop it cleanly. You should now see files such as server.properties, world data and log output in the server directory.

Configure server.properties

Edit the generated file with an editor available on your system:

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
nano "$HOME/MinecraftServer/server.properties"

Change only the settings you understand, and keep a copy of the original file before making substantial changes. The key network and authentication settings are:

Rank #2
KOTIN Prebuilt Gaming PC RTX 5070 12GB, Ryzen 7 9700X, 32GB DDR5, 1TB SSD
  • POWERED BY RTX 5070 12GB + RYZEN 7 9700X - The GeForce RTX 5070 12GB GDDR7 graphics card pairs with an 8-core AMD Ryzen 7 9700X processor to drive smooth 1440p and 4K gameplay, giving this gaming PC the headroom for modern titles, streaming, and creative work.
  • 32GB DDR5 6000MHz MEMORY & 1TB NVMe SSD - 32GB of high-speed DDR5 memory and a 1TB PCIe 4.0 NVMe solid state drive deliver quick load times, smooth multitasking, and generous storage, keeping this prebuilt gaming desktop responsive under heavy workloads.
  • BUILT-IN 11.3-INCH Smart DISPLAY - An integrated smart screen shows real-time CPU and GPU temperatures, usage, and weather while you play, adding a distinctive and functional touch to your battlestation.
  • 850W 80+ GOLD POWER SUPPLY, 360MM LIQUID COOLING & WiFi 7 - An 850W 80 Plus Gold certified power supply provides stable, efficient power with headroom for future upgrades, while a 360mm AIO liquid cooler, WiFi 7, and an ARGB mid-tower case keep the Ryzen 7 CPU cool and connected in a clean build.
  • READY TO PLAY OUT OF THE BOX - Arrives fully assembled and tested with Windows 11 Home pre-installed, so your prebuilt gaming computer is ready to set up in minutes. Assembled in the USA, and backed by a one-year limited warranty and lifetime free technical support.
Setting Purpose Typical value or qualification
server-port Primary IPv4 listening port for the older RakNet transport. 19132 by default; UDP.
server-portv6 IPv6 listening port for the older RakNet transport. 19133 by default; UDP.
online-mode Requires authenticated accounts. Set to true for normal Xbox Live authentication and console access.
enable-lan-visibility Controls LAN discovery behavior. It defaults to true. One hosting guide reports that this can make BDS bind to 19132 and 19133 even after custom ports are configured; set it to false if that behavior affects your release, and verify the result in the log.

Save the file and close the editor. If you change a port, restart BDS before testing. A server can be running while a firewall or router still blocks the same port, so test each layer separately.

Understand the port and transport change

Many Bedrock tutorials assume the older RakNet transport: UDP 19132 for IPv4 and UDP 19133 for IPv6. That remains the baseline guidance in the traditional BDS setup documentation, but it is not safe to assume that every current release uses only those two UDP sockets.

The itzg BDS container documentation describes NetherNet, in which TCP 19132 carries signaling for IPv4 and IPv6 clients while gameplay UDP sockets come from a configurable range. Its notes report that BDS 1.26.51 logged an error saying NetherNet was the only supported transport. That documentation concerns the container image, and the exact native-BDS requirements can change with Mojang releases, so inspect your own server console and the release notes before publishing a port-forwarding rule.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • If your startup log shows the legacy RakNet listeners, open and forward the configured UDP ports, normally 19132 and 19133.
  • If it reports NetherNet, expect TCP 19132 for signaling and a release-specific UDP gameplay range. Do not invent a range; use the values documented for that BDS release and confirm which sockets are listening.
  • When you change server-port, also check whether LAN visibility or another transport setting causes BDS to retain a default listener.

On Ubuntu, you can inspect listeners after starting the server:

sudo ss -lntup | grep -E '19132|19133'

The output tells you whether the process opened TCP, UDP or both. It is more reliable than copying an old tutorial’s port list.

Open the Linux firewall

If Ubuntu’s uncomplicated firewall (UFW) is enabled, allow the protocol and port that your BDS log and release documentation require. For a legacy installation using the defaults:

sudo ufw allow 19132/udp
sudo ufw allow 19133/udp
sudo ufw status

For NetherNet, add TCP 19132 and every documented gameplay UDP port or range instead. A range can be expressed in UFW with a colon, for example 40000:40010/udp, but use only the range specified for your version. Opening unrelated ports increases exposure and does not make Bedrock connectivity more reliable.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
iBUYPOWER Element Gaming PC Desktop Computer AMD Ryzen 9 7900X CPU, NVIDIA GeForce RTX 5070 12GB GPU, 32GB DDR5 RAM, 1TB NVMe SSD, Windows 11 Home, Gamer Keyboard and Mouse - EWA9N5702
  • AMD Ryzen 9 7900X, NVIDIA GeForce RTX 5070 12GB, 32GB DDR5 RGB 4800MHz 16x2 1TB NVMe SSD, WIFI Ready, Windows 11 Home
  • Connectivity: 6 x USB 3.1 | 1x RJ-45 Network Ethernet 10/100/1000 | Audio: On board audio
  • Special Add-Ons: Tempered Glass RGB Gaming Case | 802.11AC Wi-Fi Included | 16 Color RGB Lighting Case | Free iBuyPower Gaming Keyboard & RGB Gaming Mouse | No Bloatware | AI Workstation PC ready

If your server is hosted by a provider with a separate network firewall, that firewall must allow the same traffic. UFW rules affect the Linux host only; they cannot override a provider-level security group.

Forward the port on a home router

Players on the same local network may be able to connect without router forwarding. Players on the public internet need a forwarding rule from the router’s external interface to the Linux machine’s private IP address.

  1. Give the Linux host a stable private address, preferably with a DHCP reservation on the router.
  2. Open the router’s port-forwarding page.
  3. Create a rule for the protocol and port required by your BDS release, pointing to the Linux host’s private address.
  4. For the legacy defaults, forward UDP 19132. Add UDP 19133 when IPv6 or the server’s IPv6 listener is part of your design.
  5. For NetherNet, forward TCP 19132 and the documented gameplay UDP range.
  6. Save the rule, restart BDS if you changed its configuration, and test from a network that is not your home Wi-Fi, such as a mobile connection.

Some internet connections use carrier-grade NAT, which prevents unsolicited inbound connections even when the router is configured correctly. In that case, a public VPS or another network arrangement is required; changing the BDS port alone will not bypass carrier NAT.

Start the server manually for testing

Before creating a service, run the server interactively so you can read startup errors and verify that the world loads:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
cd "$HOME/MinecraftServer"
LD_LIBRARY_PATH=. ./bedrock_server

Keep this terminal open while you test a local client. The console is also where you can see the transport selected by your release, authentication failures and bind errors. Stop with Ctrl+C rather than killing the process, allowing BDS to save world data.

If the command fails immediately, check these common causes:

  • Permission denied: run chmod +x bedrock_server in the extracted directory.
  • Shared-library errors: launch with LD_LIBRARY_PATH=. and confirm that the libraries were extracted beside bedrock_server.
  • Address already in use: inspect ss -lntup and stop another BDS process or choose an unused configured port.
  • Clients cannot join: verify the client version, online-mode=true, UFW, router forwarding and the transport shown in the log.

Run BDS continuously with systemd

A terminal session is suitable for a test, not for a long-running world. A system service starts BDS after boot, restarts it after an unexpected exit and keeps it under a dedicated Linux account instead of your personal login.

Rank #4
ZYNEEX Prebuilt Gaming Desktop PC, AMD Ryzen 5 5500, GeForce RTX 3050 6GB,16GB DDR4 3200MHz RAM, 1TB NVMe SSD, ARGB Air Cooling, Wi-Fi,Tower Computer for Gaming, Streaming, Editing
  • 【POWERFUL PERFORMANCE】 – AMD Ryzen 5 5500 6-Core 12-Thread Desktop Processor (up to 4.2GHz). Effortlessly handle 3A games, 4K video editing, and multitasking.
  • 【SMOOTH GAMING】 – Equipped with GeForce RTX 3050 6GB GDDR6 Graphics Card. Experience high-frame-rate 1080P gaming with ray tracing.
  • 【FAST & AMPLE STORAGE】 – 16GB DDR4 3200MHz RAM + 1TB NVMe SSD. Enjoy rapid game loads, quick file transfers, and ample space for your entire library.
  • 【KEEP COOL】 – Advanced ARGB air cooling system with multiple fans. Maintains stable performance and low noise even during marathon gaming sessions.
  • 【READY TO USE】 – Features built-in Wi-Fi, multiple USB ports, HDMI and DisplayPort (DP) outputs for flexible monitor connectivity. A complete prebuilt gaming computer, plug and play right out of the box.

1. Create a service account and installation directory

Stop the manually started server first, then move the extracted files to a system location and assign ownership:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
sudo useradd --system --home /opt/minecraft-bedrock --shell /usr/sbin/nologin mcbedrock
sudo mkdir -p /opt/minecraft-bedrock
sudo cp -a "$HOME/MinecraftServer"/. /opt/minecraft-bedrock/
sudo chown -R mcbedrock:mcbedrock /opt/minecraft-bedrock
sudo chmod +x /opt/minecraft-bedrock/bedrock_server

Keep the server directory writable by mcbedrock; BDS must be able to save worlds, logs and generated configuration.

2. Create the unit file

sudo nano /etc/systemd/system/minecraft-bedrock.service

Enter this unit, adjusting the path only if you installed elsewhere:

[Unit]
Description=Minecraft Bedrock Dedicated Server
After=network-online.target
Wants=network-online.target

[Service]
User=mcbedrock
Group=mcbedrock
WorkingDirectory=/opt/minecraft-bedrock
ExecStart=/usr/bin/env LD_LIBRARY_PATH=. /opt/minecraft-bedrock/bedrock_server
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

The environment assignment is intentional: it preserves the library lookup that worked during manual startup. Do not put the executable in a different working directory without also updating the unit.

3. Enable and inspect the service

sudo systemctl daemon-reload
sudo systemctl enable --now minecraft-bedrock
sudo systemctl status minecraft-bedrock
sudo journalctl -u minecraft-bedrock -f

status shows whether systemd considers the service active. The journal’s follow mode displays the BDS console output, including listener and transport messages. To stop or restart it safely:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
sudo systemctl stop minecraft-bedrock
sudo systemctl restart minecraft-bedrock

Use stop before maintenance so the world is written cleanly. A restart policy cannot distinguish every configuration error from a crash; if a bad setting causes repeated restarts, inspect the journal and correct the file rather than relying on the restart loop.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Backups and version updates

World data is valuable and should not exist only on the live disk. Stop BDS before copying the world, or use a backup procedure that guarantees a consistent snapshot. Keep at least one backup outside the server directory so deleting or replacing the installation cannot remove every copy.

Best Value
YAWYORE Gaming PC, AMD Ryzen 7 5700X, GeForce RTX 5060 Desktop Computer
  • CPU: AMD Ryzen7 5700X (up to 4.6GHz) 8-Core 16-Thread to easily handle multi-line tasks
  • Main board: MSI B550M-A PRO motherboard provides reliable performance and stability
  • GPU: Geforce RTX 5060 8GB GDDR7 Graphics Cards (Brand may vary) Support DLSS 4 multi frame generation, ray tracing, and Reflex 2 delay optimization
  • RAM: 32GB DDR4 3200MHz (16GB*2) SSD: 1TB M.2 NVMe PCIe
  • Power supply: 650W (80plus bronze) certified for energy efficiency and stable performance
sudo systemctl stop minecraft-bedrock
sudo tar -czf /var/backups/minecraft-bedrock-$(date +%F).tar.gz -C /opt/minecraft-bedrock worlds server.properties
sudo systemctl start minecraft-bedrock

The directory name under worlds can differ if you changed the level name; include the complete world directory you actually use. Test a restore on a separate directory periodically instead of assuming that an archive is usable.

For updates, read the current official download page and release notes, stop the service, back up the world and configuration, replace the executable and libraries as a matched set, fix ownership and start the service again:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
sudo systemctl stop minecraft-bedrock
sudo chown -R mcbedrock:mcbedrock /opt/minecraft-bedrock
sudo systemctl start minecraft-bedrock
sudo journalctl -u minecraft-bedrock -n 100 --no-pager

Do not copy only a new binary over old libraries. Extract each release into a clean staging directory, retain your backed-up server.properties, then replace the installation as a complete unit. After every update, verify the transport and listening ports again because newer releases can change networking behavior.

Connect Bedrock players, including consoles

Set online-mode=true so connecting clients authenticate through Xbox Live. This is the expected configuration for console players and avoids the security risks of accepting unauthenticated identities. A console player still needs a network path to the server: local players use the LAN address when discovery works, while remote players use the public address and forwarded port.

Connection failures are usually caused by one of four mismatches: the client and server versions differ, the client is using the wrong address or port, the Linux or router firewall blocks the selected transport, or the server is not listening on the port you forwarded. Compare the BDS startup log with ss -lntup, then test from outside the local network.

A practical verification checklist

  • Ubuntu is 22.04 LTS or later, matching the official download requirement.
  • The ZIP was extracted into one clean, dedicated directory.
  • bedrock_server is executable and starts with LD_LIBRARY_PATH=..
  • The first run generated server.properties and a world, and the process was stopped cleanly.
  • online-mode=true is set for authenticated Bedrock and console access.
  • The actual transport and ports were read from the current release’s log and documentation.
  • UFW and any provider firewall allow only the required TCP and UDP ports.
  • The home router forwards those ports to a stable private IP, when remote access is needed.
  • The service runs as mcbedrock under systemd and starts after reboot.
  • Backups exist outside the live installation and have been tested.

Common mistakes to avoid

Following an old port-only tutorial

Guides that mention only UDP 19132 and 19133 may describe RakNet-era behavior. Newer BDS releases can require NetherNet’s TCP signaling and a separate UDP gameplay range. Treat the console log and release notes as authoritative for the version installed.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Using an unsupported operating-system assumption

Older documentation that says Ubuntu 18 or later does not override the official download page’s Ubuntu 22.04 LTS minimum. Community reports about Debian may be useful experiments, but they do not establish official support.

Starting from the wrong directory

Running ./bedrock_server elsewhere can prevent the executable from finding its bundled libraries or cause configuration and world files to be written in an unexpected location. Set WorkingDirectory in systemd and use the same directory for manual tests.

Opening every port “just in case”

Extra firewall rules do not compensate for an incorrect transport. Open the smallest set documented for your release, confirm the listeners, and remove obsolete rules after an update.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.