Skip to content

Manual-first Windows server guide

Minecraft Bedrock Server Setup, UDP, Worlds and Add-Ons

This Bedrock Dedicated Server guide follows Mojang and Microsoft’s current Windows/Ubuntu process from the vendor ZIP through a clean world restore and real outside join. It keeps Bedrock’s UDP network path, LevelDB saves, Xbox identity, add-on model and limited native administration separate from Java Edition advice.

Bedrock Dedicated Server is a native executable rather than a Java JAR: it listens on UDP 19132/19133, stores one active LevelDB world under worlds/<level-name>, uses Xbox Live Gamertags in allowlist.json, needs a Windows loopback exemption when client and server share a PC, and has no currently documented native RCON or persistent ban command.

Reviewed 2026-08-3064-bit Windows 10 build 10.0.15063+, Windows Server 2016+, or Ubuntu 22.04 LTS+; paths here target Windows

Official player port

UDP 19132 for IPv4

Use the configured server-port at the process, firewall, router and client; opening TCP does not create the Bedrock gameplay path.

Official documentation[mc-bed-properties][mc-bed-start]

IPv6 listener

UDP 19133 by default

IPv6 requires an intentional inbound firewall path, not an IPv4 NAT-forwarding rule.

Official documentation[mc-bed-properties][mc-bed-start]

Active world

worlds/<level-name>/

Several worlds can be installed, but one process activates only the folder named by server.properties and the case must match exactly.

Official documentation[mc-bed-start][mc-bed-properties]

World format

LevelDB

A Java Anvil world is not a direct import; cross-edition conversion is a separate lossy workflow.

Private membership

allowlist.json with Xbox Live Gamertags

Enable allow-list and use allowlist add/remove/reload rather than treating a display count as a player identity.

Official documentation[mc-bed-start][mc-bed-commands]

Same-PC Windows join

Requires Microsoft’s loopback exemption

The packaged Windows client cannot reach BDS on the same PC until the documented retail or Preview package SID is exempted.

Official documentation[mc-bed-start]

Clean shutdown

stop

Use the server console command and wait for process exit before a maintenance snapshot.

Official documentation[mc-bed-stop][mc-bed-start]

Native remote administration

No documented RCON or persistent ban command

Use console/stdin, allow-list, kick and op/deop; hide unsupported controls rather than returning a generic network failure.

Official documentation[mc-bed-commands]

Protect the server first: Run stop and wait for bedrock_server to exit before copying the complete active world, properties, allowlist, permissions and pack state. Never test an update, conversion or add-on removal against the only copy.

Size the host before downloading

PC and capacity guidance

Minecraft.net formally lists 4 GB RAM, i3-3210/A8-7600-equivalent CPU and 180 MB–1 GB available space; its same-page FAQ also says 1 GB for small servers. This guide uses the formal 4 GB floor and labels all larger host/storage figures as conservative editorial starting points, not Mojang capacity guarantees.

Minecraft Bedrock Edition resource profiles
ProfilePlayersMemoryProcessorStorage
Small private Bedrock world
Conservative starting point
A few regular players8 GB total host RAM as a conservative startModern four-thread-or-better 64-bit CPUSSD with at least 10 GB free plus independent backup space
Host also runs the Bedrock client
Conservative starting point
Small group on one gaming PC16 GB total system RAM as a planning startCurrent desktop CPU with measurable server/client headroomFast SSD with room for live state, staging and two full snapshots
Add-on-heavy or higher-concurrency world
Conservative starting point
Growing world with several packs16 GB+ total host RAM, adjusted from measured peakFast modern CPU; validate tick cost under representative playSSD with monitored world growth and off-tree retention
Minecraft.net’s formal table states 4 GB RAM and an i3-3210/A8-7600-class CPU; 8 GB is editorial host headroom for Windows and world growth. [mc-bed-download][mc-bed-properties]
The official 180 MB–1 GB storage figure is not a lifetime world-and-backup allowance. [mc-bed-download][mc-bed-properties]
Client and server share CPU, RAM and disk, so the formal server floor is not a comfortable combined-system target. [mc-bed-download][mc-bed-properties]
Measure memory peak, save duration and join latency before raising max-players, view-distance or tick-distance. [mc-bed-download][mc-bed-properties]
Pack scripts, textures, tick-distance and player activity vary too widely for a universal players-per-gigabyte promise. [mc-bed-properties][mc-bed-packs]
Use content logging and validate packs on the lowest-capability client family the page advertises. [mc-bed-properties][mc-bed-packs]

Official runtime

Install BDS and create a controlled first world

