> ## Documentation Index
> Fetch the complete documentation index at: https://help.freakhosting.com/llms.txt
> Use this file to discover all available pages before exploring further.

# How to Fix Minecraft Server Lag & Low TPS

> Diagnose and fix Minecraft server lag by understanding TPS vs. ping, optimizing configurations, pre-generating chunks, and eliminating performance issues.

## Identifying the Source of Lag

In the Minecraft ecosystem, "Lag" is a generalized term that frequently describes two distinct technical phenomena. To resolve performance issues effectively, you must first identify the root cause:

* **Server Lag (Low TPS):** The server's CPU cannot process world events (ticking) within the required 50ms window. This results in "rubber-banding" and delayed entity movements. A "Perfect" server operates at **20.0 TPS**.
* **Network Lag (High Ping):** The physical latency between the player's computer and the FREAKHOSTING data center. This results in delayed block-breaking and chat latency.

This guide focuses on maximizing your **TPS** to ensure a 20.0 high-performance experience for your community.

<CardGroup cols={2}>
  <Card title="Difficulty" icon="gauge-low">
    Intermediate
  </Card>

  <Card title="Time" icon="clock">
    12 Minutes
  </Card>
</CardGroup>

***

## 1. The Strategy of World Pre-Generation

Real-time terrain generation is the most CPU-intensive task a Minecraft server performs. When players fly into unexplored territory, the server must calculate biomes, structures, and block placement instantly, often causing massive TPS drops.

* **The Solution:** use the **Chunky** plugin to programmatically render your world border during off-peak hours.
* **Technical Goal:** Pre-generating a **5,000 to 10,000 block radius** ensures that the server only needs to "read" existing files from the high-speed NVMe storage rather than calculating them on the fly, eliminating 90% of explorer-related lag.

***

## 2. Technical Configuration Hardening

Tuning your core property files is the fastest method for reclaiming wasted CPU cycles.

### server.properties

* **`view-distance`:** Set to **`6`**. The vanilla default (10) requires the server to track and process nearly 400% more chunks than a setting of 6.
* **`simulation-distance`:** Set to **`4`**. This restricts active entity AI and ticking logic to a tight radius around the player, preserving resources for core world events.

### bukkit.yml

* **`spawn-limits`:** Reduce `monsters` to **45** and `animals` to **8**.
* **`ticks-per.monster-spawns`:** Set to **4**. This instructs the engine to check for new spawns every 4 ticks rather than every single tick, reducing AI overhead by 75%.

### spigot.yml

* **`entity-activation-range`:** Set `monsters` to **24** and `animals` to **16**. Entities outside this range will "hibernate," pausing their AI logic until a player approaches.

***

## 3. Advanced Diagnostic Profiling (Spark)

If lag persists after configuration hardening, a specific modification or entity farm is likely the culprit.

<Steps>
  <Step title="Initialize the Profiler">
    Install the **Spark** plugin and execute: `/spark profiler start`.
  </Step>

  <Step title="Data Capture">
    Monitor the server during a period of active lag for approximately 10 minutes.
  </Step>

  <Step title="Generate Flame Graph">
    Execute: `/spark profiler stop`.
  </Step>

  <Step title="Technical Review">
    Open the generated URL. The hierarchical graph will pinpoint exactly which plugin, event, or entity type is consuming the highest percentage of your CPU's "tick time."
  </Step>
</Steps>

***

<Important>
  ### The Choice of Modloader

  Paper (and high-performance forks like Purpur) are architected with significantly more efficient internal logic than standard Vanilla or Spigot builds. If your community is experiencing performance hurdles, your first technical step should always be transitioning to **Paper**.
</Important>

***

<Note>
  ### Need Extra Help?

  If you encounter any issues, our support team is ready to assist:

  * **Live Chat:** Quick assistance via our website.
  * **Support Ticket:** [Open a Ticket](https://freakhosting.com/clientarea/submitticket.php)
  * **Discord:** [Join our Community](https://discord.gg/freakhosting)
  * **Email:** [support@freakhosting.com](mailto:support@freakhosting.com)
</Note>

<Tip>
  ### Save on Your Hosting

  Ready to get a new server? Use code **KB20** at checkout for **20% off** your first month!
</Tip>

***

<div align="center">
  **Last Updated:** January 2026 | **Performance:** 20.0 TPS achieved.
</div>
