Skip to content

Setting up your Bedrock Minecraft server

Complete Minecraft Bedrock first boot, manage allow-lists and permissions.json, configure add-ons, and find your panel's custom port.

Updated August 19, 2026
Minecraft

Bedrock is Microsoft's cross-platform version of Minecraft, used on Windows 10/11, Xbox, PlayStation, Switch, and mobile. This guide covers setting up and running Bedrock Dedicated Server (BDS) on your Minecraft hosting plan: first boot, connecting from each platform, the settings worth changing, add-ons, backups, and the things Bedrock simply cannot do that Java can.

For the PC-only Java Edition (with its much larger plugin and mod ecosystem), see Java: Getting Started. To run a Java server that Bedrock players can also join, see Geyser Cross-Play.

Current Bedrock version

As of August 2026 the current Bedrock Edition release is 26.44, published on 14 August 2026, and the matching dedicated server build is 1.26.44.3. Bedrock switched to a year-prefixed version scheme in 2026 and steps the minor number by ten per drop, so the next drop is 26.50 rather than 26.45. The dedicated server follows the client's release cycle: when the game updates, the server has to as well.

First Boot

  1. Open your Minecraft Bedrock server in the panel.

  2. Click Start.

  3. First boot downloads and unpacks the server, which is a little over 100 MB compressed and around 350 MB once unpacked. Allow 2 to 5 minutes.

  4. The world generates using level-name and level-seed from server.properties. On a fresh server that means a random seed in a folder called Bedrock level.

A brand-new Bedrock server lets nobody in — not even you

Bedrock Dedicated Server used to ship with its access list turned off. It no longer does: allow-list=true became the default in the 26.30 release, so an untouched server rejects every connection with "You're not invited to play on this server." Add yourself from the panel Console before you try to join:

> allowlist add YourGamertag

Gamertags containing a space need double quotes. Full detail in Bedrock Allowlist and Permissions.

How to Connect

Bedrock connects over UDP, and how you add a server depends entirely on which platform you are playing on.

  • Windows 10/11, Android, iOS/iPadOS: open the Play screen, go to the Servers tab, and add your server under Other Server using the IP and port from the Address at the top left of your panel.
  • Xbox, PlayStation and Nintendo Switch: the "Other Server" option is not available on console versions of Bedrock Edition. Consoles can reach a server on the same local network, or through a DNS-redirect workaround, but they cannot type in an address the way the other platforms can. LAN discovery is a local-network broadcast, so it will not reach a hosted server — see Joining from Xbox, PlayStation or Switch for what each console can actually do.

Always use the port shown in your panel

The game's default port is 19132, but on our plans your server runs on the port assigned in the panel's Network tab, which is often different, so always use the panel value.

Console players are the usual reason to run Java plus Geyser instead

If most of your players are on Xbox, PlayStation or Switch, a standalone Bedrock server is awkward for them by design. Running a Java server with Geyser does not fix the console limitation either, but it does give you a single world that Windows, mobile and Java players share, with a much larger plugin ecosystem behind it. It is worth deciding this before you build a world.

server.properties

Bedrock's configuration is a flat server.properties file. It shares a filename with Java Edition and almost nothing else — of the 68 keys Bedrock recognises, only eleven are spelled the same as a Java key, and Java settings pasted into a Bedrock file are read, not recognised, and silently ignored.

These are the ones most owners actually change:

server-name=My GSK Bedrock Server
gamemode=survival
difficulty=normal
allow-cheats=true
max-players=10
online-mode=true
allow-list=true
view-distance=16
tick-distance=4
player-idle-timeout=30
default-player-permission-level=member
enable-lan-visibility=false
level-name=Bedrock level
level-seed=
server.properties
Setting Default Notes
server-name Dedicated Server Display name. No semicolons
max-players 10 Cap by slot purchase
gamemode survival survival, creative, adventure
difficulty easy peaceful, easy, normal, hard
allow-cheats false Required for slash commands to work at all, operator or not
allow-list true Restricts joining to allowlist.json
online-mode true Xbox Live authentication. Leave it on
default-player-permission-level member visitor, member, operator
view-distance 32 Chunks streamed to each player. The biggest performance lever
tick-distance 4 Chunks that actually simulate. Range 4 to 12
level-seed (empty) Empty for random. Only read when the world is first created

After editing, restart. Bedrock has no working /reload, so nothing here applies to a running server.

Leave the port keys to the panel

server-port and server-portv6 are managed by the panel allocation, so leave them alone; the panel binds your assigned port on boot. It is also worth setting enable-lan-visibility=false — with it on, the server binds the default ports 19132 and 19133 in addition to the ones you configured, which can collide with other servers on the same host.

Every remaining key — the server-authoritative movement family, the NetherNet transport, the scripting watchdog, the diagnostics options, and the five movement keys that older guides still tell you to set but which no longer exist — is documented in Bedrock server.properties: The Complete Key Reference.

Admins and Access

Bedrock keeps two files, and they do different jobs:

  • allowlist.json decides who may connect. It was called whitelist.json before Bedrock 1.18.10, and a leftover whitelist.json will silently override the new file.
  • permissions.json decides what they can do once in. It maps a player's XUID to one of three roles: operator, member or visitor.
