Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan Now×
VGSOURCES
Get listed

dedicated serverPATCH 2026.10.15

How to Host a Minecraft Bedrock Server on Linux (Ubuntu 22.04+ Guide)

By VGSources Team 9 min read

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

The most reliable way to host Minecraft Bedrock on Linux is Mojang’s official Bedrock Dedicated Server (BDS) for Linux on Ubuntu 22.04 LTS or later. Download the current ZIP, extract it into its own directory, run the executable with LD_LIBRARY_PATH=., configure server.properties, open the ports required by your BDS version, and run it under a dedicated systemd service for unattended uptime.

What you need before installing

This guide targets the official Linux BDS download. Mojang’s download page currently requires Ubuntu 22.04 LTS or later and does not support other distributions. A Microsoft Learn page still describes Ubuntu 18 or later as recommended, but the download-page requirement is the newer and more specific requirement to follow.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • An Ubuntu 22.04 LTS (or newer) 64-bit machine with a stable internet connection.
  • Shell access with an account that can use sudo.
  • Enough disk space for the server files, worlds, logs and backups. World size depends on exploration, so leave room for growth.
  • Administrative access to the host firewall and, if players connect from outside your home, the router that receives your public connection.
  • The current Linux ZIP downloaded from Mojang’s official Bedrock Dedicated Server page. BDS releases change often, so check that page immediately before downloading.

The official package is a native Bedrock server; you do not install a Java runtime for it. Keep the ZIP and release number so you can identify exactly which binary is running when you update.

Create a clean server directory

Extract BDS into an empty directory. Mixing an old release, libraries or configuration files into a new extraction can produce confusing startup errors.

  1. Download the Linux ZIP in a browser from Mojang’s official Bedrock server page and copy it to the Ubuntu machine (for example, with scp).
  2. Create a directory for a first, interactive setup:
mkdir -p "$HOME/MinecraftServer"
cd "$HOME/MinecraftServer"
unzip ~/bedrock-server-*.zip

If unzip is not installed, install the Ubuntu package with sudo apt update && sudo apt install unzip, then repeat the extraction. Confirm that the directory contains bedrock_server and the shared libraries shipped with the ZIP.

Start BDS once and generate its files

The launcher must be run from the directory that contains its bundled libraries. The LD_LIBRARY_PATH=. prefix tells Linux to search the current directory for those libraries; omitting it commonly causes missing-library errors.

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

On the first launch, BDS creates configuration files and a default world. Read the console output for a successful startup and note the version and transport messages. Press Ctrl+C to stop it cleanly before editing configuration.

Configure server.properties

Open the generated file with an editor:

nano "$HOME/MinecraftServer/server.properties"

Change only the settings you need, then save the file and restart BDS. A practical baseline is:

Setting Purpose Guidance
server-port Primary IPv4 listening port The older RakNet configuration uses UDP 19132 by default. Choose another port only if it is free and you will update firewall and router rules to match.
server-portv6 IPv6 listening port The older configuration uses UDP 19133 by default. Treat it as a separate port from the IPv4 value.
online-mode Account authentication Leave this set to true for normal Xbox Live authentication and console cross-play.
enable-lan-visibility LAN discovery behavior It defaults to true. One hosting guide reports that this can make BDS bind to 19132 and 19133 even after changing server-port; set it to false if you need to prevent that behavior, and verify the result on your release.

Other generated options control the world name, game mode, difficulty, player limit and permissions. Change those values only after recording the original file so you can revert a mistake. Do not publish a server with online-mode=false unless you deliberately understand the authentication and security consequences.

Understand ports and the NetherNet change

Port instructions depend on the BDS release. Older guides describe RakNet, where IPv4 gameplay uses UDP 19132 and IPv6 uses UDP 19133. Newer Bedrock releases may use NetherNet instead. The itzg Bedrock container documentation describes TCP 19132 for NetherNet signaling for IPv4 and IPv6 clients, with gameplay UDP ports drawn from a range configured through SERVER_UDP_PORTS. Its notes report that BDS 1.26.51 logs an error saying NetherNet is the only supported transport.

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

Therefore, do not assume that opening only UDP 19132 and 19133 is sufficient. At every upgrade:

  • Read the startup console for transport and bind messages.
  • Check the release notes and the documentation for the exact BDS version.
  • Open only the TCP and UDP ports that the log and current documentation require.
  • Test from a different network rather than relying on a local connection.

If your release still reports RakNet, the traditional rules are UDP 19132 for IPv4 and UDP 19133 for IPv6. If it reports NetherNet, TCP 19132 is used for signaling and the gameplay UDP range must come from the version’s documented configuration; the exact range is not established here, so do not invent one.

Open Ubuntu’s firewall

Ubuntu commonly uses UFW. The following example applies to the older RakNet defaults:

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

If your BDS version requires NetherNet, add TCP 19132 and the documented gameplay UDP range instead of, or in addition to, the RakNet rules:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
sudo ufw allow 19132/tcp
# Add the UDP range specified for your exact BDS release.
sudo ufw status numbered

Do not enable UFW remotely until you have allowed SSH (normally TCP 22) or you can lock yourself out. A rule on the server is necessary but not sufficient: a cloud provider’s security group, an upstream firewall or a home router can still block the traffic.

Forward the port on a home router

For a server hosted inside your home network, sign in to the router and create a port-forward rule to the Ubuntu machine’s fixed private IP address. Select UDP for RakNet’s 19132 (and 19133 if you offer IPv6). For NetherNet, follow the BDS release’s TCP signaling and UDP gameplay requirements. Reserve the Ubuntu host’s DHCP address so the destination does not change after a reboot.

