Minecraft Wiki
Minecraft Wiki
Advertisement

"whitelist" redirects here. For the command, see Commands/whitelist.
Server

The default server.properties file for Java Edition.

server.properties is the file that 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. Another option is to use the /reload command in the server console or in-game, which will also allow changes to be reloaded.

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.

The server.properties file is simply a normal text file with UTF-8 encoding, despite its extension, and can therefore be edited with any text editor such as Notepad for Windows, TextEdit for Mac, or nano and vim for Linux.

Java Edition

File location

This file is automatically generated upon the first start of the server (if it does not exist).

OS File Location Notes
Windows In the Working Directory (Defaults to the same folder as server.jar) If the player starts the server by clicking on either server.jar, a startup script in the same folder, or a shortcut to either of these, then the Working Directory is set to the same folder as server.jar.
Linux

Unix Unix/Mac

Path of Working Directory (pwd)

If the player starts it from their home directory (/home/name) the server files are created in /home/name. Follow these guidelines for ensuring that the server files are generated where the player would expect them.

  • Set aside an entire directory for all of the server files. (Things could get messy if the player doesn't).
    • The player's server.jar should be placed here.
  • Use this script as a guideline for setting up a startup script for the Minecraft server.
    • It should be in the player's 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

Default content

As of 23w31a, server.jar generates the following if no server.properties is found:

#Minecraft server properties
#(File modification date and time)
enable-jmx-monitoring=false
rcon.port=25575
level-seed=
gamemode=survival
enable-command-block=false
enable-query=false
generator-settings={}
enforce-secure-profile=true
level-name=world
motd=A Minecraft Server
query.port=25565
pvp=true
generate-structures=true
max-chained-neighbor-updates=1000000
difficulty=easy
network-compression-threshold=256
max-tick-time=60000
require-resource-pack=false
use-native-transport=true
max-players=20
online-mode=true
enable-status=true
allow-flight=false
initial-disabled-packs=
broadcast-rcon-to-ops=true
view-distance=10
server-ip=
resource-pack-prompt=
allow-nether=true
server-port=25565
enable-rcon=false
sync-chunk-writes=true
op-permission-level=4
prevent-proxy-connections=false
hide-online-players=false
resource-pack=
entity-broadcast-range-percentage=100
simulation-distance=10
rcon.password=
player-idle-timeout=0
force-gamemode=false
rate-limit=0
hardcore=false
white-list=false
broadcast-console-to-ops=true
spawn-npcs=true
spawn-animals=true
log-ips=true
function-permission-level=2
initial-enabled-packs=vanilla
level-type=minecraft\:normal
text-filtering-config=
spawn-monsters=true
enforce-whitelist=false
spawn-protection=16
resource-pack-sha1=
max-world-size=29999984

Keys

Key Type Default Value Description
allow-flight boolean false Allows users to use flight on the 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.

false - Flight is not allowed (players in air for at least 5 seconds get 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 do not work.
true - The server allows portals to send players to the Nether.
broadcast-console-to-ops boolean true Send console command outputs to all online operators.
broadcast-rcon-to-ops boolean true Send rcon console command outputs to all online operators.
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.

peaceful (0)
easy (1)
normal (2)
hard (3)
enable-command-block boolean false Enables command blocks
enable-jmx-monitoring boolean false Exposes an MBean with the Object name net.minecraft.server:type=Server and two attributes averageTickTime and tickTimes exposing the tick times in milliseconds.

In order for enabling JMX on the Java runtime you also need to add a couple of JVM flags to the startup as documented here.

enable-rcon boolean false Enables remote access to the server console.
  • It's not recommended to expose RCON to the Internet, because RCON protocol transfers everything without encryption. Everything (including RCON password) communicated between the RCON server and client can be leaked to someone listening in on your connection.
enable-status boolean true Makes the server appear as "online" on the server list.

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

enable-query boolean false Enables GameSpy4 protocol server listener. Used to get information about server.
enforce-secure-profile boolean true If set to true, players without a Mojang-signed public key will not be able to connect to the server.
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.

false - No user gets kicked if not on the whitelist.
true - Online users not on the whitelist get kicked.
entity-broadcast-range-percentage integer (10-1000) 100 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. This is expressed the percentage of the default value. For example, setting to 50 will make it half as usual. This mimics the function on the client video settings (not unlike Render Distance, which the client can customize so long as it's under the server's setting).
force-gamemode boolean false Force players to join in the default game mode.
false - Players join in the gamemode they left in.
true - Players always join in the default gamemode.
function-permission-level integer (1-4) 2 Sets the default permission level for functions.

See 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.

survival (0)
creative (1)
adventure (2)
spectator (3)
generate-structures boolean true Defines whether structures (such as villages) can be generated.
false - Structures are not generated in new chunks.
true - Structures are generated in new chunks.

Note: Dungeons still generate if this is set to false.

generator-settings string {} The settings used to customize world generation. Follow its format and write the corresponding JSON string. Remember to escape all : with \:.
hardcore boolean false If set to true, server difficulty is ignored and set to hard and players are set to spectator mode if they die.
hide-online-players boolean false If set to true, a player list is not sent on status requests.
initial-disabled-packs string blank Comma-separated list of datapacks to not be auto-enabled on world creation.
initial-enabled-packs string vanilla Comma-separated list of datapacks to be enabled during world creation. Feature packs need to be explicitly enabled.
level-name string world The "level-name" value is used as the world name and its folder name. The player may also copy their 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 Sets a world seed for the player's world, as in Singleplayer. The world generates with a random seed if left blank.
Some examples are: minecraft, 404, 1a2b3c.
level-type string minecraft:normal Determines the world preset that is generated.

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

minecraft:normal - Standard world with hills, valleys, water, etc.
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.
buffet - Only for 1.15 or before. Same as default unless generator-settings is set.
default_1_1 - Only for 1.15 or before. Same as default, but counted as a different world type.
customized - Only for 1.15 or before. 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.
max-chained-neighbor-updates integer[more information needed] 1000000 Limiting the amount of consecutive neighbor updates before skipping additional ones. Negative values remove the limit.
max-players integer (0-(2^31 - 1)) 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 the player's server directory, opening it, finding the op that the player wants to 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.
max-tick-time integer (-1 or 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 does 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 allows the player to have a 2000×2000 world border.
  • Setting max-world-size to 4000 gives the player an 8000×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 may 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 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.

online-mode boolean true Server checks connecting players against Minecraft account database. Set this to false only if the player's 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 present with online mode off are called "cracked" servers, allowing players with unlicensed copies of Minecraft to join.
true - Enabled. The server assumes it has an Internet connection and checks every connecting player.
false - Disabled. The server does not attempt to check connecting players.
op-permission-level integer (0-4) 4 Sets the default permission level for ops when using /op.
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 Studios' authentication server, the player is kicked.
previews-chat boolean false If set to true, chat preview will be enabled.
true - Enabled. When enabled, a server-controlled preview appears above the chat edit box, showing how the message will look when sent.
false - Disabled.
pvp boolean true Enable PvP on the server. Players shooting themselves with arrows receive damage only if PvP is enabled.
true - Players can 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) still deal damage to other players.

query.port integer (1-(2^16 - 2)) 25565 Sets the port for the query server (see enable-query).
rate-limit integer 0 Sets the maximum amount of packets a user can send before getting kicked. Setting to 0 disables this feature.
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-(2^16 - 2)) 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 (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 (Before 1.18: 100 MiB (≈ 100.8 MB)) (Before 1.15: 50 MiB (≈ 50.4 MB)). Note that download success or failure is logged by the client, and not by the server.

resource-pack-prompt string blank

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 string blank 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.

Note: If the resource pack is any different, a yellow message "Invalid sha1 for resource-pack-sha1" appears in the console when the server starts. Due to the nature of hash functions, errors have a tiny probability of occurring, so this consequence has no effect.

require-resource-pack boolean false 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.
server-ip string blank The player should set this if they want the server to bind to a particular IP. It is strongly recommended that the player leaves server-ip blank.
Set to blank, or the IP the player want their server to run (listen) on.
server-port integer (1-(2^16 - 2)) 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 the player has a home router/firewall).
simulation-distance integer (3-32) 10 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.

10 is the default/recommended. If the player has major lag, this value is recommended to be reduced.

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 can spawn.
true - Animals spawn as normal.
false - Animals immediately vanish.

If the player has major lag, it is recommended to turn this off/set to false.

spawn-monsters boolean true Determines if monsters can spawn.
true - Enabled. Monsters 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.

If the player has major lag, it is recommended to turn this off/set to false.

spawn-npcs boolean true Determines whether villagers can spawn.
true - Enabled. Villagers spawn.
false - Disabled. No villagers.
spawn-protection integer 16 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 3×3 square 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 as well.
sync-chunk-writes boolean true Enables synchronous chunk writes.
text-filtering-config [more information needed] blank [more information needed]
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 (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.

10 is the default/recommended. If the player has major lag, this value is recommended to be reduced.

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.

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

Note: Ops are automatically whitelisted, and there is no need to add them to the whitelist.

Bedrock Edition

File location

This file is downloaded with bedrock_server.exe

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

Default contents

Default as of 1.20.0.20:

server-name=Dedicated Server
# Used as the server name
# Allowed values: Any string without semicolon symbol.

gamemode=survival
# Sets the game mode for new players.
# Allowed values: "survival", "creative", or "adventure"

force-gamemode=false
# force-gamemode=false (or force-gamemode is not defined in the server.properties)
# prevents the server from sending to the client gamemode values other
# than the gamemode value saved by the server during world creation
# even if those values are set in server.properties after world creation.
# 
# force-gamemode=true forces the server to send to the client gamemode values
# other than the gamemode value saved by the server during world creation
# if those values are set in server.properties after world creation.

difficulty=easy
# Sets the difficulty of the world.
# Allowed values: "peaceful", "easy", "normal", or "hard"

allow-cheats=false
# If true then cheats like commands can be used.
# Allowed values: "true" or "false"

max-players=10
# The maximum number of players that can play on the server.
# Allowed values: Any positive integer

online-mode=true
# If true then all connected players must be authenticated to Xbox Live.
# Clients connecting to remote (non-LAN) servers will always require Xbox Live authentication regardless of this setting.
# If the server accepts connections from the Internet, then it's highly recommended to enable online-mode.
# Allowed values: "true" or "false"

allow-list=false
# If true then all connected players must be listed in the separate allowlist.json file.
# Allowed values: "true" or "false"

server-port=19132
# Which IPv4 port the server should listen to.
# Allowed values: Integers in the range [1, 65535]

server-portv6=19133
# Which IPv6 port the server should listen to.
# Allowed values: Integers in the range [1, 65535]

enable-lan-visibility=true
# Listen and respond to clients that are looking for servers on the LAN. This will cause the server
# to bind to the default ports (19132, 19133) even when `server-port` and `server-portv6`
# have non-default values. Consider turning this off if LAN discovery is not desirable, or when
# running multiple servers on the same host may lead to port conflicts.
# Allowed values: "true" or "false"

view-distance=32
# The maximum allowed view distance in number of chunks.
# Allowed values: Positive integer equal to 5 or greater.

tick-distance=4
# The world will be ticked this many chunks away from any player.
# Allowed values: Integers in the range [4, 12]

player-idle-timeout=30
# After a player has idled for this many minutes they will be kicked. If set to 0 then players can idle indefinitely.
# Allowed values: Any non-negative integer.

max-threads=8
# Maximum number of threads the server will try to use. If set to 0 or removed then it will use as many as possible.
# Allowed values: Any positive integer.

level-name=Bedrock level
# Allowed values: Any string without semicolon symbol or symbols illegal for file name: /\n\r\t\f`?*\\<>|\":

level-seed=
# Use to randomize the world
# Allowed values: Any string

default-player-permission-level=member
# Permission level for new players joining for the first time.
# Allowed values: "visitor", "member", "operator"

texturepack-required=false
# Force clients to use texture packs in the current world
# Allowed values: "true" or "false"

content-log-file-enabled=false
# Enables logging content errors to a file
# Allowed values: "true" or "false"

compression-threshold=1
# Determines the smallest size of raw network payload to compress
# Allowed values: 0-65535

compression-algorithm=zlib
# Determines the compression algorithm to use for networking
# Allowed values: "zlib", "snappy"

server-authoritative-movement=server-auth
# Allowed values: "client-auth", "server-auth", "server-auth-with-rewind"
# Enables server authoritative movement. If "server-auth", the server will replay local user input on
# the server and send down corrections when the client's position doesn't match the server's.
# If "server-auth-with-rewind" is enabled and the server sends a correction, the clients will be instructed
# to rewind time back to the correction time, apply the correction, then replay all the player's inputs since then. This results in smoother and more frequent corrections.
# Corrections will only happen if correct-player-movement is set to true.

player-movement-score-threshold=20
# The number of incongruent time intervals needed before abnormal behavior is reported.
# Disabled by server-authoritative-movement.

player-movement-action-direction-threshold=0.85
# The amount that the player's attack direction and look direction can differ.
# Allowed values: Any value in the range of [0, 1] where 1 means that the
# direction of the players view and the direction the player is attacking
# must match exactly and a value of 0 means that the two directions can
# differ by up to and including 90 degrees.

player-movement-distance-threshold=0.3
# The difference between server and client positions that needs to be exceeded before abnormal behavior is detected.
# Disabled by server-authoritative-movement.

player-movement-duration-threshold-in-ms=500
# The duration of time the server and client positions can be out of sync (as defined by player-movement-distance-threshold)
# before the abnormal movement score is incremented. This value is defined in milliseconds.
# Disabled by server-authoritative-movement.

correct-player-movement=false
# If true, the client position will get corrected to the server position if the movement score exceeds the threshold.

server-authoritative-block-breaking=false
# If true, the server will compute block mining operations in sync with the client so it can verify that the client should be able to break blocks when it thinks it can.

chat-restriction=None
# Allowed values: "None", "Dropped", "Disabled"
# This represents the level of restriction applied to the chat for each player that joins the server.
# "None" is the default and represents regular free chat.
# "Dropped" means the chat messages are dropped and never sent to any client. Players receive a message to let them know the feature is disabled.
# "Disabled" means that unless the player is an operator, the chat UI does not even appear. No information is displayed to the player.

disable-player-interaction=false
# If true, the server will inform clients that they should ignore other players when interacting with the world. This is not server authoritative.

client-side-chunk-generation-enabled=true
# If true, the server will inform clients that they have the ability to generate visual level chunks outside of player interaction distances.

block-network-ids-are-hashes=true
# If true, the server will send hashed block network ID's instead of id's that start from 0 and go up.  These id's are stable and won't change regardless of other block changes.

disable-persona=false
# Internal Use Only

disable-custom-skins=false
# If true, disable players customized skins that were customized outside of the Minecraft store assets or in game assets.  This is used to disable possibly offensive custom skins players make.

server-build-radius-ratio=Disabled
# Allowed values: "Disabled" or any value in range [0.0, 1.0]
# If "Disabled" the server will dynamically calculate how much of the player's view it will generate, assigning the rest to the client to build.
# Otherwise from the overridden ratio tell the server how much of the player's view to generate, disregarding client hardware capability.
# Only valid if client-side-chunk-generation-enabled is enabled

Option keys

Option name Possible values Default value When is it used Use Notes
allow-cheats true, false false Always If true then cheats like commands can be used.
allow-list true, false false Always If true then all connected players must be listed in the separate allowlist.json file.
compression-threshold Integers in the range [1, 65535] 1 Always Determines the smallest size of raw network payload to compress.
content-log-file-enabled true, false false Always Enables logging content errors to a file.
correct-player-movement true, false false Always If true, the client position will get corrected to the server position if the movement score exceeds the threshold.
default-player-permission-level visitor, member, operator member Always Permission level for new players joining for the first time.
difficulty peaceful, easy, normal, hard easy Always Sets the difficulty of the world. Values correlate to the integer gamemodes as follows:

peaceful (0)

easy (1)

normal (2)

hard (3)

force-gamemode true, false false Always False (or not defined) prevents the server from sending to the client gamemode values other than the gamemode value saved by the server during world creation even if those values are set in server.properties after world creation. True forces the server to send to the client gamemode values other than the gamemode value saved by the server during world creation if those values are set in server.properties after world creation.
gamemode survival, creative, adventure survival Always Sets the game mode for new players. This is applied at the time the player first joins the server. Changing this setting will not change the gamemode for existing players.


Values correlate to the integer gamemodes as follows:

survival (0)

creative (1)

adventure (2)

level-name Any string Bedrock level Always The "level-name" value is used as the world name and its folder name. The player may also copy their saved game folder here, and change the name to the same as that folder's to load it instead. Cannot contain illegal filename characters: /\n\r\t\f`?*\\<>|\": 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 If left empty, a seed is chosen at random.
level-type FLAT, LEGACY, DEFAULT DEFAULT World creation Determines the type of map that is generated.
max-players Positive integer 10 Always The maximum number of players that can play on the server. Higher values have performance impact.
max-threads Any integer 8 Always Maximum number of threads the server tries to use. If set to 0 or removed then it uses as many as possible.
online-mode true, false true Always If true then all connected players must be authenticated to Xbox Live.
player-idle-timeout Any integer 30 Always After a player has idled for this many minutes they get kicked.
player-movement-distance-threshold Any positive number 0.3 Always The difference between server and client positions that needs to be exceeded before abnormal behavior is detected. Disabled by server-authoritative-movement.
player-movement-duration-threshold-in-ms Any positive integer 500 Always The duration of time the server and client positions can be out of sync (as defined by player-movement-distance-threshold) before the abnormal movement score is incremented. This value is defined in milliseconds.
player-movement-score-threshold Any positive integer 20 Always The number of incongruent time intervals needed before abnormal behavior is reported.
server-authoritative-block-breaking true, false false Always If true, the server will compute block mining operations in sync with the client so it can verify that the client should be able to break blocks when it thinks it can.
server-authoritative-movement client-auth, server-auth, server-auth-with-rewind server-auth Always Enables server authoritative movement. If server-auth, the server will replay local user input on the server and send down corrections when the client's position doesn't match the server's. If "server-auth-with-rewind" is enabled and the server sends a correction, the clients will be instructed to rewind time back to the correction time, apply the correction, then replay all the player's inputs since then. This results in smoother and more frequent corrections. Corrections will only happen if correct-player-movement is set to server-auth.
server-name Any string Dedicated Server Always Used as the server name. Cannot contain a ":" (colon). This is the server name shown in the in-game server list.
server-port Integers in the range [1, 65535] 19132 Always Which IPv4 port the server should listen to.
server-portv6 Integers in the range [1, 65535] 19133 Always Which IPv6 port the server should listen to.
texturepack-required true, false false Always Force clients to use texture packs in the current world
tick-distance An integer in the range [4, 12] 4 Always The world is ticked this many chunks away from any player. Higher values have performance impact.
view-distance Any positive integer greater than or equal to 5 32 Always The maximum allowed view distance in number of chunks. Higher values have performance impact.

Minecraft Classic server properties

Key Type Default Value Description
admin-slot boolean false Allow ops to join even if the server is full.
grow-trees boolean Whether or not the server allows planted saplings to grow into trees.
true - the server allows saplings to grow into trees.
false - the server does not allow saplings to grow into trees.
max-connections integer (1-3) The max number of connections the server accepts from the same IP.

Note: If set higher than 3, it is changed back to 3.

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 uses more resources. Note also, admin connections are not counted against the max players.
motd string MOTD is short for Message of the day, though the player does not need to change it every day. The MOTD is displayed when people join the server.
public boolean Whether the server should be displayed in the server list, or not.
true - The server appears in the server list - anyone can see it.
false - Only people with the URL that 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.
verify-names[unofficial name] boolean true If enabled, the server ensures that the client is logged in with the same IP address seen 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 sees the local IP (127.0.0.1) while Minecraft.net sees the external IP. It is recommended that this is enabled unless the player want to play on the player's server from the same computer the player is hosting it on.
true - Enabled. The server checks all names with Minecraft.net
false - Disabled. The server makes sure the IP matches

History

Clock JE3
This section 's factual accuracy may be compromised due to out-of-date information. 
Please update this section to reflect recent updates or newly available information.
Reason: Many settings are not first introduced.
Java Edition Classic
server 1.2Currently earliest archived version.
Current options include port, server-name, max-players, motd, public.
server 1.3Added verify-names, which ensures that the client is logged in with the same IP address seen on Minecraft.net
server 1.5Added max-connections, which limits the maximum connections from one IP.
server 1.9.1Added grow-trees, which won't grow trees unless set to true.
server 1.10Added a warning when verify-names was disabled.
Added admin-slot, which won't let non-admins in if the player count is almost reached.
Java Edition Alpha
server 0.2.0Added monsters option, if set to true will enable monsters.
server 0.2.4Added no-animals option, if set to true will disable animals.
server 0.2.5Added pvp option to disable or enable Player vs Player combat.
Renamed monsters to spawn-monsters and set the default to true
Renamed no-animals to spawn-animals.
Java Edition Beta
1.6Added allow-nether which if set to false denies entry to the nether.
Added view-distance which sets the maximum view distance.
Java Edition
1.0.0Beta 1.9 Prerelease 4Added debug, enable-query, enable-rcon, query.port, rcon.password and rcon.port.
1.111w49aAdded spawn-npcs.
12w01aAdded level-type.
releaseAdded generate-structures.
1.2.112w07aAdded max-build-height.
1.3.112w30aAdded snooper-enabled.
1.4.212w40aAdded spawn-protection.
1.513w05aSetting spawn-protection to 0 now disables spawn protection, instead of protecting a 1×1 area (MC-666).
1.7.213w38aAdded option to disable achievement announcements in chat.
1.814w17aAdded generator-settings.
14w28aAdded option to customize network compression.
1.1116w38aAdded prevent-proxy-connections.
1.1217w18aRemoved option announce-player-achievements as it was replaced by the gamerule announceAdvancements.
1.1418w48adifficulty and gamemode settings now accept string names; integer values are still allowed as legacy option.
1.14.4Pre-Release 4Added function-permission-level option that controls what permission level functions have.
1.15Pre-Release 5Increased server resourcepack size limit to 100 MB.
1.1620w14aAdded sync-chunk-writes option to disable the new synchronous chunk writing.
20w16aAdded enable-jmx-monitoring option that exposes an MBean that exposes the tick times in milliseconds.
20w18aAdded enable-status and entity-broadcast-range-percentage options.
1.16.220w28aAdded rate-limit to set the packet rate-limit for a user.
1.16.4Pre-release 1Added text-filtering-config.
1.1720w45aAdded require-resource-pack which forces users to accept the resource pack.
20w49aRemoved the max-build-height setting.
21w15aAdded resource-pack-prompt for custom message to be shown on resource pack prompt.
1.1821w38aAdded simulation-distance for control the range of entities could be updated.
21w43aRemoved snooper-enabled.
21w44aAdded hide-online-players, which when set to "True", does not send a player list on status requests.
Release Candidate 1Increased server resourcepack size limit to 250 MB.
1.1922w11aAdded max-chained-neighbor-updates to limit the amount of consecutive neighbor updates before skipping additional ones.
level-type's now accept world preset ID instead.
22w17aAdded enforce-secure-profile, which when set to "True", will prevent a player without a Mojang-signed public key from connecting to a server.
22w19aAdded previews-chat, which when set to "True", will enable chat preview.
Added test-rainbow-chat.
Pre-release 1Removed test-rainbow-chat.
1.19.322w42aAdded initial-enabled-packs and initial-disabled-packs.
1.20pre1The file is now read in UTF-8 initially, with previous encoding (ISO 8859-1/Latin 1) as a fallback.
File is now written with UTF-8 encoding.
Upcoming Java Edition
1.20.223w31aAdded new log-ips option (defaults to true).
When set to false, will prevent player IPs from being included in the log when players join the game.
Bedrock Edition
1.6.1Initial release of Bedrock Dedicated Server.
Current options include server-name, gamemode, difficulty, allow-cheats, max-players, online-mode, white-list, server-port, server-port-v6, view-distance, tick-distance, player-idle-timeout, max-threads, level-name, level-seed, default-player-permission, texturepack-required.
1.7.0Renamed default-player-permission to default-player-permission-level.
1.12.0.28Added content-log-file-enabled which enables logging content errors to a file.
1.13.0Added compression-threshold, server-authoritative-movement, player-movement-score-threshold, player-movement-distance-threshold, player-movement-duration-threshold-in-ms, correct-player-movement.
1.16.100Changed default server-authoritative-movement, from "true" to "server-auth" (false is now "client-auth")
1.16.210Added new properties force-gamemode and server-authoritative-block-breaking, as well as server-auth-with-rewind option to server-authoritative-movement.
1.18.10Renamed white-list to allow-list.
Advertisement