Skip to main content

server.properties creator

Already have a server.properties file you want to change?

General game properties #

General game properties.

# allow-flight Allow flight on the server.
# difficulty Sets the difficulty for the server.
# enable-command-block Allow access to command blocks.
# force-gamemode Forces everyone into the game mode every time they log on.
# gamemode Sets the default game mode on the server.
# hardcore Enables hardcore mode. Players are set to spectator mode if they die.
# player-idle-timeout Defines the time before a player is kicked for being idle on the server.
# pvp Toggles PvP on the server. If enabled, players can kill each other.
# view-distance

Determines the server-side viewing distance.

Sets the amount of world data the server sends the client, measured in chunks in each direction of the player (radius, not diameter).

Show more

World properties #

World properties.

# allow-nether Allow the nether dimension.
# simulation-distance

Sets the maximum distance from players that living entities may be located in order to be updated by the server

Measured in chunks in each direction of the player (radius, not diameter).

If entities are outside of this radius, then they will not be ticked by the server nor will they be visible to players.

Show more
# spawn-animals Defines whether or not animals can spawn.
# spawn-monsters Defines whether or not monsters can spawn.
# spawn-npcs Defines whether or not villagers can spawn.
# spawn-protection

Determines the side length of the square spawn protection area as 2x+1.

Setting this to 0 disables the spawn protection.

A value of 1 protects a 3x3 square centered on the spawn point. 2 protects 5x5, 3 protects 7x7, etc.

Show more

World generation #

World generation properties.

# generate-structures Defines if the server should generate structures, like villages, temples, mansions and so on.
# generator-settings Used to customize world generation.
# level-name The value is used as the world name and its folder name.
# level-seed Defines the level seed for when the world is generated.
# level-type

Determines the world preset/level type that is generated.

Escaping : with \ is required when using a world preset ID, and the vanilla world preset ID's namespace (minecraft:) can be omitted.

For 1.19 and after:

  • minecraft:normal - A flat world with no features, can be modified with generator-settings.
  • minecraft:flat - A flat world with no features, can be modified with generator-settings.
  • minecraft:large_biomes - Same as default but all biomes are larger.
  • minecraft:amplified - Same as default but world-generation height limit is increased.
  • minecraft:single_biome_surface - A buffet world which the entire overworld consists of one biome, can be modified with generator-settings.

For 1.18 and before:

  • default - Standard world with hills, valleys, water, etc.
  • flat - A flat world with no features, can be modified with generator-settings.
  • largeBiomes - Same as default but all biomes are larger.
  • amplified - Same as default but world-generation height limit is increased.

For 1.15 and before:

  • buffet - Same as default unless generator-settings is set.
  • default_1_1 - Same as default, but counted as a different world type.
  • customized - After 1.13, this value is no different than default, but in 1.12 and before, it could be used to create a completely custom world.
Show more

Whitelist #

Properties related to the whitelist.

# enforce-whitelist Enforces the whitelist on the server.
# white-list Enable the whitelist on the server.

Operator (OP) #

Properties related to operators.

# broadcast-console-to-ops Broadcasts the console output to OPs on the server.
# broadcast-rcon-to-ops Broadcasts RCON output to the OPs on the server.
# function-permission-level Sets the default permission level for functions. See op-permission-level for the details on the 4 levels.
# op-permission-level

Sets the default permission level for ops when using /op. All levels inherit abilities and commands from levels before them.

  • 1 - Ops can bypass spawn protection.
  • 2 - Ops can use all singleplayer cheats commands (except /publish, as it is not on servers; along with /debug) and use command blocks. Command blocks, along with Realms owners/operators, have the same permissions as this level
  • 3 - Ops can use most multiplayer-exclusive commands, including /debug, and commands that manage players (/ban, /op, etc).
  • 4 - Ops can use all commands including /stop, /save-all, /save-on, and /save-off.
Show more

Connection properties #

Properties related to the server connection.

# accepts-transfers

Allows servers to accept incoming transfers via a transfer packet.

  • Enabled - Incoming transfers are allowed, and the server must approve it.
  • Disabled - Incoming transfers are rejected, and the player is disconnected.
Show more
# enable-status

Makes the server appear as online on the server list.

If disabled, it will suppress replies from clients. This means it will appear as offline, but will still accept connections.

