> ## Documentation Index
> Fetch the complete documentation index at: https://docs.purpify.host/llms.txt
> Use this file to discover all available pages before exploring further.

# Minecraft Java server properties

> Edit common Minecraft Java Edition settings in server.properties on a Purpify server.

The `server.properties` file controls gameplay, world generation, access, presentation, and performance for a Minecraft Java Edition server.

## Edit server.properties

<Steps>
  <Step title="Create a backup">
    Create a [backup](/server/backups) before changing several properties or an unfamiliar advanced setting.
  </Step>

  <Step title="Stop the server">
    Stop the server so it does not overwrite the file while you edit it.
  </Step>

  <Step title="Open the file">
    Open the file manager and select `server.properties` in the main server directory.
  </Step>

  <Step title="Change one setting">
    Keep each property in `name=value` format without spaces around `=`.

    ```properties theme={"dark"}
    difficulty=normal
    ```
  </Step>

  <Step title="Save and restart">
    Save the file, start the server, and check the console for an invalid value or configuration error.
  </Step>
</Steps>

<Warning>
  Do not change `server-ip`, `server-port`, query ports, or RCON settings unless Purpify instructs you to. The server must use its assigned network allocation, and RCON traffic is not encrypted.
</Warning>

## Common gameplay properties

| Property              | Accepted value or purpose                                 |
| --------------------- | --------------------------------------------------------- |
| `difficulty`          | `peaceful`, `easy`, `normal`, or `hard`.                  |
| `gamemode`            | `survival`, `creative`, `adventure`, or `spectator`.      |
| `force-gamemode`      | Forces the configured game mode when players join.        |
| `hardcore`            | Enables Hardcore behavior when set to `true`.             |
| `allow-flight`        | Allows Survival flight used by some mods or plugins.      |
| `pvp`                 | Controls whether players can damage each other.           |
| `spawn-protection`    | Size of the protected area around world spawn.            |
| `op-permission-level` | Controls the default command access granted to operators. |

## World and presentation properties

| Property                | Accepted value or purpose                                             |
| ----------------------- | --------------------------------------------------------------------- |
| `level-name`            | Selects the active world folder.                                      |
| `level-seed`            | Sets the seed used when generating a new world.                       |
| `level-type`            | World preset, such as `minecraft:normal` or `minecraft:flat`.         |
| `generate-structures`   | Controls structure generation in new chunks.                          |
| `motd`                  | Message displayed for the server in the multiplayer list.             |
| `resource-pack`         | Direct download URL for a Java resource pack.                         |
| `require-resource-pack` | Disconnects players who decline the server resource pack when `true`. |

## Player and performance properties

| Property                            | Accepted value or purpose                                                                  |
| ----------------------------------- | ------------------------------------------------------------------------------------------ |
| `max-players`                       | Maximum simultaneous players.                                                              |
| `player-idle-timeout`               | Idle minutes before removal; `0` disables the timeout.                                     |
| `white-list`                        | Restricts access to `whitelist.json` when `true`.                                          |
| `enforce-whitelist`                 | Removes players who are no longer listed after a whitelist reload.                         |
| `online-mode`                       | Verifies joining players with Minecraft account services. Keep enabled for public servers. |
| `view-distance`                     | Maximum chunk distance sent to players.                                                    |
| `simulation-distance`               | Chunk distance in which entities and blocks continue updating.                             |
| `entity-broadcast-range-percentage` | Scales the range at which entities are sent to clients.                                    |
| `max-tick-time`                     | Watchdog limit for a server tick, in milliseconds.                                         |

<Note>
  Lower view, simulation, and entity broadcast distances can reduce server load, but they also reduce how far players can see or interact with active entities.
</Note>

<Columns cols={2}>
  <Card title="Add a resource pack" icon="image" href="/java/resource-pack">
    Configure a direct resource-pack download.
  </Card>

  <Card title="Diagnose performance" icon="gauge-high" href="/java/performance">
    Identify server-side, connection, and client lag.
  </Card>
</Columns>
