# Minecraft Bedrock server.properties Reference (/docs/minecraft-bedrock/server-properties)



import { Tab, Tabs } from 'fumadocs-ui/components/tabs';
import { Step, Steps } from 'fumadocs-ui/components/steps';
import { Files, Folder, File } from 'fumadocs-ui/components/files';

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 [#where-to-find-serverproperties]

<Files>
  <File name="bedrock_server" />

  <File name="server.properties" />

  <File name="permissions.json" />

  <File name="allowlist.json" />

  <Folder name="worlds" defaultOpen>
    <Folder name="Bedrock level">
      <File name="level.dat" />

      <Folder name="db" />
    </Folder>
  </Folder>
</Files>

The file sits in the **root directory** of your server.

How to Edit [#how-to-edit]

<Steps>
  <Step>
    Stop your server [#stop-your-server]

    Go to **Console** in the [XGamingServer Panel](https://panel.xgamingserver.com) sidebar and click the **Stop** button. Editing while the server is running will cause your changes to be overwritten.

    {/* Screenshot needed: Console page with Stop button highlighted */}
  </Step>

  <Step>
    Open the file [#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.

    {/* Screenshot needed: File Manager showing server.properties in root */}
  </Step>

  <Step>
    Edit and save [#edit-and-save]

    Change the values you need, then click **Save Content** at the top of the editor. Start your server from **Console**.
  </Step>
</Steps>

> 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.

{/* Screenshot needed: Startup tab showing Bedrock variables */}

Full Property Reference [#full-property-reference]

<Tabs items={['Server Identity', 'World & Gameplay', 'Player Settings', 'Performance', 'Anti-Cheat', 'Scripting & Debug']}>
  <Tab value="Server Identity">
    | 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                                                                      |
  </Tab>

  <Tab value="World & Gameplay">
    | 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                                                           |
  </Tab>

  <Tab value="Player Settings">
    | 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](/docs/minecraft-bedrock/whitelist) |
    | `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                                                  |
  </Tab>

  <Tab value="Performance">
    | 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 [#performance-tips]

    * **Start with `view-distance=12`** and increase if players want more render distance and your server handles it
    * **`tick-distance=4`** is fine for most survival servers. Increase to 6–8 for redstone-heavy builds
    * **`compression-algorithm=snappy`** reduces CPU overhead on servers with good network connections
  </Tab>

  <Tab value="Anti-Cheat">
    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 [#recommended-anti-cheat-settings]

    For public servers, use these stricter values:

    ```properties
    server-authoritative-movement=server-auth-with-rewind
    correct-player-movement=true
    player-movement-score-threshold=10
    server-authoritative-block-breaking=true
    ```

    > `server-auth-with-rewind` provides the best protection but may cause rubber-banding on high-latency connections. If players complain about teleporting back, try `server-auth` instead.
  </Tab>

  <Tab value="Scripting & Debug">
    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.
  </Tab>
</Tabs>

Quick-Reference: Common Scenarios [#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](/docs/minecraft-bedrock/whitelist) |
| 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](/docs/minecraft-bedrock/op-setup)        |

Related Guides [#related-guides]

* [Give OP Permissions](/docs/minecraft-bedrock/op-setup)
* [Whitelist Players](/docs/minecraft-bedrock/whitelist)
* [Game Rules Reference](/docs/minecraft-bedrock/game-rules)
* [Enable Cheats](/docs/minecraft-bedrock/cheats-setup)
