Minecraft Tool

Server Properties Editor

Edit Minecraft server.properties visually with descriptions for each field. Import, export, and customize your server settings.

Properties

Output

#The port the server listens on
server-port=25565
#The IP address to bind to (empty = all interfaces)
server-ip=
#Maximum number of players allowed
max-players=20
#Number of chunks sent to clients (render distance)
view-distance=10
#Number of chunks that are ticked (entity simulation)
simulation-distance=10
#Message displayed in the server list
motd=A Minecraft Server
#Default game mode for new players
gamemode=survival
#Force players to the default game mode on join
force-gamemode=false
#Difficulty level of the server
difficulty=easy
#Players are banned upon death (hardcore mode)
hardcore=false
#Allow player vs player combat
pvp=true
#Authenticate players with Mojang servers
online-mode=true
#Only whitelisted players can join
white-list=false
#Enable command blocks on the server
enable-command-block=false
#Radius of spawn protection (0 = disabled)
spawn-protection=0
#Allow players to fly (needed for mods)
allow-flight=false
#Spawn hostile mobs
spawn-monsters=true
#Spawn passive mobs
spawn-animals=true
#Spawn villagers and wandering traders
spawn-npcs=true
#Generate structures like villages and temples
generate-structures=true
#Name of the world folder
level-name=world
#World seed (empty = random)
level-seed=
#World generation type
level-type=default
#Maximum world size in blocks
max-world-size=29999984
#Maximum build height
max-build-height=320
#Allow players to travel to the Nether
allow-nether=true
#Enable JMX monitoring
enable-jmx-monitoring=false
#Enable remote console
enable-rcon=false
#RCON port number
rcon-port=25575
#RCON password
rcon-password=
#Enable GameSpy4 protocol
enable-query=false
#Query port number
query-port=25565
#Packet compression threshold (-1 to disable)
network-compression-threshold=256
#Max time for a tick before server stops (-1 to disable)
max-tick-time=60000
#Rate limit for connections (0 = disabled)
rate-limit=0
#URL to a resource pack
resource-pack=
#SHA-1 hash of the resource pack
resource-pack-sha1=
#Kick players who decline the resource pack
require-resource-pack=false
#Enforce secure player profiles
enforce-secure-profile=true
#Log player IP addresses
log-ips=true
#Synchronously write chunks to disk
sync-chunk-writes=true
#Permission level for OPs
op-permission-level=4
#Permission level for functions
function-permission-level=2
#Minutes before idle players are kicked (0 = disabled)
player-idle-timeout=0
#Send console output to OPs
broadcast-console-to-ops=true
#Send RCON output to OPs
broadcast-rcon-to-ops=true
#Send anonymous usage stats to Mojang
snooper-enabled=true
#Use native transport (Linux epoll)
use-native-transport=true
#Prevent connections through proxies
prevent-proxy-connections=false
#Hide the player list from the server list
hide-online-players=false
#Pause server when no players for this many seconds (0 = disabled)
pause-when-empty-seconds=0
#Chat filtering configuration
text-filtering-config=

Understanding and Configuring the Minecraft server.properties File

The server.properties file is the primary configuration file for any Minecraft server. It is automatically generated the first time you start the server and contains all the fundamental settings that control how your server operates. Every time the server starts, it reads this file to determine port numbers, world settings, player limits, and dozens of other critical parameters. Understanding this file is essential for any server administrator who wants to customize their Minecraft experience beyond the default settings, and our visual editor makes it easy to modify these settings without manually editing a text file.

This file uses a simple key-value pair format where each line contains a property name followed by an equals sign and the corresponding value. Lines beginning with a hash symbol are treated as comments and are ignored by the server. The file is typically located in the root directory of your Minecraft server alongside the server jar file. While you can edit it with any text editor, using a visual editor like this one helps prevent syntax errors and provides helpful descriptions for each property, reducing the chance of typos or invalid values that could prevent your server from starting.