# enforce-secure-profile If enabled, players without a Mojang-signed public key will not be able to connect to the server.
# hide-online-players When set to true, does not show a player list on status requests.
# max-players Sets the maximum amount of players excluding OPs, that's allowed on the server.
# motd

Sets the MOTD seen on the multiplayer screen in the Minecraft client.

Pssst. Did you know that you can create your MOTD here?

# online-mode Checks connecting players against the Minecraft account database.
# prevent-proxy-connections

If the ISP/AS sent from the server is different from the one from Mojang Studios' authentication server, the player is kicked.

  • Enabled - Server prevents users from using VPNs or proxies.
  • Disabled - The server doesn't prevent users from using VPNs or proxies
Show more
# server-ip The IP of the server.
# server-port The port of the server.

Query #

Query properties.

# enable-query Enables query. Server lists will use this, to get information about the server.
# query.port

Defines the port, query information is sent on.

Unless you have a good reason, this should always be the same as server-port.


RCON #

RCON properties.

# enable-rcon Enable remote control of the server.
# rcon.password Defines the password for the RCON feature.
# rcon.port Defines the port for the RCON feature.

Resource pack #

Properties for resource packs.

# require-resource-pack When this option is enabled (set to true), players will be prompted for a response and will be disconnected if they decline the required pack.
# resource-pack

Optional URI to a resource pack. The player may choose to use it.

Note that (in some versions before 1.15.2), the ":" and "=" characters need to be escaped with a backslash (\), e.g. http\://somedomain.com/somepack.zip?someparam\=somevalue

The resource pack may not have a larger file size than 250 MiB (Between 1.17 and 1.15: 100 MiB, Before 1.15: 50 MiB)

Show more
# resource-pack-id Optional UUID for the resource pack set by resource-pack to identify the pack with clients.
# resource-pack-prompt Optional, adds a custom message to be shown on resource pack prompt when require-resource-pack is used. Expects chat component syntax, can contain multiple lines.
# resource-pack-sha1 Optional SHA-1 digest of the resource pack, in lowercase hexadecimal. It is recommended to specify this, because it is used to verify the integrity of the resource pack.

Advanced properties #

Don't touch these, unless you know what your doing.

# bug-report-link

Will be displayed on disconnection screen, if disconnection was caused by packet handling error, and included as a comment in disconnection report.

This field should contain well-formed URL.

# debug Debug field. No one really know what this does…
# enable-jmx-monitoring Allow Java Management Extensions access to the server information.
# entity-broadcast-range-percentage Controls how close entities need to be before being sent to clients. Higher values means they'll be rendered from farther away, potentially causing more lag.
# initial-disabled-packs Comma-separated list of datapacks to not be auto-enabled on world creation.
# initial-enabled-packs Comma-separated list of datapacks to be enabled during world creation. Feature packs need to be explicitly enabled.
# log-ips If player IPs should be included in the log when they join the game.
# max-chained-neighbor-updates Limiting the amount of consecutive neighbor updates before skipping additional ones. Negative values remove the limit.
# max-tick-time

The maximum number of milliseconds a single tick may take before the server watchdog stops the server. Once this criterion is met, it calls System.exit(1). Setting this to -1 disables the watchdog entirely.

# max-world-size Sets the maximum possible size in blocks, expressed as a radius, that the world border can obtain.
# network-compression-threshold

By default it allows packets that are n-1 bytes big to go normally, but a packet of n bytes or more gets compressed down. So, a lower number means more compression but compressing small amounts of bytes might actually end up with a larger result than what went in.

  • -1 - disable compression entirely
  • 0 - compress everything

Note: The Ethernet spec requires that packets less than 64 bytes become padded to 64 bytes. Thus, setting a value lower than 64 may not be beneficial. It is also not recommended to exceed the MTU, typically 1500 bytes.

Show more
# rate-limit Sets the maximum amount of packets a user can send before getting kicked. Setting this to 0 disables this feature.
# region-file-compression Changes the algorithm for the compression of chunks in regions.
# sync-chunk-writes Enables synchronous chunk writes.
# text-filtering-config Allows you to specify an online service for filtering text, such as chat and text of written books.
# use-native-transport Linux server performance improvements: optimized packet sending/receiving on Linux.

Property descriptions based on content from Minecraft Wiki, which is licensed under CC BY-NC-SA 3.0.