Articles on: Minecraft
This article is also available in:

All about server.properties



Introduction



In this article you will find all the information you need to know about the server.properties file


🤔 Understanding this file 🤔



What is this file?



This file stores all the settings for a Multiplayer server. When editing this file, it is important to respect the original structure of the file. The text after the ""="" sign is the value of the property you want to edit and can be changed, the value must be next to the property, without spaces.

Where can I find this file?



The file should be in the main directory, named server.properties

If you don't see the file, restart OR reinstall your server, and it will be created.

Editing this file



Bedrock's properties file is not the same as Java's, but here we will explain what each property means and the possible values ​​:D


📱 Minecraft Bedrock 📱




Values are as of Minecraft Bedrock 1.20.0.20
KeySupported ValuesDefault ValueDescription
allow-cheatstruefalsefalseIf true then cheats like commands can be used.
allow-listtreufalsefalseIf true then all connected players must be listed in the separate allowlist.json file.
compression-threshold1 - 655351Determines the smallest size of raw network payload to compress.
content-log-file-enabledtruefalsefalseEnables logging content errors to a file.
correct-player-movementtruefalsefalseIf true, the client position will get corrected to the server position if the movement score exceeds the threshold.
default-player-permission-levelvistor, member, operatormemberPermission level for new players joining for the first time.
difficultypeaceful, easy, normal, hardeasySets the difficulty of the world.
force-gamemodetrue, falsefalseFalse (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.
gamemodesurvival, creative, adventuresurvivalSets 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.
level-name-Bedrock levelThe "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`?*\\<>
level-seed--Use to randomize the world. If left empty, a seed is chosen at random.
level-typeFLAT, LEGACY, DEFAULTDEFAULTDetermines the type of map that is generated.
max-players-10The maximum number of players that can play on the server.
max-threads-8Maximum number of threads the server tries to use. If set to 0 or removed then it uses as many as possible.
online-modetrue, falsetrueIf true then all connected players must be authenticated to Xbox Live.
player-idle-timeout-30After a player has idled for this many minutes they get kicked.
player-movement-distance-threshold0.1 - (2^16 - 2)0.3The difference between server and client positions that needs to be exceeded before abnormal behavior is detected.
player-movement-duration-threshold-in-ms-500The 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.
player-movement-score-threshold-20The number of incongruent time intervals needed before abnormal behavior is reported.
server-authoritative-block-breakingtrue, falsefalseIf 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-movementclient-auth, server-auth, server-auth-with-rewindserver-authEnables 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. Note: Corrections will only happen if correct-player-movement is set to server-auth
server-name-Dedicated ServerUsed as the server name. Cannot contain a ":" (colon)
server-port1 - 6553519132Which IPv4 port the server should listen to.
server-portv61 - 6553519133Which IPv6 port the server should listen to.
texturepack-requiredtrue, falsefalseForce clients to use texture packs in the current world
tick-distance4 - 124The world is ticked this many chunks away from any player.
view-distance5 - (2^16 - 2)32The maximum allowed view distance in number of chunks.



💻 Minecraft Java 💻



Values are updated as of Minecraft Version 1.20.4

KeySupported ValuesDefault ValueDescription
allow-flighttrue, falsefalseAllows 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.
allow-nethertrue, falsetrueAllows players to travel to the Nether. Setting this to false will disable Nether Portals
broadcast-console-to-opstrue, falsetrueSend console command outputs to all online operators.
broadcast-rcon-to-opstrue, falsetrueSend rcon console command outputs to all online operators.
difficultypeaceful, easy, normal, hardeasyDefines the difficulty (such as damage dealt by mobs and the way hunger and poison affects players) of the server.
enable-command-blocktrue, falsefalseEnables command blocks
enable-jmx-monitoringtrue, falsefalseExposes 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
enable-rcontrue, falsefalseEnables remote access to the server console. Note: 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-statustrue, falsetrueMakes 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-querytrue, falsefalseEnables GameSpy4 protocol server listener. Used to get information about server.
enforce-secure-profiletrue, falsetrueIf set to true, players without a Mojang-signed public key will not be able to connect to the server.
enforce-whitelisttrue, falsefalseEnforces 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.
entity-broadcast-range-percentage10 - 1000100Controls 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-gamemodetrue, falsefalseForce players to join in the default game mode.
function-permission-level1 - 42Sets the default permission level for functions.
gamemodesurvival, creative, adventure, spectatorsurvivalDefines the mode of gameplay. If a legacy gamemode number is specified, it is silently converted to a gamemode name.
generate-structurestrue, falsetrueDefines whether structures (such as villages) can be generated. Note: Dungeons still generate if this is set to false
generator-settings-{}The settings used to customize world generation. Follow its format and write the corresponding JSON string. Remember to escape all : with \:
hardcoretrue, falsefalseIf set to true, server difficulty is ignored and set to hard and players are set to spectator mode if they die.
hide-online-playerstrue, falsefalseIf set to true, a player list is not sent on status requests.
initial-disabled-packs--Comma-separated list of datapacks to not be auto-enabled on world creation.
initial-enabled-packs-vanillaComma-separated list of datapacks to be enabled during world creation. Feature packs need to be explicitly enabled.
level-name-worldThe "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 (e.g World\'s End ).
level-seed--Sets a world seed for the player's world, as in Singleplayer. The world generates with a random seed if left blank.
level-typenormal, flat, large_biomes, amplified, single_biome_surfaceminecraft:normalDetermines 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.
max-chained-neighbor-updates-1000000Limiting the amount of consecutive neighbor updates before skipping additional ones. Negative values (-1) remove the limit.
max-players0- (2^31 - 1)20The 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-1 or 0 – (2^63 - 1)60000The 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
max-world-size1-2999998429999984This 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-A Minecraft ServerThis 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-256By 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-modetrue, falsetrueServer 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.
op-permission-level0 - 44Sets the default permission level for ops when using /op.
player-idle-timeout-0If non-zero, players are kicked from the server if they are idle for more than that many minutes.
prevent-proxy-connectionstrue, falsefalseIf the ISP/AS sent from the server is different from the one from Mojang Studios' authentication server, the player is kicked.
previews-chattrue, falsefalseIf set to true, chat preview will be enabled.
pvptrue, falsetrueEnable PvP on the server. Players shooting themselves with arrows receive damage only if PvP is enabled. 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.port1 - (2^16 - 2)25565Sets the port for the query server (see enable-query).
rate-limit-0Sets the maximum amount of packets a user can send before getting kicked. Setting to 0 disables this feature.
rcon.password--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.port1 - (2^16 - 2)25575Sets the RCON network port.
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 (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--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. 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--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--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.
server-port1 - (2^16 - 2)25565Changes 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-distance3 - 3210Sets 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.



KeySupported ValuesDefault ValueDescription
snooper-enabledtrue, falsetrueSets whether the server sends snoop data regularly to http://snoop.minecraft.net.
spawn-animalstrue, falsetrueDetermines if animals can spawn.
spawn-monsterstrue, falsetrueDetermines 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.
spawn-npcstrue, falsetrueDetermines whether villagers can spawn.
spawn-protection-16Determines 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-writestrue, falsetrueEnables synchronous chunk writes.
text-filtering-config---
use-native-transporttrue, falsetrueLinux server performance improvements: optimized packet sending/receiving on Linux
view-distance3 - 3210Sets 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-listtrue, falsefalseEnables 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 whitelisted, and there is no need to add them to the whitelist.


📕 Conclusion 📕



That would be it! If any of these properties aren't in your file, your server may be outdated. If your server is in the latest version available, you can add it on your own, respecting the format and supported values

If you have any questions regarding any data exposed here, you can ask in our Discord Server in the chat #community-help

Updated on: 16/02/2024

Was this article helpful?

Share your feedback

Cancel

Thank you!