Minecraft Wiki
Advertisement

"whitelist" redirects here. For the command, see Commands/whitelist.
Information icon
This feature is exclusive to Java Edition and Bedrock Edition. 
Server

The default server.properties file for Java.

server.properties is the file which stores all the settings for a multiplayer (Minecraft or Minecraft Classic) server.

If you are going to edit server.properties it is important that you use the same structure as the original uses, although the order of the lines is arbitrary. The text before the equal sign is the key, which you shouldn't change. The text after the equal sign is the property's value, which you can edit. 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 will rewrite the server.properties file with the new properties listed and set them to their default values.

File Location

Java Edition

This file is automatically generated upon first start of the server (if it doesn't exist).

OS File Location Notes
Windows Same directory as minecraft_server.exe
Linux

Unix Unix/Mac

Path of Working Directory (pwd)

If you start it from your home directory (/home/yourname) the server files will be created in /home/yourname. Follow these guidelines for ensuring that the server files are generated where you would expect them.

  • Set aside an entire directory for all of the server files. (Things could get messy if you don't).
    • Place your minecraft_server.jar here.
  • Use the this script as a guideline for setting up a startup script for your Minecraft server.
    • Make sure it's in your executable $PATH
    • Be sure to add the execution permission to the startup script (chmod +x file_name, or use a folder manager)
      • minecraft_server.sh

Bedrock Edition

This file is downloaded with bedrock_server.exe.

OS File Location
Windows Same directory as bedrock_server.exe
Linux Same directory as bedrock_server

Server.properties

These are the default settings for a newly installed Minecraft server:

Java Edition

#Minecraft server properties
#(File Modification Datestamp)
generator-settings=
op-permission-level=4
allow-nether=true
enforce-whitelist=false
level-name=world
enable-query=false
allow-flight=false
prevent-proxy-connections=false
server-port=25565
max-world-size=29999984
level-type=DEFAULT
enable-rcon=false
level-seed=
force-gamemode=false
server-ip=
network-compression-threshold=256
max-build-height=256
spawn-npcs=true
white-list=false
spawn-animals=true
hardcore=false
snooper-enabled=true
resource-pack-sha1=
online-mode=true
resource-pack=
pvp=true
difficulty=1
enable-command-block=false
gamemode=0
player-idle-timeout=0
max-players=20
max-tick-time=60000
spawn-monsters=true
view-distance=10
generate-structures=true
motd=A Minecraft Server

Bedrock Edition

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=10
tick-distance=4
player-idle-timeout=30
max-threads=8 

Minecraft server properties

Java Edition

Key Type Default Value Description
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 will possibly be more common, because it will make their work easier. In Creative mode this has no effect.

false - Flight is not allowed (players in air for at least 5 seconds will be kicked).
true - Flight is allowed, and used if the player has a fly mod installed.
allow-nether boolean true Allows players to travel to the Nether.
false - Nether portals will not work.
true - The server will allow portals to send players to the Nether.
difficulty integer (0-3) 1 Defines the difficulty (such as damage dealt by mobs and the way hunger and poison affects players) of the server.
0 - Peaceful
1 - Easy
2 - Normal
3 - Hard
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.
enable-command-block boolean false Enables command blocks
force-gamemode boolean false Force players to join in the default game mode.
false - Players will join in the gamemode they left in.
true - Players will always join in the default gamemode.
gamemode integer (0-3) 0 Defines the mode of gameplay.
0 - Survival
1 - Creative
2 - Adventure
3 - Spectator
generate-structures boolean true Defines whether structures (such as villages) will be generated.
false - Structures will not be generated in new chunks.
true - Structures will be generated in new chunks.

Note: Dungeons will 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, players will be set to spectator mode if they die.
level-name string world The "level-name" value will be 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.
Characters such as ' (apostrophe) may need to be escaped by adding a backslash before them.
level-seed string blank Add a seed for your world, as in Singleplayer.
Some examples are: minecraft, 404, 1a2b3c.
level-type string DEFAULT Determines the type of map that is generated.
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.
BUFFET - Same as default unless generator-settings is set to a preset.
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 if more players are on the server it will use 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 will 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.
max-tick-time
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).
-1 - disable watchdog entirely (this disable option was added in 14w32a)
max-world-size
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 will not move past this block limit. Setting the max-world-size higher than the default doesn't appear to do anything.

Examples:

  • Setting max-world-size to 1000 will allow you to have a 2000x2000 world border.
  • Setting max-world-size to 4000 will give you an 8000 x 8000 world border.
motd string A Minecraft Server This is the message that is displayed in the server list of the client, below the name.
  • The MOTD supports color and formatting codes.
  • The MOTD supports special characters, such as "♥". However, such characters must be converted to escaped Unicode form. An online converter can be found here.
  • If the MOTD is over 59 characters, the server list will likely report a communication error.
network-compression-threshold
integer 256 By default it allows packets that are n-1 bytes big to go normally, but a packet that n bytes or more will be compressed down. So, 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.

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 will be able to 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.
true - Enabled. The server will assume it has an Internet connection and check every connecting player.
false - Disabled. The server will not attempt to check connecting players.
op-permission-level integer (1-4) 4 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 /reload) 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, /save-off, and /reload.
player-idle-timeout integer 0 If non-zero, players are kicked from the server if they are idle for more than that many minutes.
Note: Idle time is reset when the server receives one of the following packets:
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

