How to Configure Your Minecraft Server
Complete server.properties reference for Minecraft Java Edition. All 50+ settings with defaults, valid values, and descriptions.
The server.properties file is the main configuration file for your Minecraft Java server. It controls gameplay, networking, security, performance, and more. This guide covers every available setting.
Changing Server Settings
Stop your server
Go to the XGamingServer panel and stop your Minecraft server.
Open server.properties
Go to Files and open server.properties.
Edit and save
Change the settings you want, then click Save.
Start your server
Start your server to apply the changes.
⚠️ Warning: Always stop your server before editing
server.properties. Changes made while the server is running will be overwritten when the server saves on shutdown.
Gameplay Settings
| Setting | Default | Values | Description |
|---|---|---|---|
gamemode | survival | survival, creative, adventure, spectator | Default game mode for new players |
force-gamemode | false | true / false | Force players back to default game mode each time they join |
difficulty | easy | peaceful, easy, normal, hard | Server difficulty. Guide |
hardcore | false | true / false | Permanent death — players switch to spectator on death. Guide |
pvp | true | true / false | Player vs player combat. Guide |
allow-flight | false | true / false | Allow flight in Survival mode. Prevents the anti-fly kick. Guide |
spawn-monsters | true | true / false | Hostile mob spawning. Guide |
spawn-protection | 16 | 0–unlimited | Radius in blocks around spawn where non-ops can't build. 0 disables. Guide |
player-idle-timeout | 0 | Minutes (0 = disabled) | Kick players after this many minutes of inactivity. Guide |
enable-command-block | false | true / false | Enable command blocks. Guide |
max-players | 20 | 0–2147483647 | Maximum concurrent players. Guide |
World Settings
| Setting | Default | Values | Description |
|---|---|---|---|
level-name | world | Any string | Name of the world folder |
level-seed | (blank) | Any value | World generation seed. Guide |
level-type | minecraft\:normal | See below | World generation type |
generate-structures | true | true / false | Generate villages, temples, strongholds, etc. |
generator-settings | {} | JSON string | Customize generation for flat/single-biome worlds |
max-world-size | 29999984 | 1–29999984 | World border radius in blocks from center |
initial-enabled-packs | vanilla | Comma-separated | Data packs enabled on world creation |
initial-disabled-packs | (blank) | Comma-separated | Data packs excluded from auto-enabling |
level-type Values
Since Minecraft 1.19+, level-type uses namespaced values. The colon must be escaped with a backslash in server.properties:
| Value | Description |
|---|---|
minecraft\:normal | Standard world generation (default) |
minecraft\:flat | Superflat world |
minecraft\:large_biomes | Biomes are 4x larger than normal |
minecraft\:amplified | Extreme terrain heights up to Y=256. Resource-intensive |
minecraft\:single_biome_surface | Single-biome world (set biome via generator-settings) |
⚠️ Warning: Using the old un-namespaced values like
flatoramplifiedmay not work on 1.19+ servers. Always use theminecraft\:prefix.
Server Display
| Setting | Default | Values | Description |
|---|---|---|---|
motd | A Minecraft Server | Any string | Message shown in the server list. Supports color codes with \u00A7. Guide |
enable-status | true | true / false | Show server as "online" in the server list |
hide-online-players | false | true / false | Hide the player list from server status requests |
bug-report-link | (blank) | URL | Custom bug report link shown to players |
Network Settings
| Setting | Default | Values | Description |
|---|---|---|---|
server-ip | (blank) | IP address | IP the server binds to. Leave blank for all interfaces |
server-port | 25565 | 1–65534 | TCP port the server listens on |
network-compression-threshold | 256 | Integer (-1 = disabled) | Minimum packet size in bytes before compression |
use-native-transport | true | true / false | Use optimized Linux networking (epoll). Leave true |
rate-limit | 0 | Integer (0 = disabled) | Max packets per second from a client before kick |
prevent-proxy-connections | false | true / false | Kick players if their ISP doesn't match Mojang's auth server |
accepts-transfers | false | true / false | Accept incoming player transfers (1.20.5+) |
Performance Settings
These settings have the biggest impact on server performance. See the Performance Guide for recommended values.
| Setting | Default | Values | Description |
|---|---|---|---|
view-distance | 10 | 3–32 chunks | How far the server sends world data to clients. Guide |
simulation-distance | 10 | 3–32 chunks | How far from players entities and blocks are ticked |
sync-chunk-writes | true | true / false | Synchronous chunk writes. Set to false for better performance |
entity-broadcast-range-percentage | 100 | 10–1000 | Percentage of default entity tracking distance |
max-chained-neighbor-updates | 1000000 | Integer (negative = disabled) | Limit consecutive neighbor block updates |
max-tick-time | 60000 | -1 or 0+ (ms) | Max ms a tick can take before the watchdog kills the server. -1 disables |
region-file-compression | deflate | deflate, lz4, none | Chunk file compression algorithm |
pause-when-empty-seconds | 60 | Integer (-1 = disabled) | Seconds with no players before the server pauses ticking (1.21.2+) |
💡 Tip: The three most impactful performance settings are
view-distance,simulation-distance, andsync-chunk-writes. Lowering view and simulation distance reduces loaded chunks dramatically. Settingsync-chunk-writes=falseprevents I/O bottlenecks.
Security Settings
| Setting | Default | Values | Description |
|---|---|---|---|
online-mode | true | true / false | Verify players against Mojang. Never disable unless using a proxy |
white-list | false | true / false | Enable the whitelist. Guide |
enforce-whitelist | false | true / false | Kick non-whitelisted players immediately when whitelist reloads |
enforce-secure-profile | true | true / false | Require Mojang-signed player profiles. Disable for offline-mode or some proxies |
log-ips | true | true / false | Log player IP addresses to console |
op-permission-level | 4 | 0–4 | Default permission level for operators |
function-permission-level | 2 | 1–4 | Permission level for data pack functions |
Operator Permission Levels
| Level | Permissions |
|---|---|
| 1 | Bypass spawn protection |
| 2 | Use /clear, /difficulty, /effect, /gamemode, /gamerule, /give, /summon, /tp, and edit command blocks |
| 3 | Use /ban, /deop, /kick, /op, /whitelist |
| 4 | Use /stop, /reload, and all commands |
Query and RCON
| Setting | Default | Values | Description |
|---|---|---|---|
enable-query | false | true / false | Enable GameSpy4 query protocol |
query.port | 25565 | 1–65534 | UDP port for query |
enable-rcon | false | true / false | Enable RCON remote console. Guide |
rcon.port | 25575 | 1–65534 | TCP port for RCON |
rcon.password | (blank) | Any string | RCON password |
broadcast-rcon-to-ops | true | true / false | Send RCON output to online operators |
broadcast-console-to-ops | true | true / false | Send console output to online operators |
Resource Pack
| Setting | Default | Values | Description |
|---|---|---|---|
resource-pack | (blank) | URL | Download URL for the server resource pack |
resource-pack-id | (blank) | UUID | Unique identifier for the resource pack |
resource-pack-sha1 | (blank) | 40-char hex | SHA-1 hash for verification |
resource-pack-prompt | (blank) | JSON chat component | Custom message on the resource pack prompt |
require-resource-pack | false | true / false | Disconnect players who decline the pack |
All Settings Quick Reference
The complete alphabetical list of all server.properties settings:
accepts-transfers=false
allow-flight=false
broadcast-console-to-ops=true
broadcast-rcon-to-ops=true
bug-report-link=
difficulty=easy
enable-command-block=false
enable-jmx-monitoring=false
enable-query=false
enable-rcon=false
enable-status=true
enforce-secure-profile=true
enforce-whitelist=false
entity-broadcast-range-percentage=100
force-gamemode=false
function-permission-level=2
gamemode=survival
generate-structures=true
generator-settings={}
hardcore=false
hide-online-players=false
initial-disabled-packs=
initial-enabled-packs=vanilla
level-name=world
level-seed=
level-type=minecraft\:normal
log-ips=true
max-chained-neighbor-updates=1000000
max-players=20
max-tick-time=60000
max-world-size=29999984
motd=A Minecraft Server
network-compression-threshold=256
online-mode=true
op-permission-level=4
pause-when-empty-seconds=60
player-idle-timeout=0
prevent-proxy-connections=false
pvp=true
query.port=25565
rate-limit=0
rcon.password=
rcon.port=25575
region-file-compression=deflate
require-resource-pack=false
resource-pack=
resource-pack-id=
resource-pack-prompt=
resource-pack-sha1=
server-ip=
server-port=25565
simulation-distance=10
spawn-monsters=true
spawn-protection=16
sync-chunk-writes=true
use-native-transport=true
view-distance=10
white-list=falseRelated Guides
See also: Performance Guide | Change Difficulty | Change View Distance | Adding a Whitelist | RCON
If you need help, join our Discord.
How is this guide?
