VGKAMI
Advertise Get listed

Game Guides

Minecraft Bedrock Server Settings Explained: The Best Config for Your Group

October 26, 2026 12 min read

For a private Minecraft Bedrock server shared by four to eight friends, start with Xbox Live authentication enabled, turn on the allow-list, leave new players at member permission, use the documented ports 19132 (IPv4) and 19133 (IPv6), and keep tick-distance=4. Set view-distance to about 16–20 rather than the Microsoft default of 32, and cap max-players at the size of your actual group. This balances privacy and responsiveness without asking the host to process unnecessary chunks.

The settings are split across a few files and systems. server.properties is the main one-line-per-setting configuration file; allowlist.json determines which Gamertags can join when the allow-list is enabled; worlds and packs live in separate folders; and operator permissions and gamerules are administered with console commands. The sections below explain each decision and provide a copy-ready baseline.

What should I put in server.properties for a private Bedrock server?

Use this baseline for a small survival group, then adjust only after watching host load and connection behavior. The values marked as recommendations are editorial starting points; the Microsoft defaults are listed separately below.

server-name=Friends Survival
gamemode=survival
force-gamemode=false
difficulty=normal
allow-cheats=false
max-players=8
online-mode=true
allow-list=true
server-port=19132
server-portv6=19133
enable-lan-visibility=true
view-distance=20
tick-distance=4
player-idle-timeout=30
max-threads=8
level-name=Bedrock level
default-player-permission-level=member
texturepack-required=false

Save the file as plain text with exactly one key=value pair per line. Do not add commas, quotation marks, or spaces around the equals sign. Stop the server before changing settings, save the file, and start it again so the process reads the new values.

Which values are recommendations and which are Microsoft defaults?

Setting Baseline above Documented Microsoft default Why it matters
gamemode survival survival Mode assigned to new players.
difficulty normal easy Changes hostile-mob and survival difficulty.
allow-cheats false false Controls cheat commands and their consequences.
max-players 8 (recommendation) 10 Connection cap; larger caps can increase load.
online-mode true true Requires Xbox Live authentication.
allow-list true (recommendation) false Restricts joins to listed Gamertags.
server-port 19132 19132 Default IPv4 UDP port.
server-portv6 19133 19133 Default IPv6 UDP port.
view-distance 20 (recommendation) 32 Maximum view distance in chunks.
tick-distance 4 4 Radius, in chunks, that keeps simulating around players.
player-idle-timeout 30 minutes 30 minutes Disconnects inactive players; 0 disables it.
max-threads 8 8 Thread limit used by the server process.
level-name Bedrock level Bedrock level Folder name of the active world.
default-player-permission-level member member Permission granted to newly joining players.
texturepack-required false false Whether clients must accept required packs.

Using normal difficulty and a cap of eight is a group preference, not a server requirement. If your group prefers the Microsoft defaults, change only those lines; the privacy and authentication choices remain sensible for an Internet-facing private server.

How do I make a Bedrock server private?

Keep online-mode=true, set allow-list=true, and add every friend to allowlist.json. This combination authenticates accounts through Xbox Live and then checks whether the authenticated Gamertag is explicitly permitted.

Why keep online-mode enabled?

With online-mode=true, the server requires Xbox Live authentication. Microsoft recommends this for servers reachable from the Internet because it ties a connection to an authenticated account instead of accepting an unauthenticated name. Turning it off may help with special offline testing, but it removes that identity check and is a poor default for a private public-facing address.

How do I add or remove friends?

From the server console, use the allow-list commands:

allowlist add <GamerTag>
allowlist remove <GamerTag>
allowlist reload

Replace <GamerTag> with the player’s exact Gamertag. If you edit allowlist.json outside the console, run allowlist reload afterward. A player who is authenticated but absent from the file will still be rejected while allow-list=true.

What permission should new players have?

Set default-player-permission-level=member. Members can play without receiving operator powers. Give operator access only to trusted administrators with the op command, and remove it with deop when the administrative task is finished.

What ports does a Minecraft Bedrock server use?

The documented defaults are UDP 19132 for IPv4 and UDP 19133 for IPv6. The server, host firewall, and (for Internet play) your router or network edge device must all permit the same configured ports.

Which firewall rules are needed?

On Ubuntu using UFW, Microsoft’s example is:

sudo ufw allow 19132
sudo ufw allow 19133
sudo ufw reload

If you changed server-port or server-portv6, substitute those numbers in the firewall rules. A router forwarding a different port than the server listens on produces a timeout even when the process itself is healthy. Forward UDP, not just TCP, because Bedrock’s documented game ports are UDP.

What does LAN visibility do?

enable-lan-visibility=true allows LAN discovery behavior. Microsoft notes that LAN visibility can make the server bind the default ports for discovery even when custom port values are present. Turn it off when you do not want local discovery or when several Bedrock servers share one host and could compete for those default bindings.

How can I test on the same Windows computer?

