|This feature is exclusive to Java Edition and Bedrock Edition.|
server.properties is the file stores all the settings for a multiplayer (Minecraft or Minecraft Classic) server.
When editing server.properties it is important that the same structure as the original is used, although the order of the lines is arbitrary. The text before the equal sign is the key, which should not be changed. The text after the equal sign is the property's value, which can be edited. Lines that begin with
# are comments – altering or removing these lines has no effect on the game.
After changes are made to the server.properties file, the server must be restarted for them to take effect.
If the server.properties file does not list all properties (such as if a new version of the server adds new properties, or if the file does not exist), then on startup the server rewrites the server.properties file with the new properties listed and set them to their default values.
This file is automatically generated upon first start of the server (if it doesn't exist).
|Windows||Same directory as
|Path of Working Directory (pwd)||
If you start it from your home directory (
This file is downloaded with
|Windows||Same directory as |
|Linux||Same directory as |
These are the default settings for a newly installed Minecraft server:
#Minecraft server properties #(File Modification Datestamp) broadcast-rcon-to-ops=true view-distance=10 max-build-height=256 server-ip= level-seed= rcon.port=25575 gamemode=survival server-port=25565 allow-nether=true enable-command-block=false enable-rcon=false enable-query=false op-permission-level=4 prevent-proxy-connections=false generator-settings= resource-pack= level-name=world rcon.password= player-idle-timeout=0 motd=A Minecraft Server query.port=25565 force-gamemode=false hardcore=false white-list=false broadcast-console-to-ops=true pvp=true spawn-npcs=true generate-structures=true spawn-animals=true snooper-enabled=true difficulty=easy function-permission-level=2 network-compression-threshold=256 level-type=default spawn-monsters=true max-tick-time=60000 enforce-whitelist=false use-native-transport=true max-players=20 resource-pack-sha1= spawn-protection=16 online-mode=true allow-flight=false max-world-size=29999984
server-name=Dedicated Server gamemode=survival difficulty=easy allow-cheats=false max-players=10 online-mode=true white-list=false server-port=19132 server-portv6=19133 view-distance=32 tick-distance=4 player-idle-timeout=30 max-threads=8 level-name=Bedrock level level-seed= default-player-permission-level=member texturepack-required=false
Minecraft server properties
|allow-flight||boolean||false||Allows users to use flight on your server while in Survival mode, if they have a mod that provides flight installed.
With allow-flight enabled, griefers may become more common, because it makes their work easier. In Creative mode this has no effect.
|allow-nether||boolean||true||Allows players to travel to the Nether.|
|difficulty||string||easy||Defines the difficulty (such as damage dealt by mobs and the way hunger and poison affects players) of the server.
If a legacy difficulty number is specified, it is silently converted to a difficulty name.
|enable-command-block||boolean||false||Enables command blocks|
|enable-query||boolean||false||Enables GameSpy4 protocol server listener. Used to get information about server.|
|enable-rcon||boolean||false||Enables remote access to the server console.|
|force-gamemode||boolean||false||Force players to join in the default game mode.
|function-permission-level||integer (1-4)||4||Sets the default permission level for functions.
See #op-permission-level for the details on the 4 levels.
|gamemode||string||survival||Defines the mode of gameplay.
If a legacy gamemode number is specified, it is silently converted to a gamemode name.
|generate-structures||boolean||true||Defines whether structures (such as villages) can be generated.
Note: Dungeons still generate if this is set to false.
|generator-settings||string||blank||The settings used to customize world generation. See Superflat and Customized for possible settings and examples.|
|hardcore||boolean||false||If set to true, server difficulty is ignored and set to hard and players will be set to spectator mode if they die.|
|level-name||string||world||The "level-name" value is used as the world name and its folder name. You may also copy your saved game folder here, and change the name to the same as that folder's to load it instead.
|level-seed||string||blank||Add a seed for your world, as in Singleplayer.
|level-type||string||default||Determines the type of map that is generated.
|max-build-height||integer||256||The maximum height in which building is allowed. Terrain may still naturally generate above a low height limit.|
|max-players||integer (0-2147483647)||20||The maximum number of players that can play on the server at the same time. Note that more players on the server consume more resources. Note also, op player connections are not supposed to count against the max players, but ops currently cannot join a full server. However, this can be changed by going to the file called ops.json in your server directory, opening it, finding the op you want the change, and changing the setting called bypassesPlayerLimit to true (the default is false). This means that that op does not have to wait for a player to leave in order to join. Extremely large values for this field result in the client-side user list being broken.|
||integer (0–(2^63 - 1))||60000||The maximum number of milliseconds a single tick may take before the server watchdog stops the server with the message, A single server tick took 60.00 seconds (should be max 0.05); Considering it to be crashed, server will forcibly shutdown. Once this criterion is met, it calls System.exit(1).
||integer (1-29999984)||29999984||This sets the maximum possible size in blocks, expressed as a radius, that the world border can obtain. Setting the world border bigger causes the commands to complete successfully but the actual border does not move past this block limit. Setting the max-world-size higher than the default doesn't appear to do anything.
|motd||string||A Minecraft Server||This is the message that is displayed in the server list of the client, below the name.|
||integer||256||By default it allows packets that are n-1 bytes big to go normally, but a packet of n bytes or more will be 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.
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.
|online-mode||boolean||true||Server checks connecting players against Minecraft account database. Only set this to false if your server is not connected to the Internet. Hackers with fake accounts can connect if this is set to false! If minecraft.net is down or inaccessible, no players can connect if this is set to true. Setting this variable to off purposely is called "cracking" a server, and servers that are presently with online mode off are called "cracked" servers, allowing players with unlicensed copies of Minecraft to join.
|op-permission-level||integer (1-4)||4||Sets the default permission level for ops when using |
|player-idle-timeout||integer||0||If non-zero, players are kicked from the server if they are idle for more than that many minutes.|
|prevent-proxy-connections||boolean||false||If the ISP/AS sent from the server is different from the one from Mojang's authentication server, the player is kicked
|pvp||boolean||true||Enable PvP on the server. Players shooting themselves with arrows receive damage only if PvP is enabled.
|query.port||integer (1-65534)||25565||Sets the port for the query server (see enable-query).|
|rcon.password||string||blank||Sets the password for RCON: a remote console protocol that can allow other applications to connect and interact with a Minecraft server over the internet.|
|rcon.port||integer (1-65534)||25575||Sets the RCON network port.|
|resource-pack||string||blank||Optional URI to a resource pack. The player may choose to use it.
Note that the ":" and "=" characters need to be escaped with backslash (\), e.g. http\://somedomain.com/somepack.zip?someparam\=somevalue
The resource pack may not have a larger file size than 50 MiB (≈ 50.4 MB). Note that download success or failure is logged by the client, and not by the server.
||string||blank||Optional SHA-1 digest of the resource pack, in lowercase hexadecimal. It's recommended to specify this. This is not yet used to verify the integrity of the resource pack, but improves the effectiveness and reliability of caching.|
|server-ip||string||blank||Set this if you want the server to bind to a particular IP. It is strongly recommended that you leave server-ip blank!
|server-port||integer (1-65534)||25565||Changes the port the server is hosting (listening) on. This port must be forwarded if the server is hosted in a network using NAT (If you have a home router/firewall).|
|snooper-enabled||boolean||true||Sets whether the server sends snoop data regularly to http://snoop.minecraft.net.
|spawn-animals||boolean||true||Determines if animals can spawn.
Tip: if you have major lag, turn this off/set to false.
|spawn-monsters||boolean||true||Determines if monsters can spawn.
This setting has no effect if difficulty = 0 (peaceful). If difficulty is not = 0, a monster can still spawn from a Monster Spawner.
Tip: if you have major lag, turn this off/set to false.
|spawn-npcs||boolean||true||Determines whether villagers can spawn.
|spawn-protection||integer||16||Determines the radius of the spawn protection as 2x+1. Setting this to 0 does not disable spawn protection, but protects the single block at the spawn point. 1 protects a 3×3 area centered on the spawn point. 2 protects 5×5, 3 protects 7×7, etc. This option is not generated on the first server start and appears when the first player joins. If there are no ops set on the server, the spawn protection is disabled automatically.|
|use-native-transport||boolean||true||Linux server performance improvements: optimized packet sending/receiving on Linux
|view-distance||integer (3-32)||10||Sets the amount of world data the server sends the client, measured in chunks in each direction of the player (radius, not diameter). It determines the server-side viewing distance. (see Render distance)
10 is the default/recommended. If you have major lag, reduce this value.
Note: A value less than 9 has a big impact on mob spawning on the server, as noted in bug .
|white-list||boolean||false||Enables a whitelist on the server.
With a whitelist enabled, users not on the whitelist cannot connect. Intended for private servers, such as those for real-life friends or strangers carefully selected via an application process, for example.
Note: Ops are automatically white listed, and there is no need to add them to the whitelist.
|enforce-whitelist||boolean||false||Enforces the whitelist on the server.
When this option is enabled, users who are not present on the whitelist (if it's enabled) get kicked from the server after the server reloads the whitelist file.
In versions prior to Java Edition 1.12, the announce-player-achievements boolean property (default true) was used to toggle whether achievements were broadcasted to all players. This property no longer exists, but if it is set, the
announceAdvancements gamerule is automatically updated to match, and the property is removed.
|Option name||Possible values||Default value||When is it used||Use||Notes|
|gamemode||survival (0), creative (1), adventure (2)||survival||Always or only for new players||Sets the game mode for new players.|
|difficulty||peaceful (0), easy (1), normal (2), hard (3)||easy||Always||Sets the difficulty of the world.|
|level-type||FLAT, LEGACY, DEFAULT||DEFAULT||World creation||Determines the type of map that is generated.|
|server-name||Any string||Dedicated Server||Always||Used as the server name||This is the server name shown in the in-game server list.|
|max-players||Positive integer||10||Always||The maximum number of players that can play on the server.||The maximum numbers of players that should be able to play on the server. Higher values have performance impact.|
|server-port||Any integer||19132||Always||Which IPv4 port the server should listen to.|
|server-portv6||Any integer||19133||Always||Which IPv6 port the server should listen to.|
|level-name||Any string||level||Always||The "level-name" value is used as the world name and its folder name. You may also copy your saved game folder here, and change the name to the same as that folder's to load it instead.||The name of level to be used/generated. Each level has its own folder in |
|level-seed||Any string||Defaults to empty (th34f1ju34facjn5f871df312h)||World creation||Use to randomize the world||The seed to be used for randomizing the world. If left empty, a seed is chosen at random.|
|online-mode||true, false||true||Always||If true then all connected players must be authenticated to Xbox Live.||If true then all connected players must be authenticated to Xbox Live.|
|white-list||true, false||false||Always||If true then all connected players must be listed in the separate whitelist.json file.||If true then all connected players must be listed in the separate |
|allow-cheats||true, false||false||Always||If true then cheats like commands can be used.|
|view-distance||Any integer||10||Always||The maximum allowed view distance in number of chunks.||The maximum allowed view distance. Higher values have performance impact.|
|player-idle-timeout||Any integer||30||Always||After a player has idled for this many minutes they will be kicked.||After a player has idled for this many minutes they will be kicked.|
|max-threads||Any integer||8||Always||Maximum number of threads the server will try to use. If set to 0 or removed then it will use as many as possible.||Maximum number of threads the server will try to use.|
|tick-distance||An integer in the range [4, 12]||4||Always||The world will be ticked this many chunks away from any player.||The world will be ticked this many chunks away from any player. Higher values have performance impact.|
|default-player-permission-level||visitor, member, operator||member||Always||Permission level for new players joining for the first time.||Which permission level new players will have when they join for the first time.|
|texturepack-required||true, false||false||Always||Force clients to use texture packs in the current world||If the world uses any specific texture packs then this setting will force the client to use it.|
Minecraft Classic server properties
|verify-names||boolean||true||If enabled the server will make sure that the client is logged in with the same IP on Minecraft.net. This has caused problems for people trying to play on the same computer they are hosting the server on as the server will see the local IP (127.0.0.1) while Minecraft.net will see the external IP. It is recommended that this is enabled unless you want to play on your server from the same computer you are hosting it on
|admin-slot||boolean||false||Allow ops to join even if the server is full.|
|public||boolean||Whether the server should be displayed in the server list, or not.
|server-name||string||The name of the server. This is displayed in the server list and when someone is joining the server
|max-players||integer (0-256)||The max numbers of players that can play on the server at the same time. Note that if more players are on the server it will use more resources. Note also, admin connections are not counted against the max players.|
|max-connections||integer (1-3)||The max number of connections the server will accept from the same IP.
Note: If you try to set it higher than 3 it will be changed back to 3.
|motd||string||MOTD is short for Message of the day, though you do not need to change it every day. The MOTD is displayed when people join the server.|
|grow-trees||boolean||Whether or not the server will allow planted saplings to grow into trees.
|1.14||pre4||function-permission-level option got added, that controls what permission level functions have|