Minecraft Bedrock server.properties Reference
Complete reference for every server.properties setting on your Minecraft Bedrock Edition dedicated server, including performance tuning and anti-cheat options.
The server.properties file controls every core setting on your Minecraft Bedrock Dedicated Server (BDS). This guide covers every property, what it does, and recommended values for different server types.
Where to Find server.properties
The file sits in the root directory of your server.
How to Edit
Stop your server
Go to Console in the XGamingServer Panel sidebar and click the Stop button. Editing while the server is running will cause your changes to be overwritten.
Open the file
Click Files in the sidebar. You will see server.properties in the root directory. Click it to open the built-in editor.
Edit and save
Change the values you need, then click Save Content at the top of the editor. Start your server from Console.
Many of these settings are also available as Startup variables in the sidebar, which is faster for quick changes like server name, port, or max players.
Full Property Reference
| Property | Default | Valid Values | Description |
|---|---|---|---|
server-name | Dedicated Server | Any text | Name shown in the server browser and friend lists |
server-port | 19132 | 1–65535 | Primary UDP port for IPv4 connections |
server-portv6 | 19133 | 1–65535 | UDP port for IPv6 connections |
max-players | 10 | 1+ | Maximum simultaneous players |
online-mode | true | true / false | Require Xbox Live authentication. Never disable on public servers — it removes all identity verification |
enable-lan-visibility | true | true / false | Respond to LAN discovery broadcasts |
emit-server-telemetry | false | true / false | Send anonymous telemetry data to Mojang |
| Property | Default | Valid Values | Description |
|---|---|---|---|
level-name | Bedrock level | Any text | Name of the world folder inside worlds/. Changing this loads a different world |
level-seed | (blank) | Any text or number | Seed for world generation. Only applies when creating a new world — changing it on an existing world has no effect on already-generated chunks |
level-type | DEFAULT | DEFAULT, FLAT | World type. FLAT generates a superflat world |
gamemode | survival | survival, creative, adventure | Default game mode for new players |
force-gamemode | false | true / false | Force all players back to the default game mode every time they log in |
difficulty | easy | peaceful, easy, normal, hard | Server difficulty |
allow-cheats | false | true / false | Allow commands like /give, /tp, /gamemode. Disables achievements for the world |
| Property | Default | Valid Values | Description |
|---|---|---|---|
default-player-permission-level | member | visitor, member, operator | Permission level assigned to players not listed in permissions.json |
player-idle-timeout | 30 | 0+ (0 = disabled) | Minutes before idle players are kicked |
allow-list | false | true / false | Restrict the server to players listed in allowlist.json. See the whitelist guide |
texturepack-required | false | true / false | Force players to accept the server resource pack before joining |
disable-custom-skins | false | true / false | Block custom player skins |
disable-player-interaction | false | true / false | Disable all player-to-player interaction |
chat-restriction | None | None, Dropped, Disabled | Dropped silently discards chat; Disabled prevents sending entirely |
| Property | Default | Recommended | Description |
|---|---|---|---|
view-distance | 32 | 10–16 | Maximum view distance in chunks. Biggest performance knob — lowering from 32 to 12 dramatically reduces RAM and CPU usage |
tick-distance | 4 | 4–8 | Simulation distance in chunks. Controls how far from players mobs are active and redstone fires. Range: 4–12 |
max-threads | 8 | Match CPU cores | Maximum worker threads. Set to 0 for automatic detection |
compression-threshold | 1 | 1–256 | Minimum packet size (bytes) before network compression kicks in. Higher values reduce CPU at the cost of bandwidth |
compression-algorithm | zlib | zlib, snappy | snappy is faster but uses slightly more bandwidth. Good for LAN or low-latency connections |
client-side-chunk-generation-enabled | true | true | Lets clients pre-generate visual-only chunks. Reduces server load |
server-build-radius-ratio | Disabled | Disabled or 0.0–1.0 | Ratio of server-generated vs client-generated visual chunks. Disabled = server handles all building |
Performance Tips
- Start with
view-distance=12and increase if players want more render distance and your server handles it tick-distance=4is fine for most survival servers. Increase to 6–8 for redstone-heavy buildscompression-algorithm=snappyreduces CPU overhead on servers with good network connections
BDS has built-in server-authoritative movement validation. These settings control how strictly the server checks player positions.
| Property | Default | Description |
|---|---|---|
server-authoritative-movement | server-auth | client-auth = trust the client (no protection). server-auth = server validates positions. server-auth-with-rewind = server validates and rewinds invalid moves |
correct-player-movement | false | When true, the server corrects invalid player positions instead of just flagging them |
player-movement-score-threshold | 20 | Number of anomalous movements before action is taken |
player-movement-distance-threshold | 0.3 | Maximum position discrepancy (blocks) before a movement is flagged |
player-movement-action-direction-threshold | 0.85 | How closely the attack direction must match the look direction (0–1) |
server-authoritative-block-breaking | false | Server validates block breaking range and speed |
Recommended Anti-Cheat Settings
For public servers, use these stricter values:
server-authoritative-movement=server-auth-with-rewind
correct-player-movement=true
player-movement-score-threshold=10
server-authoritative-block-breaking=true
server-auth-with-rewindprovides the best protection but may cause rubber-banding on high-latency connections. If players complain about teleporting back, tryserver-authinstead.
These settings are for servers running Script API behavior packs (JavaScript/TypeScript addons).
| Property | Default | Description |
|---|---|---|
content-log-file-enabled | false | Write addon error logs to a file. Enable this when troubleshooting behavior packs |
allow-inbound-script-debugging | false | Accept VS Code debugger connections |
allow-outbound-script-debugging | false | Connect to a remote debugger |
force-inbound-debug-port | 19144 | Port for debugger connections |
script-watchdog-enable | true | Monitor scripts for hangs and memory leaks |
script-watchdog-hang-threshold | 10000 | Milliseconds before a script is considered hung |
script-watchdog-memory-limit | 250 | MB before the server shuts down a script |
script-watchdog-enable-shutdown | true | Shut down the server if a script exceeds memory limits |
Most servers don't need to touch these settings. Only modify them if you're developing or running Script API behavior packs.
Quick-Reference: Common Scenarios
| I want to... | Property | Value |
|---|---|---|
| Make a creative server | gamemode=creative | + force-gamemode=true |
| Create a private server | allow-list=true | Then add players via allowlist |
| Reduce lag | view-distance=10 | + tick-distance=4 |
| Force my texture pack | texturepack-required=true | |
| Disable PvP | Use /gamerule pvp false | (not a server.properties option) |
| Allow cheats for admins only | allow-cheats=true | Then OP specific players |
Related Guides
How is this guide?
How to Reset the Nether on Your Minecraft Bedrock Server
Understand why Bedrock Edition can't simply delete the Nether folder like Java, and learn the two methods to reset Nether terrain.
How to Change Difficulty on Your Minecraft Bedrock Server
Switch between Peaceful, Easy, Normal, and Hard on your Bedrock dedicated server and understand what each difficulty level changes.