Extract the vendor ZIP into an empty versioned root, run from that root, then stop before applying settings or imports.

  1. 1

    Use the supported package

    Download Windows or Ubuntu BDS from Minecraft.net. Use Windows 10 build 10.0.15063+/Server 2016+ or Ubuntu 22.04 LTS+; do not turn success on another Linux distribution into a support claim.

  2. 2

    Run from the BDS root

    On Windows run bedrock_server.exe. On Ubuntu run LD_LIBRARY_PATH=. ./bedrock_server so packaged libraries resolve from the extracted directory.

    LD_LIBRARY_PATH=. ./bedrock_server
  3. 3

    Stop before configuration

    Let the first run create worlds and pack directories, enter stop, wait for exit, then edit root server.properties and enable an allow list for a private world.

UDP reachability

Prove localhost, LAN and Internet paths separately

A working local world does not prove the router path, and a public-port result does not identify a version/account/device problem.

  1. 1

    Test the intended local route

    Join from another LAN device using the server’s LAN address. When the Windows client shares the server PC, apply Microsoft’s documented retail or Preview loopback exemption and use 127.0.0.1.

  2. 2

    Create a narrow UDP path

    Allow the selected UDP port in Windows Firewall, reserve the PC’s LAN address and forward the same UDP port for public IPv4 joins.

    Do not open TCP, a broad range or script-debug ports for ordinary Bedrock players.

  3. 3

    Test a real outside client

    Use mobile data or another independent network, then repeat on every device family the public page names. Record account/subscription/client version with the result.

World ownership

Import a Bedrock world without flattening its pack state

A valid Bedrock import is the folder whose root contains level.dat and db/, plus every pack and assignment file it depends on.

  1. 1

    Quarantine the source

    Stop the source server or use in-game Export World, retain the original archive, and unwrap only enough folders to find the actual world root.

  2. 2

    Set the exact active name

    Copy the complete folder under worlds/, set level-name to its exact case-sensitive folder name, and bring required shared packs/config separately without replacing vendor binaries.

  3. 3

    Validate identity, content and restart

    Confirm an existing player/inventory, spawn, representative containers, pack stack, save/stop/restart, LAN join and outside join before acceptance.

    A Java world needs conversion; Chunker is third-party and does not carry cross-edition entities or player inventories.

Keep every layer consistent

Ports, firewall, and router setup

Open only the services your Minecraft Bedrock Edition server actually uses. The game process, Windows Firewall rule, router forward, and player join address must all agree on the same port and protocol.

Minecraft Bedrock Edition dedicated server ports
PortProtocolPurposeExposureNotes
19132 (configurable)UDPBedrock IPv4 gameplay, status and joiningInternet playersRequired for this useForward one selected UDP port to the server PC’s reserved LAN address; LAN-only servers need no public router forward.[mc-bed-properties][mc-bed-start]
19133 (configurable)UDPBedrock IPv6 gameplay and statusInternet playersOptionalPermit only when IPv6 joining is intentionally offered. Residential IPv6 firewall controls vary by router.[mc-bed-properties][mc-bed-start]
19132 and 19133 discovery bindsUDPLAN discovery while enable-lan-visibility=trueLAN onlyOptionalBDS can bind the default ports for LAN visibility even when custom server ports are configured; review this when running multiple instances.[mc-bed-properties]
19144 when deliberately enabledTCPScript debugger, not player trafficOptional administrationOptionalLeave inbound script debugging disabled on a production server and never publish this as a join port.[mc-bed-properties][mc-bed-scripting]

Never expose an administration or RCON port merely so players can join. Keep remote administration private whenever possible, use a strong unique credential, and confirm the game's own security model before forwarding it.

Know what must survive a reinstall

Files, worlds, and configuration

