ReferenceConfiguration
server.properties
The main BDS server configuration.
BDS's main configuration file, at the root of your server folder. Plain key=value lines, one per line. Most keys are re-read on every startup; a few are only consulted when a new world is created. Restart the server for changes to take effect.
Sample
Defaults from a fresh Endstone install:
server-name=Endstone Server
gamemode=survival
force-gamemode=false
difficulty=easy
allow-cheats=false
max-players=10
online-mode=true
allow-list=false
server-port=19132
server-portv6=19133
enable-lan-visibility=true
view-distance=32
tick-distance=4
player-idle-timeout=30
max-threads=8
level-name=Bedrock level
level-seed=
default-player-permission-level=member
texturepack-required=falseCommon keys
| Key | Default | Description |
|---|---|---|
server-name | Endstone Server | Server name shown in the in-game server list. No semicolons. |
gamemode | survival | Default gamemode (survival, creative, adventure). Applied to new players only unless force-gamemode=true. |
force-gamemode | false | When true, the server overrides each client's saved gamemode with the value above. |
difficulty | easy | World difficulty (peaceful, easy, normal, hard). |
allow-cheats | false | Enable cheat commands like /give, /tp. |
max-players | 10 | Concurrent player cap. Higher values have a performance impact. |
online-mode | true | Require Xbox Live authentication. Always enforced for non-LAN clients; highly recommended for any server reachable from the Internet. |
allow-list | false | Enforce allowlist.json. When true, only listed players can join. |
server-port | 19132 | UDP port for IPv4 clients. |
server-portv6 | 19133 | UDP port for IPv6 clients. |
enable-lan-visibility | true | Respond to LAN discovery. Binds to the default ports (19132 / 19133) even when server-port / server-portv6 are non-default - turn off if running multiple servers on one host. |
view-distance | 32 | Max chunks rendered around each player. Must be >5. Higher values have a performance impact. |
tick-distance | 4 | Chunks actively ticked around each player. Range [4, 12]. Higher values have a performance impact. |
player-idle-timeout | 30 | Minutes of inactivity before a player is kicked. 0 disables. |
max-threads | 8 | Server worker-thread cap. 0 uses as many as possible. |
level-name | Bedrock level | Folder name under worlds/ for the active world. |
level-seed | (empty) | World generation seed (used at world creation only). Empty means random. |
default-player-permission-level | member | Permission tier for new players (visitor, member, operator). |
texturepack-required | false | Force clients to load the server's resource packs. |
Networking and content
| Key | Default | Description |
|---|---|---|
compression-algorithm | zlib | Network compression algorithm (zlib, snappy). |
compression-threshold | 1 | Smallest raw payload (bytes) that will be compressed. Range [0, 65535]. Used to experiment with CPU/bandwidth tradeoffs. |
content-log-file-enabled | false | Log content errors to a file. |
block-network-ids-are-hashes | true | Send hashed (stable) block network IDs instead of zero-based sequential IDs. |
Server-authoritative play
These keys tighten the server's checks against client-reported state. Stricter settings cost the player more latency tolerance.
| Key | Default | Description |
|---|---|---|
server-authoritative-movement-strict | false | Stricter player-position validation. Higher latency makes block-rider movement feel worse. |
server-authoritative-dismount-strict | false | Stricter dismount position validation. May cause visible corrections under latency. |
server-authoritative-entity-interactions-strict | false | Stricter entity-interaction validation. Affects PvP under latency. |
server-authoritative-block-breaking | false | Server verifies that the client should be able to break a block. Incompatible with client-authoritative movement (auto-disabled in that mode). |
server-authoritative-block-breaking-pick-range-scalar | 1.5 | When server-authoritative block breaking is on, multiplier (squared) applied to default break range. Must be >1.0. |
player-position-acceptance-threshold | 0.5 | Allowed discrepancy between client and server player position. Higher = more lenient. Values above 1.0 increase the chance of missed cheating. |
player-movement-action-direction-threshold | 0.85 | How far a player's attack vector can diverge from their look vector, as cos(x). 1 = must be parallel, 0 = anything in front, -1 = any direction. |
Chat and client behavior
| Key | Default | Description |
|---|---|---|
chat-restriction | None | Chat policy. None = normal chat. Dropped = messages are silently dropped server-side; clients see a notice. Disabled = chat UI is hidden entirely for non-operators. |
disable-player-interaction | false | Tell clients to ignore other players when interacting with the world. Not server-authoritative. |
client-side-chunk-generation-enabled | true | Allow clients to generate visual chunks outside player interaction range. |
server-build-radius-ratio | Disabled | When Disabled, the server dynamically splits chunk-generation work with the client. Set a value in [0.0, 1.0] to fix the server's share. Only valid if client-side-chunk-generation-enabled=true. |
disable-custom-skins | false | Block custom-uploaded skins, allowing only Minecraft store / in-game skin assets. Useful for moderating offensive skins. |
For Microsoft's authoritative reference, see the Bedrock Dedicated Server documentation.