Reduce lag and optimize your server
Lag comes from too many chunks loaded, too many entities, a heavy plugin or mod, or terrain generated while players explore. The steps below go from biggest win to smallest. Make one change at a time and test.
What FenixHost already handles
The Java version and launch flags are managed for you and cannot be edited in the panel. Spend your effort on the settings below.
1. Use Paper or Purpur
Vanilla and the old mod loaders are not built for performance. Paper is much faster and still plays like Minecraft. Purpur is Paper with more options. If you run plain Vanilla without mods, switch on Versions; a backup is made automatically.
For mod servers, Fabric is the lighter loader and has well-known performance mods.
2. Lower view and simulation distance
These two have the biggest effect. In Properties, Performance section:
| Setting | Suggested start | Why |
|---|---|---|
| View Distance | 8 to 10 | How many chunks players can see. Each extra chunk of distance costs a lot. |
| Simulation Distance | 5 to 6 | How far mobs, crops and redstone are active around a player. |
Restart the server after changing them.
3. Pre-generate the world
Generating new terrain is one of the heaviest things a server does. Pre-generate it before players need it.
chunky world world
chunky radius 5000
chunky start
- Run
chunky progressto check on it. Usechunky pauseandchunky continueif needed.
A radius of 5000 blocks suits many servers. A large radius takes a long time and a lot of disk space; start smaller if unsure. Set a world border with worldborder set 10000 so players cannot go beyond what you pre-generated.
4. Limit entities
Many mobs, dropped items and animal farms slow down a server.
- Lower Entity Broadcast Range % in Properties if players see many entities from far away.
- On Paper and Purpur, open Files and edit these files (restart afterwards):
config/paper-world-defaults.yml: lower thespawn-limitsvalues, and keepper-player-mob-spawnson.spigot.yml: lowerentity-activation-range(for example animals 16, monsters 24) andmob-spawn-range. Raisemerge-radiusfor items and experience.bukkit.yml: thespawn-limitssection also controls how many mobs spawn.
- Reduce the size of animal pens and villager halls, and avoid huge automatic farms.
Very low entity activation ranges can make mobs look frozen until you are close. Lower them gradually.
5. Find the real cause with spark
For lag with no obvious cause, install spark from Plugins and run:
spark profiler start
Play normally for a few minutes, then:
spark profiler stop
It prints a link to a report that shows which plugins, entities or chunks use the most time. Paper also has /tps (should be close to 20) and /mspt.
6. Plugins, mods and memory
- Remove plugins and mods you no longer use.
- Do not use
/reload; restart instead. - If the MEMORY card on the Console sits at the limit, you have too many plugins or mods, or too much world loaded. If it persists after trimming, upgrade the plan from the service page in the store.
- Use Pause When Empty Seconds in Properties if the server is often empty.
7. Ask Fenix for a check-up
Fenix checks CPU, memory and disk and reads the console and latest log. Ask "my server lags, can you check it?". It explains what it finds and proposes a change; nothing is applied until you press Apply.
Checklist
- Run Paper or Purpur.
- View distance 8-10, simulation distance 5-6.
- Pre-generate the world and set a world border.
- Trim entities and mob spawns.
- Profile with spark.
- Remove unused plugins and mods.
Still lagging: contact support with your server details and the spark report link.