For same-machine Windows testing, Microsoft documents a loopback exemption and connecting to 127.0.0.1 on port 19132. This test bypasses router forwarding, so a successful local connection proves the process is listening but does not prove that friends on the Internet can reach it.

Which settings reduce Bedrock server lag?

Start with view-distance=16–20, leave tick-distance=4, and keep max-players close to the number of people who actually play. These controls determine how much world data is loaded, sent, and simulated; raising them increases the host’s work.

What does view-distance mean?

view-distance is the maximum view distance in chunks. The documented minimum is 5 and the default is 32. A value of 20 is a practical starting point for a small group, while 16 can help a modest CPU or a busy home connection. Increase it only after checking that the server remains responsive when several players travel in different directions.

What does tick-distance mean?

tick-distance is the radius in chunks around players that continues to tick: redstone, crops, mobs, and other simulation work. The documented range is 4–12 and the default is 4. Raising it can make distant farms behave more continuously, but it also increases simulation cost; leave it at 4 unless your group has a specific reason to expand the active radius.

Does max-players affect performance?

Yes. The setting is a connection cap, and Microsoft warns that higher values have performance impact. Do not set it to a large number “just in case.” A cap of eight prevents unexpected joins from consuming resources and matches the baseline group size; raise it only when you have confirmed spare CPU, memory, and network capacity.

What do max-threads and idle timeout do?

max-threads=8 matches the documented default. Setting it to 0, or omitting it, lets the server use as many threads as possible; that is not automatically faster on a shared or thermally limited machine. player-idle-timeout=30 disconnects an inactive player after 30 minutes, while player-idle-timeout=0 disables the timeout and allows an unattended account to remain connected.

What should I check when the server is laggy?

  • Confirm whether lag affects everyone or only one player’s network path.
  • Check host CPU, memory, disk activity, and upload capacity while players are exploring.
  • Temporarily lower view-distance toward 16 before changing tick-distance.
  • Keep tick-distance=4 while diagnosing so simulation cost is predictable.
  • Reduce max-players if the host becomes saturated during simultaneous joins.
  • Stop unnecessary background workloads and keep the world on reliable local storage.

These are configuration responses, not a promise of a particular frame rate or tick rate. The suitable value depends on the host hardware, world complexity, player spread, and network conditions.

How do gamemode, difficulty, cheats, and force-gamemode interact?

gamemode accepts survival, creative, or adventure and sets the mode for new players. difficulty accepts peaceful, easy, normal, or hard. allow-cheats=false keeps a conventional survival world from enabling cheat commands.

When should I use force-gamemode?

With force-gamemode=false, the saved world’s mode can remain in effect when it differs from the configured value. Set force-gamemode=true when every joining player must be placed in the mode named by gamemode, such as a dedicated creative build server. It is usually better left false for a survival group so an existing world’s setting is not unexpectedly overridden.

What are the consequences of enabling cheats?

allow-cheats=true enables cheat commands. Agree on that change with the group first: enabling cheats can alter the survival character of the world and may affect achievements or other progression expectations. Keep it false for a conventional shared survival save.

How do I choose and move the active world?

Set level-name to the exact name of the world folder beneath the server’s worlds/ directory, including capitalization. For example, if the folder is WeekendRealm, use level-name=WeekendRealm. A spelling or case mismatch causes the server to select or create a different world instead of loading the intended one.

How do I copy an existing Bedrock world?

  1. Stop the server cleanly with the stop console command.
  2. Make a backup of the current world folder.
  3. Copy the Bedrock world folder into the server’s worlds/ directory.
  4. Set level-name to that folder’s exact name.
  5. Start the server and confirm the expected spawn, builds, and player inventories before inviting everyone.

World data is operationally separate from server.properties. A correct property file cannot repair a missing or damaged world folder, which is why a backup should precede major moves or upgrades.

Where do behavior and resource packs go?

Shared behavior packs and resource packs belong in the top-level behavior_packs and resource_packs directories when they should be available to multiple worlds. texturepack-required=true forces clients to use the world’s required texture packs; leave it false when friends should be able to decline optional packs.

How does level-seed work?

level-seed supplies the seed only when a new world is generated. Leave it empty for a random seed. Changing the value after a world already exists does not regenerate that established world; create or select a new world if you want the new seed to take effect.

How do I install and start Bedrock Dedicated Server?

Use the official Bedrock Dedicated Server ZIP, extract it into an empty folder, and run the executable from that folder. The launch command differs by operating system.

  1. Download the official ZIP and extract all files into an empty directory.
  2. On Windows, run bedrock_server.
  3. On Ubuntu, run LD_LIBRARY_PATH=. ./bedrock_server from the extracted directory.
  4. Stop the process, edit server.properties, and save the file as plain text.
  5. Configure allowlist.json, firewall rules, and (if needed) router forwarding.
  6. Start the server again and watch the console for a successful listening message.
  7. Connect locally or remotely before distributing the address to the group.