It is important to note that most changes to server.properties require a full server restart to take effect. Simply saving the file while the server is running will not apply the new settings. Additionally, some properties may be overwritten by the server during shutdown, so always make sure to edit the file while the server is stopped or use a tool that can safely apply changes. Backing up this file before making significant changes is strongly recommended, as incorrect values can prevent the server from starting properly and may be difficult to diagnose without a known-good backup.

Essential Server Settings

The most fundamental server settings control how players connect to and interact with your server. The server-port property determines which network port the server listens on, with the default being 25565. If you are running multiple servers on the same machine, each one needs a unique port number. The server-ip property allows you to bind the server to a specific network interface, which is useful on machines with multiple network adapters. Leaving this blank tells the server to listen on all available interfaces.

The motd (Message of the Day) property sets the text that appears in the server list when players browse for servers. This supports Minecraft color codes and formatting, allowing you to create visually appealing server descriptions. The max-players property sets a hard limit on how many players can be connected simultaneously. Keep in mind that setting this too high for your hardware can cause lag, while setting it too low may frustrate players who cannot join during peak times. A reasonable starting point is 20 players for modest hardware, scaling up as you upgrade your server.

The view-distance and simulation-distance properties are crucial for both performance and gameplay experience. View distance controls how many chunks are sent to each client, directly affecting how far players can see. Simulation distance determines how many chunks around each player are actively ticked, meaning entities and redstone within this range will function normally. Reducing these values significantly improves server performance, especially with many players spread across different areas. The enable-command-block property must be set to true if you want to use command blocks, which are essential for adventure maps and custom game modes.

World Generation Options

Minecraft offers several world generation options that dramatically change the landscape and gameplay experience. The level-type property determines the overall world generation algorithm. The default type produces standard Minecraft terrain with biomes, caves, and structures. The flat type creates a featureless superflat world ideal for building projects. Large Biomes generates the same terrain as default but with biomes that are approximately 16 times larger, creating vast expanses of single-biome terrain. Amplified creates extremely tall and dramatic mountain ranges that push the terrain generation to its limits.

The level-seed property allows you to specify a world seed, which determines the specific terrain layout the generator produces. Using the same seed will always produce the same world, making it useful for sharing interesting world generations or ensuring all players start with identical terrain. Leaving this blank results in a randomly generated seed each time a new world is created. The level-name property sets the name of the world folder, which is particularly important if you are running multiple worlds or want to organize your server files descriptively.

The generate-structures property controls whether the world generator creates villages, temples, mansions, and other structures. Disabling this creates a more barren world but can slightly improve generation performance. The allow-nether property determines whether Nether portals function, effectively gating access to the Nether dimension. The max-world-size and max-build-height properties place limits on world dimensions, which can be useful for constrained servers or special game modes where you want to keep players within a specific area for gameplay or performance reasons.

Player Management

Player management settings control how players interact with the server and with each other. The gamemode property sets the default game mode for new players joining the server. Options include survival, creative, adventure, and spectator. The force-gamemode property, when enabled, forces all players into the default game mode every time they join, preventing them from retaining a different game mode from their previous session. This is particularly useful for servers that want to ensure a consistent gameplay experience for all players.

The pvp property controls whether players can damage each other. Disabling PvP creates a cooperative environment where players cannot fight, which is ideal for building-focused servers or communities that prefer peaceful collaboration. The difficulty property sets the base difficulty level and affects mob spawning rates, damage dealt by mobs, and hunger mechanics. The hardcore property, when enabled, automatically bans players upon death and locks the difficulty to hard, creating an intense permadeath experience that is popular among challenge-seeking communities.

The player-idle-timeout property automatically kicks players who have been inactive for the specified number of minutes. Setting this to 0 disables the timeout, allowing players to remain connected indefinitely. The allow-flight property determines whether the server allows players to fly in survival mode. This should typically be disabled unless you are running a server with mods that enable flight, as it also serves as an anti-cheat mechanism that kicks players who appear to be flying without legitimate means.

Network Configuration