Players outside your network use your public IP address, not the server’s private address such as 192.168.x.x. Test from a phone on cellular data or another external connection. If forwarding appears correct but the server is unreachable, your ISP may be using carrier-grade NAT; in that case the router has no public address to receive unsolicited connections and you need a publicly reachable host or an ISP option that supplies one.

Make the server a systemd service

Running BDS in an SSH window is suitable for the first test, not for a persistent world. Create a dedicated account and move the files out of your personal home directory:

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

Create /etc/systemd/system/minecraft-bedrock.service:

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

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

[Install]
WantedBy=multi-user.target

Load and start it:

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

The journal is the first place to look for a failed bind, a missing library, an unsupported option or a NetherNet transport message. To stop it safely before maintenance, use sudo systemctl stop minecraft-bedrock. Restart after editing properties with sudo systemctl restart minecraft-bedrock.

Back up worlds and configuration

A Bedrock world is valuable data. Stop the service before copying it so region files are not changing during the archive:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
sudo systemctl stop minecraft-bedrock
sudo tar -C /opt/minecraft-bedrock -czf "$HOME/minecraft-bedrock-$(date +%F).tar.gz" worlds server.properties permissions.json allowlist.json
sudo systemctl start minecraft-bedrock

Store at least one copy outside the server machine. Keep several dated generations so a corrupted or griefed world is not the only copy. Before a BDS upgrade, archive the complete server directory, not only the world, because configuration and permissions determine how the replacement starts.

Update BDS without losing the world

  1. Read the current Mojang download page and release notes. Confirm the Ubuntu requirement and transport behavior for the new version.
  2. Stop the service and make a full backup.
  3. Extract the new ZIP into a separate temporary directory rather than overwriting the live directory.
  4. Copy or merge the existing worlds directory and the configuration files you intentionally retain. Keep the new release’s binaries and bundled libraries together.
  5. Set ownership to minecraft:minecraft, make bedrock_server executable, and start the service.
  6. Read journalctl for port, migration and transport messages, then test a client before announcing the update.

An automatic updater can download a release and restart the service, but it should preserve the backup and maintenance window steps. Never replace a running binary or update without a rollback copy.

Let players connect and authenticate

With online-mode=true, clients authenticate through Xbox Live. This is the setting required for the normal Bedrock experience and console cross-play. Give players the public address and the externally forwarded port that your BDS version actually uses. Players on the same LAN may discover the server when LAN visibility is enabled; remote players still require reachable firewall and router paths.

If a console cannot join, separate an authentication problem from a network problem: first verify that the server log shows a listening socket and that a client on another network can reach the port; then confirm the console account can use online multiplayer and that the address and port match the external forwarding rule. Console menu paths differ by platform and system update, so use the platform’s current Minecraft instructions rather than assuming every edition exposes a custom-server form.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshooting by symptom

error while loading shared libraries

Run the command from the BDS directory and include LD_LIBRARY_PATH=.. Check that the ZIP was extracted completely and that the bundled libraries were not moved away from bedrock_server.

The service exits immediately

Use sudo journalctl -u minecraft-bedrock -b. A wrong path, missing execute permission, unsupported distribution, or a port already in use will normally appear there. Confirm WorkingDirectory, ExecStart, ownership and the executable bit.

Local players can join, remote players cannot

Verify the Ubuntu firewall, the router’s destination IP, the protocol (UDP versus TCP), and the external port. Test from outside the home network. For NetherNet, check that the documented UDP gameplay range is forwarded; opening only legacy UDP 19132 may not be enough.

The server binds to unexpected ports

Inspect the startup log and check enable-lan-visibility. One community hosting guide reports that its default can bind 19132 and 19133 despite a changed server-port; setting it to false may stop that behavior, but verify on your BDS release.

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

Players are rejected as unauthenticated

Keep online-mode=true, confirm the client has internet access to Xbox Live services, and make sure the server clock and network are functioning. Turning authentication off is not a substitute for fixing connectivity.

Pre-launch checklist

  • Ubuntu 22.04 LTS or later is installed.
  • The current official Linux ZIP is extracted into a clean directory.
  • chmod +x bedrock_server and LD_LIBRARY_PATH=. are used.
  • The first start completed and generated server.properties and a world.
  • online-mode=true is set.
  • Ports match the transport reported by this BDS release.
  • UFW, cloud firewalls and router forwarding agree on protocol and port.
  • The service runs as a dedicated user and starts after reboot.
  • A tested backup exists before inviting players or upgrading.

Frequently Asked Questions

Can I use Debian instead of Ubuntu?

A community guide claims Debian 12 or newer can work, but official support is not confirmed in the available documentation. For a supported installation, use Ubuntu 22.04 LTS or later, which the official download page requires.

Do I always need both UDP 19132 and UDP 19133?

No. Those are the traditional RakNet defaults. Newer BDS releases can use NetherNet, where TCP 19132 handles signaling and gameplay uses a documented UDP range. Read your startup log and release notes before choosing firewall rules.

Why does changing server-port not change every listening socket?

One community guide reports that enable-lan-visibility=true can keep bindings on 19132 and 19133. Set it to false when appropriate and verify the actual sockets in your release’s log.

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

Can console players join a Linux Bedrock server?

Yes, when the server uses online-mode=true and the console account can authenticate through Xbox Live. Network reachability and the console platform’s current joining workflow still apply.

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.

dedicated serverLinuxMinecraft Bedrockserver administrationUbuntu

Leave a reply

Your email address will not be published. Required fields are marked *

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.

Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.