[{"data":1,"prerenderedAt":33},["ShallowReactive",2],{"doc-en-reduce-entity-lag-minecraft":3},{"path":4,"slug":5,"title":6,"description":7,"category":8,"subcategory":9,"icon":10,"date":11,"author":12,"order":13,"image":14,"tags":15,"keywords":21,"docGroup":30,"docGroupIcon":30,"link_fr":31,"bodyHtml":32},"\u002Fdocs\u002Fen\u002Fgaming\u002Fminecraft-java\u002Freduce-entity-lag-minecraft","reduce-entity-lag-minecraft","How to Reduce Entity Lag on a Minecraft Server","Complete optimization guide to reduce lag caused by entities (mobs, items, frames) on your Minecraft server. Tweak configs, use scheduled tasks, and apply best practices.","jeux","minecraft-java","tabler:file-text","2026-08-11","Winheberg",62,"\u002Fstatics\u002Fimages\u002Fdocs\u002Fen\u002Fgaming\u002Fminecraft-java\u002Freduce-entity-lag-minecraft.webp",[16,17,18,19,20],"minecraft","plugins","configuration","server","optimization",[22,23,24,25,26,27,28,29],"entity lag minecraft","optimize minecraft server","fix tps drop minecraft","scheduled tasks minecraft","mobstacker plugin","paper yml entities","purpur config mobs","winheberg panel guide","","\u002Fdocs\u002Fminecraft-java\u002Freduire-lag-entites-minecraft","\u003Ch1>Guide: How to Optimize Entities &amp; Eliminate Lag on Your Minecraft Server\u003C\u002Fh1>\n\u003Ch2>Context and Purpose\u003C\u002Fh2>\n\u003Cp>On a Minecraft server, sudden performance drops (drops in \u003Cstrong>TPS\u003C\u002Fstrong> or \u003Cem>Ticks Per Second\u003C\u002Fem>) are frequently caused by an excessive build-up of \u003Cstrong>entities\u003C\u002Fstrong>. An entity includes anything that is not a static block: mobs, animals, dropped items, arrows, villagers, item frames, and armor stands.\u003C\u002Fp>\n\u003Cp>Every active entity demands continuous CPU cycles from your host node (AI calculations, collision checks, pathfinding, gravity). When their total count exceeds CPU capacity, the server starts experiencing tick lag.\u003C\u002Fp>\n\u003Cp>This technical guide walks you through configuring your server files, automating cleans without plugins via your control panel, utilizing specialized tools, and establishing best practices to drastically optimize entity management on your \u003Ca href=\"https:\u002F\u002Fpanel.winheberg.com\">Winheberg panel\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch2>Step 1: Switch to an Optimized Server Software\u003C\u002Fh2>\n\u003Cp>Before tweaking a single line of config, ensure your server is not running default Vanilla software or outdated CraftBukkit\u002FSpigot builds.\u003C\u002Fp>\n\u003Cdiv class=\"markdown-alert markdown-alert-important\">\u003Cspan class=\"alert-icon\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Cpath d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10z\"\u002F>\u003Cpath d=\"M12 8v4\"\u002F>\u003Cpath d=\"M12 16h.01\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\u003Cdiv class=\"markdown-alert-body\">\u003Cp>To apply the optimizations detailed in this guide, you must run \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fpapermc.io\u002F\">Paper\u003C\u002Fa>\u003C\u002Fstrong>, \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fpufferfish.host\u002F\">Pufferfish\u003C\u002Fa>\u003C\u002Fstrong>, or \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fpurpurmc.org\u002F\">Purpur\u003C\u002Fa>\u003C\u002Fstrong>. These server jars feature built-in performance patches and advanced config options tailored specifically for entity management.\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Cp>You can change your server software with a single click in the \u003Cstrong>Versions\u003C\u002Fstrong> tab on your \u003Ca href=\"https:\u002F\u002Fpanel.winheberg.com\">Winheberg panel\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch2>Step 2: Fine-Tune Configuration Files\u003C\u002Fh2>\n\u003Cp>Configuration files at the root directory of your server provide the most effective controls to reduce entity load without ruining gameplay mechanics. Access the \u003Cstrong>File manager\u003C\u002Fstrong> tab on your panel to edit the following files.\u003C\u002Fp>\n\u003Ch3>1. Adjust \u003Ccode>spigot.yml\u003C\u002Fcode>\u003C\u002Fh3>\n\u003Cp>This file controls activation distances where entities begin calculating AI logic.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-yaml\">world-settings:\n  default:\n    # Reduces the distance (in blocks) at which entities activate\n    entity-activation-range:\n      animals: 16\n      monsters: 24\n      raiders: 48\n      misc: 8\n    # Limits AI tracking calculations (in ticks)\n    entity-tracking-range:\n      players: 48\n      animals: 48\n      monsters: 48\n      misc: 32\n    # Merges dropped items together to reduce physical entity counts\n    merge-radius:\n      item: 3.5\n      exp: 4.0\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>2. Adjust \u003Ccode>paper-world-defaults.yml\u003C\u002Fcode>\u003C\u002Fh3>\n\u003Cp>Introduced in modern Paper releases (replacing the legacy \u003Ccode>paper.yml\u003C\u002Fcode>), this file limits mob clustering.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-yaml\">entities:\n  behavior:\n    # Disables complex entity collisions past a strict threshold\n    max-entity-collisions: 2\n    # Prevents entities from overloading Nether portals\n    portal-search-radius: 8\n  spawning:\n    # Caps the maximum number of entities per chunk (vital for mob farms)\n    max-chunk-entities:\n      monsters: 20\n      animals: 15\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>3. Adjust \u003Ccode>purpur.yml\u003C\u002Fcode> (If using Purpur)\u003C\u002Fh3>\n\u003Cp>Purpur grants granular control over villager AI processing, which is notoriously heavy on server CPUs.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-yaml\">settings:\n  # Disables pathfinding ticks if a villager is stationary or trapped\n  villager_brain_ticks: 2\n  villager_lobotomize:\n    enabled: true\n    check-interval: 100\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Step 3: Automate Cleans WITHOUT Plugins (Scheduled Tasks)\u003C\u002Fh2>\n\u003Cp>If you prefer not to bloat your server with third-party plugins like \u003Cem>\u003Ca href=\"https:\u002F\u002Fdev.bukkit.org\u002Fprojects\u002Fclearlagg\">ClearLagg\u003C\u002Fa>\u003C\u002Fem>, you can use the native \u003Cstrong>Schedules\u003C\u002Fstrong> feature built into your \u003Ca href=\"https:\u002F\u002Fpanel.winheberg.com\">Winheberg panel\u003C\u002Fa>. This native method is ultra-lightweight and runs commands directly from the console.\u003C\u002Fp>\n\u003Ch3>Setting up an automatic dropped item wipe:\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Open your \u003Ca href=\"https:\u002F\u002Fpanel.winheberg.com\">Winheberg panel\u003C\u002Fa> and navigate to the \u003Cstrong>Schedules\u003C\u002Fstrong> tab.\u003C\u002Fli>\n\u003Cli>Click \u003Cstrong>Create Schedule\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Name the task (e.g., \u003Ccode>Entity Wipe\u003C\u002Fcode>) and enter a Cron expression (e.g., every 2 hours using \u003Ccode>0 *\u002F2 * * *\u003C\u002Fcode>). Save it.\u003C\u002Fli>\n\u003Cli>Click on the created schedule, then select \u003Cstrong>New Task\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Set the action to \u003Cstrong>Send command\u003C\u002Fstrong> and enter the following native Vanilla command:\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cpre>\u003Ccode class=\"language-bash\">kill @e[type=item]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Col start=\"6\">\n\u003Cli>\u003Cem>(Optional)\u003C\u002Fem> Add a preceding task with a short delay to broadcast an in-game warning: \u003Ccode>say [Notice] Automatic dropped item cleanup in 60 seconds!\u003C\u002Fcode>.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cdiv class=\"markdown-alert markdown-alert-tip\">\u003Cspan class=\"alert-icon\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"M12 16v-4\"\u002F>\u003Cpath d=\"M12 8h.01\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\u003Cdiv class=\"markdown-alert-body\">\u003Cp>You can create a second night-time schedule to remove abandoned arrows and projectiles clogging memory:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">kill @e[type=minecraft:arrow]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Ch2>Step 4: Install Entity Management Plugins\u003C\u002Fh2>\n\u003Cp>For high-population servers where scheduled wipes aren&#39;t enough to contain real-time player activities (massive mob farms, overcrowded breeding pens), dedicated tools can be installed via the \u003Cstrong>Plugins\u003C\u002Fstrong> manager in your panel.\u003C\u002Fp>\n\u003Ch3>1. MobStacker (Mob Stacking)\u003C\u002Fh3>\n\u003Cp>The \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fmodrinth.com\u002Fplugin\u002Fmobs-stacker\">MobStacker\u003C\u002Fa>\u003C\u002Fstrong> plugin (or modern alternatives like \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwww.spigotmc.org\u002Fresources\u002Frosestacker.82729\u002F\">RoseStacker\u003C\u002Fa>\u003C\u002Fstrong>) is essential for Skyblock and Factions servers. It merges nearby identical entities into a single physical entity displaying a quantity tag (e.g., \u003Ccode>Sheep x50\u003C\u002Fcode>). The server processes only 1 AI thread and 1 collision box instead of 50.\u003C\u002Fp>\n\u003Ch3>2. Chunky (World Pre-generation)\u003C\u002Fh3>\n\u003Cp>Entity lag is often exacerbated by chunk generation lag. Use \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwww.spigotmc.org\u002Fresources\u002Fchunky.81534\u002F\">Chunky\u003C\u002Fa>\u003C\u002Fstrong> to pre-generate your world map. This frees up CPU power so it can focus entirely on entity ticks instead of rendering terrain live.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">\u002Fchunky radius 5000\n\u002Fchunky start\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>3. MobLimiter or FarmLimiter\u003C\u002Fh3>\n\u003Cp>Plugins like \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fmodrinth.com\u002Fplugin\u002Fmoblimiter\">MobLimiter\u003C\u002Fa>\u003C\u002Fstrong> or \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwww.spigotmc.org\u002Fresources\u002Ffarmlimiter.1419\u002F\">FarmLimiter\u003C\u002Fa>\u003C\u002Fstrong> target intensive livestock farms by enforcing strict entity caps within a block radius (e.g., a hard cap of 20 cows per chunk). Once reached, further breeding or spawning is blocked.\u003C\u002Fp>\n\u003Ch2>Step 5: Identify Lag Sources with Spark\u003C\u002Fh2>\n\u003Cp>Avoid changing settings blind—always profile your server to locate which entities consume resources. The \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fspark.lucko.me\u002F\">Spark\u003C\u002Fa>\u003C\u002Fstrong> profiler comes pre-installed or easily added on Paper\u002FPurpur.\u003C\u002Fp>\n\u003Col>\n\u003Cli>Execute the following command in-game or through your panel console:\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cpre>\u003Ccode class=\"language-bash\">\u002Fspark profiler start --timeout 300\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Col start=\"2\">\n\u003Cli>Let the server run normally under average load for 5 minutes.\u003C\u002Fli>\n\u003Cli>Spark will output a web link. Open it and navigate the thread tree down to the \u003Ccode>Entity Tick\u003C\u002Fcode> section. It will display the exact entity types (e.g., \u003Ccode>Cow\u003C\u002Fcode>, \u003Ccode>Villager\u003C\u002Fcode>, \u003Ccode>ItemFrame\u003C\u002Fcode>) causing tick delays.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch2>Troubleshooting\u003C\u002Fh2>\n\u003Ch3>❌ Severe TPS Drops (TPS &lt; 10)\u003C\u002Fh3>\n\u003Cp>The server suffers extreme slowdowns or continuous lag spikes. Check:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>That your scheduled panel tasks or cleaning plugins are executing as planned.\u003C\u002Fli>\n\u003Cli>That item merging settings (\u003Ccode>merge-radius\u003C\u002Fcode>) are properly enabled in \u003Ccode>spigot.yml\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Whether a player left an automated infinite farm running (run \u003Ccode>\u002Fspark\u003C\u002Fcode> to find overloaded chunks).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>❌ Invisible or &quot;Ghost&quot; Entities\u003C\u002Fh3>\n\u003Cp>Spark reports heavy entity loads (e.g., thousands of mobs), but the location looks empty to players. Check:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Desynchronized entities stuck in corrupted chunk buffers. Teleport to the coordinates and force a local purge using: \u003Ccode>\u002Fminecraft:kill @e[type=!player,distance=..32]\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Ensure your server jar (Paper\u002FPurpur) is updated to the latest stable build to resolve visual tracking bugs.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>❌ Wrong Command Used or Important Entities Deleted\u003C\u002Fh3>\n\u003Cp>An overly broad command deleted unintended entities. Check:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>If you have a recent world backup available under the \u003Cstrong>Backups\u003C\u002Fstrong> tab on your Winheberg panel to restore state.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cdiv class=\"markdown-alert markdown-alert-warning\">\u003Cspan class=\"alert-icon\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Cpath d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"\u002F>\u003Cline x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"\u002F>\u003Cline x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\u003Cdiv class=\"markdown-alert-body\">\u003Cp>Running \u003Ccode>\u002Fkill @e\u003C\u002Fcode> without entity target arguments deletes \u003Cstrong>EVERY SINGLE ENTITY\u003C\u002Fstrong> in loaded chunks, including players, trading villagers, item frames, and armor stands. Always use filter tags like \u003Ccode>[type=...]\u003C\u002Fcode> or selective plugins.\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Ch2>Best Practices\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cstrong>Implement Preventive Scheduled Tasks:\u003C\u002Fstrong> Clearing dropped items every 2 to 3 hours prevents item accumulation from AFK players.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Enforce Mob Stacking:\u003C\u002Fstrong> Require plugins like \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fmodrinth.com\u002Fplugin\u002Fmobs-stacker\">MobStacker\u003C\u002Fa>\u003C\u002Fstrong> or \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwww.spigotmc.org\u002Fresources\u002Frosestacker.82729\u002F\">RoseStacker\u003C\u002Fa>\u003C\u002Fstrong> on mob grinders and spawners to preserve CPU headroom.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Regulate Villager Farms:\u003C\u002Fstrong> Iron golem farm panic mechanics (villagers spooked by zombies) force constant pathfinding recalculations. Ask players to isolate or cap these setups.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Limit Decorative Entities:\u003C\u002Fstrong> Item frames and armor stands require client GPU and server CPU processing. Replace them with standard signs or GUI shop plugins where possible.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Lower \u003Ccode>view-distance\u003C\u002Fcode> and \u003Ccode>simulation-distance\u003C\u002Fcode>:\u003C\u002Fstrong> In \u003Ccode>server.properties\u003C\u002Fcode>, set \u003Ccode>simulation-distance\u003C\u002Fcode> to \u003Ccode>4\u003C\u002Fcode> or \u003Ccode>5\u003C\u002Fcode>. This reduces the physics tick radius around players and prevents distant entities from processing unnecessarily.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Need Assistance?\u003C\u002Fh2>\n\u003Cp>If your server TPS remains low after applying these configuration adjustments, your setup may be experiencing memory exhaustion or plugin conflicts.\u003C\u002Fp>\n\u003Cp>We are here to help! Submit a ticket via \u003Ca href=\"https:\u002F\u002Fbilling.winheberg.com\u002Flogin\">support Winheberg\u003C\u002Fa>. Our support team will help you analyze logs and get your server running smoothly! 🎮\u003C\u002Fp>\n",1788993142549]