true - Enabled. Server prevents users from using vpns or proxies.

false - Disabled. The server doesn't prevent users from using vpns or proxies.

pvp boolean true Enable PvP on the server. Players shooting themselves with arrows will only receive damage if PvP is enabled.
true - Players will be able to kill each other.
false - Players cannot kill other players (also known as Player versus Environment (PvE)).

Note: Indirect damage sources spawned by players (such as lava, fire, TNT and to some extent water, sand and gravel) will still deal damage to other players.

query.port integer (1-65534) 25565 Sets the port for the query server (see enable-query).
rcon.password string blank Sets the password to rcon.
rcon.port integer (1-65534) 25575 Sets the port to rcon.
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

Note download success/failure is logged by the client, not by the server.

resource-pack-sha1
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!
Set to blank, or the IP you want your server to run (listen) on.
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.
false - disable snooping.
true - enable snooping.
spawn-animals boolean true Determines if animals will be able to spawn.
true - Animals spawn as normal.
false - Animals will immediately vanish.

Tip: if you have major lag, turn this off/set to false.

spawn-monsters boolean true Determines if monsters will be spawned.
true - Enabled. Monsters will appear at night and in the dark.
false - Disabled. No monsters.

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 will be spawned.
true - Enabled. Villagers will spawn.
false - Disabled. No villagers.
spawn-protection integer 16 Determines the radius of the spawn protection as (x*2)+1. Setting this to 0 will not disable spawn protection. 0 will protect the single block at the spawn point. 1 will protect a 3x3 area centered on the spawn point. 2 will protect 5x5, 3 will protect 7x7, 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 will be disabled automatically.
use-native-transport boolean true Linux server performance improvements: optimized packet sending/receiving on Linux
true - Enabled. Enable Linux packet sending/receiving optimization
false - Disabled. Disable Linux packet sending/receiving optimization
view-distance integer (2-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 will have big impacts on the mobs' spawn of your server as it mentionned by the bug MC-2536.

white-list boolean false Enables a whitelist on the server.

With a whitelist enabled, users not on the whitelist will be unable to connect. Intended for private servers, such as those for real-life friends or strangers carefully selected via an application process, for example.

false - No white list is used.
true - The file whitelist.json is used to generate the white list.

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) will be kicked from the server after the server reloads the whitelist file.

false - No user will be kicked if not on the whitelist.
true - Online users not on the whitelist will be kicked.

In versions prior to 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 will automatically be updated to match and the property will be removed.

Bedrock Edition

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 will be 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 /worlds.
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 will be 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 whitelist.json file.
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

Key Type Default Value Description
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
true - Enabled. The server will check all names with Minecraft.net
false - Disabled. The server will make sure the IP matches
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.
true - The server will be displayed in the server list - anyone can see it.
false - Only people with the URL which can be found in externalurl.txt and people who know the IP and port can join the server
server-name string The name of the server. This is displayed in the server list and when someone is joining the server
  • A single line of text. Characters such as ' (apostrophe) may need to be escaped by adding a backslash before them.
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.
true - the server will allow saplings to grow into trees.
false - the server will not allow saplings to grow into trees.
Advertisement