9Minecraft — Java and Bedrock tools

Minecraft Server.properties Generator

Configure your Minecraft server.properties file in one place, with every setting explained inline. Pick your game mode, difficulty, world type, view distance, MOTD, RCON port, query settings, and every other property, then download the finished file ready to drop into your server folder. Includes the newer settings like initial-enabled-packs, sync-chunk-writes, and resource-pack-prompt. Works for Vanilla, Spigot, Paper, BungeeCord, Velocity, and any Java Edition server software that reads server.properties.

Import existing file

Already have a server.properties you want to modify? Import it to pre-fill all fields below.

General game properties

allow-flight

Allows players to fly on the server when using a mod or plugin that supports flight. Has no effect in Creative mode. Without a flight-enabling mod, flying players will be kicked if this is disabled.

difficulty

Controls the overall difficulty level of the server. Peaceful removes hostile mobs and regenerates health. Easy, Normal, and Hard progressively increase enemy danger and damage.

force-gamemode

When enabled, all players are placed into the server's default game mode each time they join, overriding any game mode they had previously.

gamemode

The game mode assigned to new players when they first join the server. Existing players retain their current game mode unless force-gamemode is also enabled.

hardcore

Enables Hardcore mode on the server. When a player dies, they are permanently switched to Spectator mode and can no longer interact with the world.

player-idle-timeout

The number of minutes a player can remain idle before being automatically kicked from the server. Set to 0 to disable the idle timeout entirely.

view-distance

How many chunks around each player the server loads and sends. The client cannot render further than this value.

World properties

entity-broadcast-range-percentage

Controls what percentage of the view distance at which entities are tracked and sent to clients. Higher values render entities from farther away but increase bandwidth and server CPU load.

max-world-size

The maximum radius, in blocks, that the world border can ever be set to. The border itself must still be moved with /worldborder — this value is only a hard cap.

simulation-distance

How far from each player the server ticks entities and simulates game mechanics, measured in chunks.

spawn-protection

The radius of the spawn protection zone. The protected area is a square centered on the world spawn point with a side length of 2x+1 blocks.

World generation

generate-structures

Controls whether the world generator creates naturally occurring structures such as villages, temples, strongholds, ocean monuments, and woodland mansions.

generator-settings

A JSON object used to customize world generation parameters. Primarily used with flat and single-biome world presets. Refer to the Minecraft wiki for the expected format.

level-name

Sets both the display name of the world and the name of the folder where world data is saved. Changing this after world creation causes the server to load or generate a different world.

level-seed

The seed used to generate the world. Leave empty to use a random seed. Must be set before the world is first created — changing it afterwards has no effect on an existing world.

level-type

Selects the world preset used during world generation.

The colon (:) must be escaped with a backslash (\) when using a namespaced preset ID. The minecraft: namespace prefix can be omitted for vanilla presets.

Whitelist

enforce-whitelist

When enabled, any online players not present in the whitelist are kicked immediately after the whitelist is reloaded with /whitelist reload.

white-list

Restricts server access to only players listed in the whitelist.json file. Players not on the whitelist will be unable to join.

Operator (OP)

broadcast-console-to-ops

When enabled, server console output is forwarded in-game to all online players with operator status.

broadcast-rcon-to-ops

When enabled, commands executed via RCON are broadcast in-game to all online operators so they can see remote activity.

function-permission-level

Sets the default permission level for functions run via data packs. Refer to op-permission-level for a breakdown of what each of the four levels grants.

op-permission-level

Defines the permission level granted to players when opped with /op. Each level inherits all permissions from levels below it.

Connection properties

accepts-transfers

Determines whether this server accepts players transferred from another server via the transfer packet introduced in Java Edition 1.20.5.

bug-report-link
enable-code-of-conduct

When enabled, the server serves language-specific code of conduct files from the codeofconduct/ subfolder in the server directory.

enable-status

Makes the server appear as online in the Minecraft server list.

When disabled, the server stops responding to ping requests and appears offline to clients, but still accepts direct connections.

enforce-secure-profile

Requires players to have a Mojang-signed public key. When enabled, clients that do not support signed chat messages will be unable to connect.

hide-online-players

When enabled, the player list is omitted from server status responses. The server still reports the player count, but individual names are not disclosed.

log-ips

Controls whether player IP addresses are written to the server log when they connect. Disable for privacy compliance or to reduce log verbosity.

max-players

The maximum number of players who can be connected at the same time. Operators can join even when this limit is reached.

motd

The message displayed below the server name in the Minecraft multiplayer server list. Supports color and formatting codes using the § character.

online-mode

When enabled, the server authenticates players against Mojang's servers, ensuring only valid Minecraft accounts can join. Disable only for private LAN or offline servers.

prevent-proxy-connections

Kicks players whose connection routes through a different ISP or AS than the one used during Mojang authentication, blocking most VPN and proxy usage.

server-ip

