{"id":1603,"date":"2026-03-24T12:21:49","date_gmt":"2026-03-24T12:21:49","guid":{"rendered":"https:\/\/www.academy-hosting.com\/hosting\/?post_type=docs&#038;p=1603"},"modified":"2026-03-26T14:54:08","modified_gmt":"2026-03-26T14:54:08","password":"","slug":"how-to-properly-edit-server-properties-minecraft-server-guide","status":"publish","type":"docs","link":"https:\/\/www.academy-hosting.com\/hosting\/guides\/manage-your-server\/how-to-properly-edit-server-properties-minecraft-server-guide\/","title":{"rendered":"How to Edit server.properties on Paper or Spigot Minecraft Servers"},"content":{"rendered":"\n<p>If you run a Paper or Spigot-based Minecraft server, learning how to edit server.properties Minecraft server settings correctly is one of the most useful skills you can have. The <code>server.properties<\/code> file controls many of the core rules and behavior of your server, including player limits, difficulty, chunk loading, whitelist access, spawn protection, and several important performance-related settings.<\/p>\n\n\n\n<p>For most server owners, this file is where the real setup begins. It affects how the server feels to players and how well it performs under load. A few smart changes can make a noticeable difference, especially on survival servers, community SMPs, and Paper or Spigot forks that need to stay smooth with multiple players online.<\/p>\n\n\n\n<p>This guide explains how to edit server.properties Minecraft server settings on Paper and Spigot forks, what the most important options do, and which settings are usually worth changing first.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is the server.properties file?<\/h2>\n\n\n\n<p>The <code>server.properties<\/code> file is the main server configuration file used by Minecraft servers, including Paper and Spigot forks. It contains key-value settings such as <code>view-distance<\/code>, <code>simulation-distance<\/code>, <code>max-players<\/code>, <code>difficulty<\/code>, <code>spawn-protection<\/code>, <code>rate-limit<\/code>, and <code>white-list<\/code>. Paper\u2019s documentation lists these as standard <code>server.properties<\/code> options and shows their defaults.<\/p>\n\n\n\n<p>In simple terms, this file controls how your server behaves at a base level before plugins do anything extra.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Where to find server.properties<\/h2>\n\n\n\n<p>On most Paper or Spigot forks, the <code>server.properties<\/code> file sits in the main root directory of the server, alongside files like:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>server.properties\neula.txt\nspigot.yml\nbukkit.yml\npaper-global.yml \/ config files\nplugins\/\nworld\/<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #9ECBFF\">server.properties<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9ECBFF\">eula.txt<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9ECBFF\">spigot.yml<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9ECBFF\">bukkit.yml<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9ECBFF\">paper-global.yml \/ config files<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9ECBFF\">plugins\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9ECBFF\">world\/<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>If you use a hosting panel, you will usually find it in the File Manager in the server\u2019s main folder. If you host locally or on a VPS, it will be in the same directory where the server jar runs from.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to edit server.properties safely<\/h2>\n\n\n\n<p>To edit server.properties Minecraft server settings properly:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Stop the server before making changes.<\/li>\n\n\n\n<li>Open <code>server.properties<\/code> in your panel editor or a text editor.<\/li>\n\n\n\n<li>Change only the values after the <code>=<\/code> sign.<\/li>\n\n\n\n<li>Save the file.<\/li>\n\n\n\n<li>Start the server again so the changes apply.<\/li>\n<\/ol>\n\n\n\n<p>A typical line looks like this:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>view-distance=8<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #9ECBFF\">view-distance=8<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>The setting name stays the same. You only change the number or value on the right side.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why server.properties matters so much on Paper and Spigot<\/h2>\n\n\n\n<p>Paper and Spigot forks give you extra optimization tools through their own config files, but <code>server.properties<\/code> still handles several of the most important core settings. Paper\u2019s reference includes defaults such as <code>view-distance=10<\/code>, <code>simulation-distance=10<\/code>, <code>entity-broadcast-range-percentage=100<\/code>, <code>max-players=20<\/code>, <code>rate-limit=0<\/code>, <code>difficulty=easy<\/code>, <code>allow-flight=false<\/code>, <code>spawn-protection=16<\/code>, and <code>white-list=false<\/code>.<\/p>\n\n\n\n<p>That means even if you use Paper for performance, bad values in <code>server.properties<\/code> can still create unnecessary lag or a poor player experience.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The most important server.properties settings to edit<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">view-distance<\/h3>\n\n\n\n<p><code>view-distance<\/code> controls how much world data the server sends to players, measured in chunks in each direction from the player. Paper documents the default as <code>10<\/code>, with a minimum of <code>3<\/code> and maximum of <code>32<\/code>.<\/p>\n\n\n\n<p>Example:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>view-distance=8<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #9ECBFF\">view-distance=8<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>This is one of the biggest performance settings in the file. Higher view distance means more chunks must be loaded and sent to players. On survival servers, lowering this can make a big difference in lag.<\/p>\n\n\n\n<p>A practical recommendation for many Paper or Spigot servers is:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Small private server: 8 to 10<\/li>\n\n\n\n<li>Public survival server: 6 to 8<\/li>\n\n\n\n<li>Heavier server with more players or plugins: 6 or lower if needed<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">simulation-distance<\/h3>\n\n\n\n<p><code>simulation-distance<\/code> controls how far away living entities and active game logic are updated by the server. Paper documents the default as <code>10<\/code>, with allowed values from <code>3<\/code> to <code>32<\/code>.<\/p>\n\n\n\n<p>Example:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>simulation-distance=6<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #9ECBFF\">simulation-distance=6<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>This affects mobs, redstone, and other active world behavior. If your server struggles with farms, mob-heavy areas, or redstone machines, lowering simulation distance often helps more than people expect.<\/p>\n\n\n\n<p>A good starting point for many servers is <code>4<\/code> to <code>6<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">entity-broadcast-range-percentage<\/h3>\n\n\n\n<p><code>entity-broadcast-range-percentage<\/code> controls how close entities need to be before they are sent to players. Paper documents the default as <code>100<\/code>, and says lower values reduce how far entities are rendered and can reduce lag. Valid values are <code>10<\/code> to <code>1000<\/code>.<\/p>\n\n\n\n<p>Example:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>entity-broadcast-range-percentage=75<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #9ECBFF\">entity-broadcast-range-percentage=75<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>This is useful if you want to reduce the amount of entity update traffic without changing core gameplay too aggressively.<\/p>\n\n\n\n<p>A common optimization range is <code>50<\/code> to <code>75<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">sync-chunk-writes<\/h3>\n\n\n\n<p><code>sync-chunk-writes<\/code> controls synchronous chunk writing. Paper documents the default as <code>true<\/code>, but also notes that on Paper it has no effect by default unless a corresponding system property is enabled.<\/p>\n\n\n\n<p>Example:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sync-chunk-writes=false<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #9ECBFF\">sync-chunk-writes=false<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>This setting is often mentioned in optimization guides, but on Paper specifically, you should understand that it may not change behavior unless you have explicitly enabled the related system property. For many Paper users, this means it is less important than view distance or simulation distance.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">max-players<\/h3>\n\n\n\n<p><code>max-players<\/code> sets the maximum number of players who can be online at once. Paper documents the default as <code>20<\/code>.<\/p>\n\n\n\n<p>Example:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>max-players=20<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #9ECBFF\">max-players=20<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>This should reflect what your hardware can actually handle, not just the biggest number you want to advertise.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">rate-limit<\/h3>\n\n\n\n<p><code>rate-limit<\/code> sets the maximum allowed number of packets before a player is kicked. Paper documents the default as <code>0<\/code>, which disables the limit.<\/p>\n\n\n\n<p>Example:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>rate-limit=5<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #9ECBFF\">rate-limit=5<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>This can help reduce certain spam or packet abuse scenarios. It is not a magic anti-bot setting, but it can be useful on public servers.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">difficulty<\/h3>\n\n\n\n<p><code>difficulty<\/code> defines the game difficulty. Paper lists allowed values as <code>peaceful<\/code>, <code>easy<\/code>, <code>normal<\/code>, and <code>hard<\/code>, with <code>easy<\/code> as the documented default.<\/p>\n\n\n\n<p>Example:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>difficulty=normal<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #9ECBFF\">difficulty=normal<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>For most survival communities, <code>normal<\/code> or <code>hard<\/code> feels better than <code>easy<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">allow-flight<\/h3>\n\n\n\n<p><code>allow-flight=false<\/code> is the Paper-documented default. This setting prevents players in survival from being kicked for flying, which often relates to cheats but can also affect edge cases.<\/p>\n\n\n\n<p>Example:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>allow-flight=false<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #9ECBFF\">allow-flight=false<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Most servers should leave this off unless they have a specific reason to allow it.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">spawn-protection<\/h3>\n\n\n\n<p><code>spawn-protection<\/code> controls the side length formula of protected spawn blocks and defaults to <code>16<\/code>. Paper notes that setting it to <code>0<\/code> disables spawn protection, and it only works when at least one operator exists.<\/p>\n\n\n\n<p>Example:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>spawn-protection=0<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #9ECBFF\">spawn-protection=0<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>If you use a land claim plugin or custom spawn system, you may want to disable vanilla spawn protection.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">white-list<\/h3>\n\n\n\n<p><code>white-list<\/code> defaults to <code>false<\/code>. When enabled, only approved players can join. Paper also documents <code>enforce-whitelist=false<\/code>, which controls whether non-whitelisted players are kicked when whitelist rules are enforced.<\/p>\n\n\n\n<p>Example:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>white-list=true<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #9ECBFF\">white-list=true<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>This is useful for private SMPs, creator servers, or testing environments.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Recommended starting values for many Paper and Spigot servers<\/h2>\n\n\n\n<p>If your goal is a balanced survival server with decent performance, this is a practical starting point:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>view-distance=8\nsimulation-distance=6\nentity-broadcast-range-percentage=75\nsync-chunk-writes=false\nmax-players=20\nrate-limit=5\ndifficulty=normal\nallow-flight=false\nspawn-protection=0\nwhite-list=false<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color: #24292e\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #9ECBFF\">view-distance=8<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9ECBFF\">simulation-distance=6<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9ECBFF\">entity-broadcast-range-percentage=75<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9ECBFF\">sync-chunk-writes=false<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9ECBFF\">max-players=20<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9ECBFF\">rate-limit=5<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9ECBFF\">difficulty=normal<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9ECBFF\">allow-flight=false<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9ECBFF\">spawn-protection=0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9ECBFF\">white-list=false<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>These are not universal best settings for every server, but they are a much more realistic starting point than leaving everything at stock defaults on a busy community server.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What each setting actually changes<\/h2>\n\n\n\n<p>A lot of guides dump settings without explaining the effect. Here\u2019s the plain-English version.<\/p>\n\n\n\n<p>Lower <code>view-distance<\/code> means fewer chunks are sent to players, which reduces chunk load and network overhead.<\/p>\n\n\n\n<p>Lower <code>simulation-distance<\/code> means fewer chunks stay actively ticking, which reduces mob, redstone, and farm-related workload.<\/p>\n\n\n\n<p>Lower <code>entity-broadcast-range-percentage<\/code> means players receive entity updates from a shorter range, which can reduce server and client strain.<\/p>\n\n\n\n<p>Lower <code>spawn-protection<\/code> or disabling it avoids conflicts with plugins and custom spawns.<\/p>\n\n\n\n<p>A realistic <code>max-players<\/code> prevents your server from advertising more capacity than it can smoothly support.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">A note about Paper and Spigot forks<\/h2>\n\n\n\n<p>If you are using Paper, Purpur, Pufferfish, or another Spigot-based fork, <code>server.properties<\/code> still matters, but it is only one layer of optimization. Paper also has its own documented config systems for deeper tuning. The base values in <code>server.properties<\/code> should be treated as your foundation, and then fork-specific configs can be adjusted after that.<\/p>\n\n\n\n<p>In other words, do not ignore <code>server.properties<\/code>, but do not expect it to solve every lag issue by itself either.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Common mistakes when editing server.properties<\/h2>\n\n\n\n<p>The most common problems are simple:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Editing the wrong file<\/li>\n\n\n\n<li>Forgetting to restart the server<\/li>\n\n\n\n<li>Setting view distance too high<\/li>\n\n\n\n<li>Setting max players unrealistically high<\/li>\n\n\n\n<li>Copying old optimization advice that does not fully apply to current Paper behavior<\/li>\n\n\n\n<li>Changing too many settings at once and not knowing which one caused the result<\/li>\n<\/ul>\n\n\n\n<p>The safest approach is to change a few values, restart, test performance, and then adjust again if needed.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Best use cases for editing server.properties on Paper or Spigot<\/h2>\n\n\n\n<p>This file is especially important when you are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Launching a brand-new server<\/li>\n\n\n\n<li>Fixing lag on an SMP<\/li>\n\n\n\n<li>Tuning a public survival server<\/li>\n\n\n\n<li>Preparing for a player-count increase<\/li>\n\n\n\n<li>Moving from Vanilla to Paper<\/li>\n\n\n\n<li>Cleaning up a server that has grown beyond default settings<\/li>\n<\/ul>\n\n\n\n<p>If you run any kind of active Minecraft community, knowing how to <strong>edit server.properties Minecraft server<\/strong> settings is basic maintenance, not an optional skill.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">A simple workflow for server owners<\/h2>\n\n\n\n<p>A practical order for most owners looks like this:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Set <code>max-players<\/code> realistically.<\/li>\n\n\n\n<li>Lower <code>view-distance<\/code> first.<\/li>\n\n\n\n<li>Lower <code>simulation-distance<\/code> if farms, mobs, or redstone are causing strain.<\/li>\n\n\n\n<li>Reduce <code>entity-broadcast-range-percentage<\/code> if needed.<\/li>\n\n\n\n<li>Review access and gameplay settings like <code>white-list<\/code>, <code>difficulty<\/code>, and <code>spawn-protection<\/code>.<\/li>\n\n\n\n<li>Test and repeat.<\/li>\n<\/ol>\n\n\n\n<p>That gives you cleaner results than trying ten random changes at once.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Smoothly tuned servers start here<\/h2>\n\n\n\n<p>For a lot of Paper and Spigot server owners, the easiest wins come from the simplest file. The <code>server.properties<\/code> file is not flashy, but it controls some of the most important pieces of the player experience. When it is tuned properly, your server feels smoother, loads fewer unnecessary chunks, handles activity better, and gives you more predictable performance.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you run a Paper or Spigot-based Minecraft server, learning how to edit server.properties Minecraft server settings correctly is one of the most useful skills you can have. The server.properties file controls many of the core rules and behavior of your server, including player limits, difficulty, chunk loading, whitelist access, spawn protection, and several important [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":1608,"comment_status":"open","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"doc_category":[22,17],"doc_tag":[],"class_list":["post-1603","docs","type-docs","status-publish","has-post-thumbnail","hentry","doc_category-manage-your-server","doc_category-minecraft-guides"],"acf":[],"year_month":"2026-05","word_count":1607,"total_views":0,"reactions":{"happy":0,"normal":0,"sad":0},"author_info":{"name":"relyzishere","author_nicename":"relyzishere","author_url":"https:\/\/www.academy-hosting.com\/hosting\/author\/relyzishere\/"},"doc_category_info":[{"term_name":"Manage your server","term_url":"https:\/\/www.academy-hosting.com\/hosting\/guides-category\/manage-your-server\/"},{"term_name":"Minecraft Guides","term_url":"https:\/\/www.academy-hosting.com\/hosting\/guides-category\/minecraft-guides\/"}],"doc_tag_info":[],"_links":{"self":[{"href":"https:\/\/www.academy-hosting.com\/hosting\/wp-json\/wp\/v2\/docs\/1603","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.academy-hosting.com\/hosting\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/www.academy-hosting.com\/hosting\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/www.academy-hosting.com\/hosting\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.academy-hosting.com\/hosting\/wp-json\/wp\/v2\/comments?post=1603"}],"version-history":[{"count":3,"href":"https:\/\/www.academy-hosting.com\/hosting\/wp-json\/wp\/v2\/docs\/1603\/revisions"}],"predecessor-version":[{"id":1610,"href":"https:\/\/www.academy-hosting.com\/hosting\/wp-json\/wp\/v2\/docs\/1603\/revisions\/1610"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.academy-hosting.com\/hosting\/wp-json\/wp\/v2\/media\/1608"}],"wp:attachment":[{"href":"https:\/\/www.academy-hosting.com\/hosting\/wp-json\/wp\/v2\/media?parent=1603"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/www.academy-hosting.com\/hosting\/wp-json\/wp\/v2\/doc_category?post=1603"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/www.academy-hosting.com\/hosting\/wp-json\/wp\/v2\/doc_tag?post=1603"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}