server.properties Generator
Load, edit and download your server.properties with every setting explained.
Minecraft version
Start from
Load my existing server.properties
Moved to game rules in 26.x
These used to be server.properties settings. In 26.x set them in game with a command (they save with the world):
pvp→/gamerule pvp false— turn PvP offspawn-monsters→/gamerule spawn_monsters false— stop hostile mobs spawningspawn-animals→/gamerule spawn_mobs false— stop natural mob spawningallow-nether→/gamerule allow_entering_nether_using_portals false— block Nether portalsenable-command-block→/gamerule command_blocks_work true— let command blocks runspawn-npcs→(no replacement)— villager spawning has no setting any more; /gamerule spawn_wandering_traders false stops wandering traders
Basics
MOTD
motd
The message shown under your server name. Colours need \u00a7 escapes: use the MOTD generator. Default: A Minecraft Server
Server port
server-port
The TCP port players connect to. Leave 25565 unless you run several servers. Default: 25565
Server IP (bind address)
server-ip
Leave blank to listen on all addresses. Set 127.0.0.1 when a proxy on the same machine is the only way in. Default: (blank)
Max players
max-players
How many players can be online at once. Default: 20
Server name
server-name
Internal name of the server (26.x). Default: Unknown Server
Gameplay
Difficulty
difficulty
Peaceful removes hostile mobs; hard is stronger mobs and lethal hunger. Hardcore forces hard. Default: easy
Default game mode
gamemode
The mode new players start in. Default: survival
Force game mode
force-gamemode
Reset players to the default mode every time they join. Default: false
Hardcore
hardcore
Difficulty is forced to hard and players who die are put in spectator mode. Default: false
Allow flight
allow-flight
Stop the server kicking players for flying. Turn on if you use fly mods or plugins. Default: false
Idle kick (minutes)
player-idle-timeout
Kick players who haven't moved. 0 disables. Default: 0
World
World folder
level-name
Name of the world folder. Default: world
World seed
level-seed
Leave blank for a random world. Only applies when the world is first created. Default: (blank)
World type
level-type
Only applies when the world is first created. Default: minecraft:normal
Generator settings
generator-settings
JSON customisation for the world generator (used with flat worlds). Leave {} normally. Default: {}
Generate structures
generate-structures
Villages, strongholds and other structures generate in new chunks. Default: true
Spawn protection
spawn-protection
Only operators can build within this radius of spawn (the protected square is 2×value+1 blocks wide). 0 disables it. Default: 16
Max world size (radius)
max-world-size
Limits how far from the centre the world border can go. Default: 29999984
Enabled data packs
initial-enabled-packs
Comma-separated data packs enabled when the world is created. Keep vanilla in the list. Default: vanilla
Disabled data packs
initial-disabled-packs
Comma-separated data packs that are not enabled automatically. Default: (blank)
Performance
View distance
view-distance
Chunks sent to each player. Lower is easier on the server (6–8 for small hosts). Default: 10
Simulation distance
simulation-distance
How far around players mobs and crops are processed. Lowering this saves a lot of CPU. Default: 10
Entity range %
entity-broadcast-range-percentage
How far away entities are sent to players. Lower reduces network load. Default: 100
Compression threshold
network-compression-threshold
Packets bigger than this are compressed. -1 disables compression (only sensible behind a local proxy). Default: 256
Max tick time (ms)
max-tick-time
The watchdog stops the server if one tick takes longer. -1 disables it. Default: 60000
Sync chunk writes
sync-chunk-writes
Write chunks to disk synchronously. Safer; turn off only on fast storage if you accept the risk. Default: true
Pause when empty (s)
pause-when-empty-seconds
Pause the game after this many seconds with no players. -1 never pauses. Paper/Purpur default to -1. Default: 60
Chained block updates
max-chained-neighbor-updates
Limit on consecutive neighbour block updates (stops redstone/lag machines freezing the server). Negative removes the limit. Default: 1000000
Chunk compression
region-file-compression
How region files are compressed on disk. lz4 is faster with larger files; none is fastest and largest. Default: deflate
Native transport
use-native-transport
Use Linux epoll networking for lower overhead. Leave on. Default: true
Network & security
Online mode
online-mode
Check players against Mojang's account servers. Turn off only behind a correctly secured proxy (Velocity/BungeeCord); off lets anyone join under any name. Default: true
Whitelist
white-list
Only players on the whitelist can join. New 26.x servers have this on by default. Default: true
Enforce whitelist
enforce-whitelist
Kick players already online who aren't on the whitelist when it reloads. Default: false
Require signed profile
enforce-secure-profile
Players must have a Mojang-signed public key (secure chat). Often turned off behind proxies. Default: true
Block proxy connections
prevent-proxy-connections
Kick players whose ISP/network differs from the one Mojang's auth server sees. Default: false
Packet rate limit
rate-limit
Kick players who send more than this many packets per second. 0 disables. Default: 0
Operator permission level
op-permission-level
Power of operators: 1 bypass spawn protection, 2 most commands, 3 manage players, 4 everything. Default: 4
Function permission level
function-permission-level
Permission level data pack functions run with. Default: 2
Show in server list
enable-status
Respond to status pings. Off makes the server look offline in the multiplayer list. Default: true
Hide player list
hide-online-players
Hide online player names in the server list hover. Default: false
Log IP addresses
log-ips
Write player IPs to the console and log. Default: true
Chat spam threshold (s)
chat-spam-threshold-seconds
Auto-kick threshold for chat spam (26.x). Default: 10
Command spam threshold (s)
command-spam-threshold-seconds
Auto-kick threshold for command spam (26.x). Default: 10
Accept transfers
accepts-transfers
Allow other servers to transfer players here. Default: false
Resource pack
Resource pack URL
resource-pack
Direct download link to a resource pack players are offered. Default: (blank)
Resource pack SHA-1
resource-pack-sha1
SHA-1 hash of the pack, so clients can verify and cache it. Default: (blank)
Resource pack ID
resource-pack-id
A UUID that identifies the pack (26.x). Default: (blank)
Resource pack prompt
resource-pack-prompt
Message shown with the pack prompt, as a JSON text component. Default: (blank)
Require resource pack
require-resource-pack
Kick players who decline the resource pack. Default: false
Advanced
Query protocol
enable-query
Enable GameSpy4 queries (some stat sites use it). Default: false
Query port
query.port
UDP port for the query protocol. Default: 25565
RCON
enable-rcon
Remote console access. Only enable with a strong password and a firewall. Default: false
RCON port
rcon.port
TCP port for RCON. Default: 25575
RCON password
rcon.password
Required if RCON is on. Use a long random one. Default: (blank)
Console output to ops
broadcast-console-to-ops
Send console command output to online operators. Default: true
RCON output to ops
broadcast-rcon-to-ops
Send RCON command output to online operators. Default: true
JMX monitoring
enable-jmx-monitoring
Expose server performance metrics over JMX. Default: false
Bug report link
bug-report-link
A URL players are shown for reporting server problems (26.x). Default: (blank)
Code of conduct
enable-code-of-conduct
Show the code-of-conduct files in the config/codeofconduct folder to joining players (26.x). Default: false
Debug logging
debug
Extra debug output in the console (26.x). Default: false
Management server
management-server-enabled
Turn on the Server Management Protocol (a JSON-RPC API for admin tools). Leave off unless you use one. Default: false
Management host
management-server-host
Address the management protocol listens on. Default: localhost
Management port
management-server-port
Port for the management protocol (0 picks automatically). Default: 0
Management secret
management-server-secret
Authorisation secret (40 characters). Leave blank and the server generates one on first start. Default: (blank)
Management TLS
management-server-tls-enabled
Encrypt the management protocol. Default: true
Management keystore
management-server-tls-keystore
Path to the TLS keystore file. Default: (blank)
Keystore password
management-server-tls-keystore-password
Password for the TLS keystore. Default: (blank)
Management allowed origins
management-server-allowed-origins
Comma-separated web origins allowed to connect (CORS). Default: (blank)
Status heartbeat (s)
status-heartbeat-interval
How often the management protocol sends a status heartbeat. 0 disables. Default: 0
Text filtering config
text-filtering-config
Internal chat-filtering setting (used by Realms). Leave blank. Default: (blank)
Text filtering version
text-filtering-version
Internal. Leave 0. Default: 0
About server.properties
server.properties holds the core settings of a Java Edition server: port, player limit, difficulty, world options and performance tuning. Edit it with the server stopped, because the server rewrites it when it shuts down.
Paste your existing file under Load my existing server.properties and the tool keeps your values (and any custom lines) while you change what you need. The generator has two layouts: Java 26.x (current, where PvP, Nether, mob spawning and command blocks moved to game rules) and Java 1.21.x and older. Defaults were checked against a freshly generated 26.3 file. Paper, Purpur and other forks add their own options in separate config files such as bukkit.yml and paper-global.yml.
Frequently asked questions
- Where is the server.properties file?
- In the same folder as your server jar. It is created the first time the server starts. Stop the server before editing it, because the server rewrites the file when it shuts down.
- Why are pvp, allow-nether and spawn-monsters missing in newer versions?
- Starting with Java 26.x, Mojang moved those settings out of server.properties into game rules. Use /gamerule commands in game instead, for example /gamerule pvp false. The generator lists the replacement for each one.
- What view distance should I use?
- Ten is the vanilla default. Small servers on 1–2 GB of RAM usually run better at 6–8, and lowering simulation distance saves the most CPU. Players can still choose a lower view distance in their own settings.
- Is it safe to turn online-mode off?
- Only if the server sits behind a proxy such as Velocity or BungeeCord that is the only way in, and player forwarding is set up. With online-mode off on a public server, anyone can join using any username, including an operator's.
- Do I need to restart after changing server.properties?
- Yes. Most settings are read when the server starts, so save the file and restart. The whitelist can be reloaded in game with /whitelist reload.
Run a Minecraft server?
List it free on MCServerShare: live player counts, an animated banner, votes, reviews and a weekly Premium raffle.
List your server