Minecraft Bedrock Edition server files
File or folderPurposeBackupNotes
server.propertiesMain BDS settings, ports, active world, player cap and pack policyCriticalPreserve unknown/current keys and comments when applying friendly UI changes.[mc-bed-properties][mc-bed-start]
worlds/<level-name>/Complete active LevelDB world and its player/pack-linked stateCriticalCopy the whole directory after clean stop; do not select only db files.[mc-bed-start][mc-bed-world-template]
worlds/<level-name>/db/LevelDB database payloadCriticalIts presence, with level.dat, identifies a Bedrock world root during import.[mc-bed-world-template][mc-bed-differences]
worlds/<level-name>/level.dat and level.dat_oldCurrent and previous world metadataCriticalPreserve both with every snapshot and import.[mc-bed-world-template]
allowlist.jsonPrivate-server Xbox Live Gamertags, optional XUID and limit overrideCriticalReload after external edits; commands are safer than hand editing.[mc-bed-start][mc-bed-commands]
permissions.jsonPlayer/operator permission state in the BDS package conventionCriticalThe official command reference exposes permission list/reload but does not publish a complete current root schema; verify the clean package and manage through commands.[mc-bed-commands]
behavior_packs/ and resource_packs/Packs shared across BDS worldsRecommendedWorld-specific pack payload and assignment JSON must remain with the world.[mc-bed-start][mc-bed-packs]
config/default/permissions.jsonDefault Script API module capabilitiesRecommendedThis is not the player/operator permissions file; keep script capabilities minimal.[mc-bed-scripting]
Minecraft Bedrock Edition configuration reference
Setting or fileLocationWhat it controlsRestart?
server-nameFamily Bedrock Worldserver.propertiesDisplays a recognizable server name without exposing an address or secret.[mc-bed-properties]Yes
level-namefamily-worldserver.properties and worlds/<level-name>/Selects the one world this BDS process loads.[mc-bed-start][mc-bed-properties]Yes
allow-listtrue for a private serverserver.properties plus allowlist.jsonRestricts joining to approved Xbox Live Gamertags.[mc-bed-start][mc-bed-properties][mc-bed-commands]No
online-modetrueserver.propertiesKeeps Xbox Live authentication enabled for Internet play.[mc-bed-properties]Yes
server-port / server-portv619132 / 19133 when one BDS instance is presentserver.propertiesSelects the IPv4 and IPv6 UDP listeners.[mc-bed-properties]Yes
enable-lan-visibilityfalse for secondary instances that must avoid discovery-port conflictsserver.propertiesControls LAN discovery and default-port binding behavior.[mc-bed-properties]Yes
view-distance / tick-distanceStart at current defaults 32 / 4, then measure before raisingserver.propertiesBalances visible range and simulated world activity against host workload.[mc-bed-properties]Yes
texturepack-requiredfalse until the pack/download path is verified on every client familyserver.properties and active world pack referencesRequires joining clients to accept the world’s resource pack.[mc-bed-properties][mc-bed-packs]Yes

Avoid incompatible clients and unsafe shortcuts

Players, mods, and administration

Cross-play and editions

Vanilla BDS serves Bedrock Edition clients. The current official download page advertises Windows, Xbox, PlayStation, mobile, Nintendo Switch and Switch 2, but Java clients are not native participants.

  • Minecraft’s current join guide teaches Play > Servers > Add Server, address and port; verify that exact UI on each named production console before publishing a device-specific promise.
  • Console online multiplayer commonly requires the platform subscription plus a Microsoft account and permitted privacy/multiplayer settings.
  • Retail and Preview clients use separate compatibility lanes; even patch releases can change the Bedrock protocol.
  • Java/Bedrock world and command formats differ, so conversion is not equivalent to native cross-play.

Mods and extensions

BDS uses Bedrock resource packs, behavior packs and optional Script API modules—not Paper plugins or Fabric/NeoForge mods.

  • World-specific payload and world_behavior_packs.json/world_resource_packs.json stay with the world; root pack folders can make content available across worlds.
  • Manifest UUIDs, versions, dependencies and pack order must agree; enable content logging for diagnosis.
  • config/default/permissions.json controls Script API module capabilities, not player operator ranks or the allow list.
  • The optional 1.26.40 pack optimizer creates archived output and exits; optimized packs require client 1.26.40+, so run it only on copies.

Administration

Use local console/stdin plus the official allowlist, op/deop, kick, permission, save-help and stop commands; do not claim native RCON or permanent ban controls that current docs do not list.

  • allowlist.json stores Gamertags, optional XUID and ignoresPlayerLimit; reload after an external edit.
  • Kick removes the current session. For a private community, remove access from the allow list rather than labeling kick a persistent ban.
  • The root player permission file and config/default/permissions.json serve different purposes; manage player roles through commands.
  • When only a connected-player count is available, show the count or ‘name unavailable’ instead of inventing Player 1.

Preserve a return path before maintenance

Updates, backups, and rollback

Update without gambling the world

BDS is delivered as a ZIP, not a documented in-place updater. Stop, snapshot, stage a fresh versioned package, migrate a copy, test, then switch.

  1. 1

    Create a clean recovery boundary

    Warn players, enter stop, wait for exit, then copy the complete active world, properties, allowlist, permissions, packs and config outside the install root.

  2. 2

    Stage the official current ZIP

    Extract the new vendor package into a different empty versioned directory, run/stop once, compare current properties, and carry intended values without deleting new keys.

  3. 3

    Validate and retain the old state

    Start with a copied world, verify version, identity, pack stack and joins, then switch. Rollback restores the complete matched pre-update state—not only an older executable.

Back up and prove the restore path

The dependable BDS snapshot is a complete, stopped server-state set stored outside the live installation and proven by restoration to another path.

  1. 1

    Stop cleanly

    Use stop and wait for normal process exit. Microsoft’s current and older save pages conflict, so verify help save against the exact build before automating live snapshots.

  2. 2

    Copy state as one unit

    Preserve the entire active world, properties, access/permission state, used packs and script config with a version/hash manifest.

  3. 3

    Prove the recovery point

    Restore into a separate clean BDS path and verify the expected world, existing identity, pack stack and save-stop-restart before calling it recoverable.