The IP address the server binds to. Leave empty to bind to all available network interfaces. Useful on machines with multiple network adapters.

server-port

The TCP port the server listens on for incoming player connections. The default is 25565. Make sure this port is open in your firewall and router.

Query

enable-query

Enables the GameSpy4 query protocol, which allows external tools and server listing sites to retrieve information about the server over UDP.

query.port

The UDP port on which query information is served.

Unless you have a specific reason, this should always match server-port.

RCON

enable-rcon

Enables the RCON protocol, allowing remote execution of server console commands over TCP. Secure with a strong password and restrict the port from public access.

rcon.password

The password required to authenticate with the RCON server. Use a strong, unique password — RCON grants full console access to whoever connects.

rcon.port

The TCP port the RCON server listens on. Ensure this port is firewalled from public access to prevent unauthorized control of the server.

Resource pack

require-resource-pack

Forces players to accept and download the server resource pack before joining. Players who decline the prompt will be disconnected.

resource-pack

A direct URL to a hosted resource pack .zip file. Players are prompted to download it when joining. Leave empty to disable.

resource-pack-id

A UUID that uniquely identifies the resource pack set by resource-pack. Clients use this to cache the pack and avoid re-downloading it when the URL has not changed.

resource-pack-prompt

A custom message shown to players in the resource pack acceptance dialog. Uses raw JSON text component syntax and supports multiple lines. Only displayed when require-resource-pack is enabled.

resource-pack-sha1

The SHA-1 hash of the resource pack file, in lowercase hexadecimal. Strongly recommended — used by the client to verify the download and skip re-downloading an unchanged pack.

Datapacks

initial-disabled-packs

A comma-separated list of datapack names that should not be automatically enabled when a new world is created.

initial-enabled-packs

A comma-separated list of datapacks to enable at world creation. Always includes vanilla. Experimental feature packs must be listed here explicitly to be activated.

Text filtering

text-filtering-config

Path or URL to an external text filtering service configuration. When set, chat messages and written book content are passed through the service for moderation.

text-filtering-version

Specifies the configuration format version expected by the text filtering service defined in text-filtering-config.

Minecraft Server Management Protocol

management-server-allowed-origins

A comma-separated list of HTTP Origin header values permitted to make requests to the management server. Leave empty to block all clients.

management-server-enabled

Enables the Minecraft Server Management Protocol (MSMP), which exposes a REST-like HTTP API for managing and monitoring the server programmatically.

management-server-host

The hostname or IP address the management server binds to. Defaults to localhost to prevent external access.

management-server-port

The port the management server listens on. Set to 0 to let the operating system assign an available port automatically.

management-server-secret

A bearer token used to authenticate management server requests via the Authorization HTTP header. Auto-generated if left empty.

management-server-tls-enabled

When enabled, the management server encrypts all connections using TLS. A keystore file must be provided via management-server-tls-keystore.

management-server-tls-keystore

File path to the Java keystore (.jks or .p12) containing the TLS certificate and private key. The server will refuse to start if TLS is enabled but this is not set.

management-server-tls-keystore-password

The password used to unlock the TLS keystore file. Can also be supplied via an environment variable or JVM argument to avoid storing it in plain text.

status-heartbeat-interval

How often, in milliseconds, the management server sends a heartbeat notification to connected clients. Set to 0 to disable heartbeats entirely.

Advanced properties

debug

An internal debug flag whose exact effect is undocumented. Even Mojang's own wiki doesn't explain what it does — use with caution.

enable-jmx-monitoring

Exposes server metrics and management operations via Java Management Extensions, allowing external tools to monitor and interact with the JVM.

max-chained-neighbor-updates

Caps the number of consecutive block neighbor updates (e.g., from falling sand or redstone chains) before additional ones are skipped. Prevents server hangs from update loops. Negative values remove the cap.

max-tick-time

The maximum time, in milliseconds, a single game tick may take before the server watchdog forcibly shuts down the process via System.exit(1). Set to -1 to disable the watchdog entirely.

network-compression-threshold

Packets smaller than this value (in bytes) are sent uncompressed; packets at or above it are compressed. A lower threshold means more packets get compressed, but compressing very small payloads can produce larger output than the original.

pause-when-empty-seconds

The number of seconds the server waits with no players online before pausing the game loop. Set to -1 to never pause.

rate-limit

The maximum number of packets a player can send per second before being automatically kicked. Set to 0 to disable rate limiting entirely.

region-file-compression

The compression algorithm used when saving chunk data to region files. deflate is the standard; lz4 is faster but produces larger files; none disables compression entirely.

sync-chunk-writes

When enabled, chunk data is flushed to disk synchronously before the server continues. This improves data integrity on crashes but may reduce write performance.

use-native-transport

Enables Linux-specific network optimizations using native I/O, improving packet throughput and reducing latency on Linux hosts. Has no effect on other operating systems.



Related Tools