[
  {
    "permission": "operator",
    "xuid": "1234567890123456"
  }
]
permissions.json

To find a player's XUID, have them connect once and read the console:

Player connected: ExampleName, xuid: 2535465768754321
Console output

Run permission reload after editing the file by hand, or use op <player> from the console, which writes the entry for you. Both files require online-mode=true, because an XUID can only be established by verifying the account online.

Roles, the gamertag-versus-XUID question, the whitelist.json trap and the achievements warning that comes with opping other players are all covered in Bedrock Allowlist and Permissions.

Bedrock Add-Ons

Bedrock supports behavior packs (gameplay logic) and resource packs (textures, models, sounds), distributed as .mcpack or .mcaddon files.

  1. Upload the pack to behavior_packs/ or resource_packs/ on the server.

  2. Reference the pack in the world's pack manifest:

    • worlds/<world>/world_behavior_packs.json for behavior packs
    • worlds/<world>/world_resource_packs.json for resource packs
  3. Restart.

Uploading a pack does nothing on its own — the world has to list it. That is the single most common reason an add-on appears to have been ignored.

Applying a pack to every world at once

Two folders, system_behavior_packs/ and system_resource_packs/, hold packs applied globally across all worlds on the server. Neither is created automatically, so you have to make them yourself. Packs placed there have their UUIDs protected, which means any user pack that reuses the same ID will fail to load.

Add-ons can change mob behavior, add custom items, and reskin the game, and the scripting API behind them is what stands in for plugins on Bedrock. The scope is still narrower than Java's Forge ecosystem — there is no equivalent of large content mods like Create or Twilight Forest.

Performance

Bedrock is far less memory-hungry than Java, and there is no -Xmx or -Xms to set — BDS has no JVM and no way to specify a heap size at all. It takes what it needs, which means the tuning levers are all in server.properties. Mojang's own floor for the software is a 64-bit CPU with at least 2 cores and 1 GB of RAM; real servers with players on them want more than that.

Two settings do most of the work:

  • view-distance (default 32) controls how many chunks stream to each player. This is the first thing to lower, and dropping it to 16 costs players very little.
  • tick-distance (default 4, maximum 12) controls how many chunks simulate around each player. It already ships at the minimum, so there is less to reclaim here — but if a previous owner raised it, lowering it back is the quickest win on a crowded server.

Bedrock also benefits more from strong single-core clock speed than from core count, so a fast few cores beat many slow ones.

Backups

The world folder — under worlds/, named per level-name — is the only critical data. Use the panel's Backups tab daily. Bedrock worlds are small, so backups are cheap and fast.

BDS can also produce a consistent snapshot without stopping, through three console commands used in sequence:

> save hold
> save query
> save resume
text

save hold asks the server to prepare and returns immediately. save query is then polled until it succeeds, at which point it returns the list of files to copy and the length to truncate each one to — the server keeps running, so files can grow while you copy. Copy only the listed files, truncate them to the given lengths, then call save resume to let the server clean up. Copying the world folder without this dance can produce a corrupt backup.

What Bedrock Cannot Do

Worth knowing before you plan around a feature that does not exist:

Missing Detail
RCON No remote console. There is no supported way to send commands from outside the server
SRV records Players must always type the port. A domain alone will not work
MOTD BDS cannot set a message of the day, even though Bedrock clients display one. server-name is the nearest equivalent — what a Bedrock client actually draws in its server list is covered in Minecraft Server List Appearance
/reload Settings changes need a restart. Only changesetting can alter allow-cheats and difficulty live, and it does not write to the file
Memory flags No -Xmx or -Xms equivalent
Console server list Xbox, PlayStation and Switch cannot add an external server by address
Plugins No Spigot or Paper equivalent. Add-ons and the scripting API are the supported route

Common Issues

  • Nobody can join a new server, including you: allow-list defaults to true. Run allowlist add <YourGamertag> in the Console.
  • "You're not invited to play on this server": the allowlist is rejecting that player. Check the exact gamertag with allowlist list.
  • Console players cannot add the server: expected. The "Other Server" option does not exist on Xbox, PlayStation or Switch.
  • "Unable to connect to world": confirm the port matches the panel's Network tab and that the server is fully started.
  • Client and server version mismatch: Bedrock refuses connections across versions, reporting an outdated client or outdated server. Update the server after a game drop.
  • Slash commands do not work: set allow-cheats=true in server.properties and restart. This applies to operators too.
  • A setting in server.properties did nothing: either you did not restart, or it is a Java key. Check it against the Bedrock key reference.
  • Add-on not applying: the pack must be referenced in the world's world_behavior_packs.json or world_resource_packs.json, not just uploaded.
  • Cross-play confusion: Bedrock and Java are separate games. A Bedrock client cannot join a Java server directly; that requires Geyser on the Java side.

Sources


Made with 💜 by GameServerKings

Need a Minecraft server?

Deploy an instantly-provisioned Minecraft server on high-clock hardware — DDoS protected, no contracts, cancel anytime.

From $4.80 /month