Keep the executable, configuration files, world folders, and pack folders together in the server directory. Back up the world before changing versions, replacing packs, or making broad property changes.

Why does my Bedrock client say “Outdated Client” or “Outdated Server”?

The client and dedicated server must use compatible protocol versions. Compatibility can break across patch releases, not only major version changes, so update both sides to matching supported builds before changing gameplay settings.

What should I do first?

  1. Note the exact client version shown on the player’s title screen.
  2. Check the server build or startup output for its version.
  3. Update the older side, then restart the server and the game client.
  4. Have every player connect again; one unupdated client can still receive the error.
  5. If the server is on a beta build, decide whether all players intentionally want that beta rather than moving a production world to it.

The Mojang protocol portal currently lists protocol release 1.26.70-beta.21, protocol 2238, released 2026-10-20. That is version metadata, not a recommendation to run a beta build for a stable group world. Treat the server’s own release notes and the client version as authoritative for the build you actually install.

Which console commands are essential for a small group?

Use the console for permissions, world rules, and a clean shutdown rather than trying to encode every operational decision in server.properties.

Command Purpose Example
op Grant operator access to a trusted Gamertag. op AlexExample
deop Remove operator access. deop AlexExample
gamerule Change a world rule at runtime. gamerule showcoordinates true
stop Save and shut down the server cleanly. stop

Gamerules are world-level state, not substitutes for the core properties file. Likewise, operator status is separate from default-player-permission-level: the latter sets the starting permission for new players, while op changes an individual account.

Should I enable dedicated-server anti-cheat checks?

Mojang documents dedicated-server anti-cheat as off by default and configurable through server.properties. Server-authoritative movement and block-breaking checks can improve validation against manipulated clients, but stricter checks may feel less forgiving to players with high latency.

For a small friends-only server, decide based on trust and connection quality. If the group wants stronger validation, enable the documented checks gradually and test movement, block placement, and breaking with the highest-latency player present. If legitimate actions are rejected, loosen the checks or address latency before assuming the player is cheating.

How should I maintain the server after it works?

Maintenance is mostly controlled change: back up first, change one variable, and observe the result before making another adjustment.

  • Back up the active world folder before upgrades, pack changes, or edits to performance settings.
  • Keep a dated copy of server.properties and allowlist.json so an accidental edit can be reversed.
  • Record custom ports and firewall rules; forgetting a non-default port is a common cause of remote connection failures.
  • Keep clients and server on compatible releases, including patch versions.
  • Watch load during the busiest session, not only when one person is online.
  • Raise view-distance, tick-distance, or max-players one at a time, and revert the last change if responsiveness worsens.
  • Use stop instead of killing the process so the world can save cleanly.

What is the quickest troubleshooting path?

Identify whether the failure is authentication, allow-listing, reachability, version compatibility, or host capacity. Each category has a different fix.

Friends cannot see or join the server

  • Confirm the process is running and listening on the configured port.
  • Verify the host firewall allows the configured UDP port, not merely the default.
  • Check router forwarding and the public address for Internet play.
  • Confirm online-mode=true players are signing in to Xbox Live.
  • Check that each Gamertag appears in allowlist.json and run allowlist reload after external edits.

A friend is rejected despite being invited

  • Compare the exact authenticated Gamertag with the allow-list entry.
  • Reload the list or restart the server.
  • Make sure the friend is connecting to the right address and port if multiple servers exist.

The server loads the wrong world

  • Stop the server before inspecting files.
  • Compare level-name character-for-character, including case, with the folder under worlds/.
  • Restore the intended folder from backup if it was renamed or overwritten.

Players can connect but the world feels slow

  • Check host resource use during travel and simultaneous joins.
  • Lower view-distance first; keep tick-distance at 4 while testing.
  • Reduce the connection cap if the host is saturated.
  • Separate a single player’s network problem from server-wide simulation lag before changing global settings.

Frequently Asked Questions

Can I run two Bedrock servers on the same computer?

Yes, but each process needs distinct configured ports and matching firewall rules. Disable LAN visibility or account for its default-port binding behavior, and keep each server’s world and configuration directories separate.

Does changing view-distance change what players already explored?

No. It changes the maximum amount of nearby world data the server handles and sends; it does not regenerate terrain or delete explored chunks. Existing world data remains in the selected world folder.

Will an allow-list stop someone who already has operator status?

The allow-list is checked at join time, so an account removed from the list should not be allowed to connect while allow-list=true. Operator status is a separate permission record and should be removed with deop when access is no longer trusted.

Can I change difficulty without creating a new world?

Yes. Change the difficulty property and restart, or use the appropriate in-game administrative control if cheats and permissions allow it. The existing world remains the same save; difficulty changes affect subsequent play rather than replacing the terrain.

Do Bedrock servers need TCP port forwarding too?

The documented game ports are UDP 19132 for IPv4 and UDP 19133 for IPv6. Forward the configured UDP ports; only add other protocols if a separate management tool or network service specifically requires them.