Network configuration settings control how your server communicates with the outside world and can be tuned for both security and performance. The network-compression-threshold property determines the minimum packet size that gets compressed before being sent over the network. Setting this to -1 disables compression entirely, which reduces CPU usage but increases bandwidth. A value of 256 is the default and provides a good balance for most servers. If your server has limited bandwidth, lowering this value can help, while servers with fast connections and CPU constraints might benefit from raising it.

The enable-rcon property enables the Remote Console protocol, which allows you to send commands to the server from a remote location. This is incredibly useful for automated server management scripts, monitoring tools, and web-based administration panels. The rcon-port and rcon-password properties must be configured when RCON is enabled, and you should always use a strong password to prevent unauthorized access. The enable-query property enables the GameSpy4 protocol server query, which allows external tools to retrieve information about the server such as player count and server settings.

The rate-limit property controls how many connections a single IP address can make within a certain timeframe, providing basic protection against connection flood attacks. Setting this to 0 disables the rate limiter. The prevent-proxy-connections property attempts to detect and block connections from proxy services and VPNs, which can be useful for servers that need to enforce regional restrictions or prevent ban evasion. However, this is not foolproof and may inadvertently block legitimate players using VPNs for privacy.

Security Best Practices

Securing your Minecraft server is critical to protecting your players and your investment of time and resources. The online-mode property is perhaps the most important security setting. When enabled, the server authenticates players against Mojang's session servers, ensuring that players are who they claim to be. This prevents spoofed identities and is strongly recommended for public servers. Disabling online-mode allows offline or cracked clients to connect, which may be necessary for certain server configurations but opens the door to impersonation and other security risks. Never disable online-mode on a public server without understanding the consequences fully.

The white-list property enables a whitelist that restricts server access to only approved players. This is one of the most effective ways to control who can join your server and is essential for private or community servers. The spawn-protection property creates a zone around the world spawn point where only server operators can build or destroy blocks. The radius is measured in blocks from the spawn point, and setting it to 0 disables this protection entirely. For public servers, a small spawn protection area prevents newcomers from damaging the spawn area while still allowing building elsewhere.

The op-permission-level property controls the power level granted to server operators. Level 1 allows operators to bypass spawn protection, level 2 adds access to command blocks and some admin commands, level 3 grants access to most server commands including ban and kick, and level 4 provides full access to all commands including server stop and save. Choose the lowest permission level that still allows your operators to perform their duties effectively. The enforce-secure-profile property requires players to have a secure profile, adding another layer of identity verification. Additionally, the log-ips property controls whether player IP addresses are recorded in server logs, which has privacy implications that server administrators should consider carefully.

Performance Optimization

Performance optimization is an ongoing concern for any Minecraft server, especially as player counts and world sizes grow. The view-distance and simulation-distance properties are the most impactful settings for performance. Reducing view distance from the default 10 to 7 or 8 can dramatically decrease memory usage and CPU load, as the server needs to track and send far fewer chunks. Simulation distance has an even greater impact on tick processing because the server must actively update entities, redstone circuits, and crop growth within this range. For survival servers, a simulation distance of 4 to 6 is often sufficient, with a higher view distance so players can still see far.

The sync-chunk-writes property controls how chunk data is saved to disk. When enabled, chunk saves happen synchronously, which is safer but can cause brief lag spikes. Disabling this allows the server to queue chunk writes and process them asynchronously, improving perceived performance at a slight risk of data loss if the server crashes unexpectedly. The max-tick-time property sets a threshold for how long a single tick can take before the server automatically shuts down to prevent infinite hangs. A value of 60000 (60 seconds) is the default, but you may want to increase this for modded servers where complex operations can legitimately take longer.

Beyond these server.properties settings, consider using optimized server software like Paper or Purpur, which provide additional configuration options and significant performance improvements over vanilla. Regular world pruning, entity limits, and proper garbage collection tuning are also essential for maintaining a performant server over time. The pause-when-empty-seconds property allows the server to pause ticking when no players are connected, which saves resources on servers that run continuously but have long periods of inactivity. Setting this to a positive number of seconds means the server will pause after all players have disconnected for that duration.