Diagnose before reinstalling

Common Minecraft Bedrock Edition server problems

Bedrock works on LAN but outside joins time out

What players see

A LAN client reaches the server, but a client on another network cannot connect.

Likely cause

The UDP 19132 path is missing or inconsistent at Windows Firewall, the router, a second NAT layer or the ISP’s CGNAT boundary.

  1. 1.Record the configured UDP port and reserve the server PC’s LAN address.
  2. 2.Verify one narrow inbound UDP firewall rule and a matching router forward.
  3. 3.Test from a real outside network; do not recreate or edit the world for a reachability failure.

Bedrock reports Outdated Client or Outdated Server

What players see

Join is rejected before the world loads with a named version error.

Likely cause

Client and BDS use incompatible protocol builds or retail and Preview channels were mixed.

  1. 1.Record exact client/server versions and retail/Preview channel.
  2. 2.Back up and update the side named by the message through its official channel.
  3. 3.Do not assume patch releases share a Bedrock protocol.

BDS creates a new world instead of loading the import

What players see

The server starts successfully, but players arrive in a new seed.

Likely cause

level-name does not exactly match the folder, the archive has a wrapper folder, or the service uses another working directory.

  1. 1.Stop immediately and preserve both the source and generated world.
  2. 2.Find the folder whose root contains level.dat and db/ and place it directly under worlds/.
  3. 3.Set the exact case-sensitive level-name and restart from the intended BDS root.

A Bedrock ban or RCON control is missing

What players see

An administrator expects Java-style ban files or RCON and the control cannot execute.

Likely cause

Those are Java assumptions; the current official BDS command list documents allowlist, kick, op/deop and local server controls instead.

  1. 1.Keep management/debug ports private and remove unsupported public forwards.
  2. 2.Use kick plus allow-list removal for private access control and manage operators through commands.
  3. 3.Do not fabricate a successful ban, player name or RCON response.

Evidence stays visible

Sources and verification

Technical behavior changes with server builds. These are the references reviewed for this guide. Official documentation wins if a later patch changes a path, port, command, or compatibility rule.

  1. [mc-bed-download] Mojang Studios / Minecraft

    Bedrock Dedicated Server download and requirements

    Reviewed 2026-08-30 · Official documentation

  2. [mc-bed-start] Microsoft Learn

    Getting Started with Bedrock Dedicated Server

    Reviewed 2026-08-30 · Official documentation

  3. [mc-bed-properties] Microsoft Learn

    Bedrock Dedicated Server properties

    Reviewed 2026-08-30 · Official documentation

  4. [mc-bed-commands] Microsoft Learn

    Current Bedrock command reference

    Reviewed 2026-08-30 · Official documentation

  5. [mc-bed-save-current] Microsoft Learn

    Current Bedrock save command page

    Reviewed 2026-08-30 · Official documentation

  6. [mc-bed-save-legacy] Microsoft Learn

    Older conflicting Bedrock save command page

    Reviewed 2026-08-30 · Official documentation

  7. [mc-bed-stop] Microsoft Learn

    Bedrock stop command

    Reviewed 2026-08-30 · Official documentation

  8. [mc-bed-scripting] Microsoft Learn

    Scripting Bedrock Dedicated Server

    Reviewed 2026-08-30 · Official documentation

  9. [mc-bed-world-template] Microsoft Learn

    Exported Bedrock world structure

    Reviewed 2026-08-30 · Official documentation

  10. [mc-bed-packs] Microsoft Learn

    Comprehensive Bedrock pack contents

    Reviewed 2026-08-30 · Official documentation

  11. [mc-bed-optimization] Microsoft Learn

    BDS pack optimization

    Reviewed 2026-08-30 · Official documentation

  12. [mc-bed-chunker] Microsoft Learn

    Chunker conversion scope and limitations

    Reviewed 2026-08-30 · Official documentation

  13. [mc-bed-differences] Microsoft Learn

    Bedrock and Java world/content differences

    Reviewed 2026-08-30 · Official documentation

  14. [mc-server-play] Mojang Studios / Minecraft

    How to play on a Minecraft server

    Reviewed 2026-08-30 · Official documentation

  15. [mc-editions] Mojang Studios / Minecraft

    Java and Bedrock edition differences

    Reviewed 2026-08-30 · Official documentation

Keep learning

Related guides

Gone Wrong Servers

Want to host your own Minecraft Bedrock Edition server?

Download Gone Wrong Servers for guided setup, safer updates, backups and recovery on your Windows PC.