Logo
MINECRAFTBIBLE
Items
Items

All game items

Blocks
Blocks

Building blocks

Mobs
Mobs

Creatures & monsters

Biomes
Biomes

World biomes

Structures
Structures

Generated structures

Recipes
Recipes

Crafting guides

Advancements
Advancements

Achievements

Loot Tables
Loot Tables

Drop rates

Tags
Tags

Item groupings

All Versions
View all data →
Capes
Cape ArchiveNEW

Browse rare Minecon capes, OptiFine capes, and custom capes from players worldwide

Browse

Player Database
Player DatabasePopular

Search any player

Skin Browser
Skin Browser

Browse & download skins

Cape Gallery
Cape GalleryNEW

Minecon & OptiFine capes

Seed Vault
Seed Vault

Curated seeds

Learn

Guides
GuidesNew

Tutorials & tips

Blog
Blog

News & updates

Community

Community Hub
Community HubHub

Posts, discussions & more

All Versions
View community →
Seed Analyzer
Seed Analyzer

World seed analysis

Loot Explorer
Loot Explorer

Drop rates

Crafting Calculator
Crafting Calculator

Material planning

Enchant Calculator
Enchant Calculator

Probability math

Redstone Lab
Redstone Lab

Signal timing

Trading Profit
Trading Profit

Villager ROI

All Versions
View all tools →
Mods
Mods

Browse all mods

Plugins
Plugins

Server plugins

Resource Packs
Resource Packs

Textures & sounds

Shaders
Shaders

Visual enhancements

Datapacks
Datapacks

World logic

Scanner
Mod Intelligence

Scan & analyze any mod

All Versions
View all mods →
Loading...
IntroductionIntroductionVersion HistoryVersion HistoryGuidesGuidesBlog & NewsBlog & News
ItemsItemsBlocksBlocksMobsMobsRecipesRecipesBiomesBiomesStructuresStructuresAdvancementsAdvancementsLoot TablesLoot TablesTagsTags
ModsModsPluginsPluginsResource PacksResource PacksShadersShadersDatapacksDatapacks

MinecraftBible

The Ultimate Wiki

Logo
MINECRAFTBIBLE

The ultimate Minecraft reference. Every item, block, mob, and recipe documented with precision.

Community

  • Skin Browser
  • Cape Gallery
  • Seed Vault
  • Blog
  • Guides

Database

  • Items
  • Blocks
  • Mobs
  • Recipes
  • Biomes
  • Structures

Tools

  • Seed Analyzer
  • Mod Intelligence
  • Crafting Calculator
  • Enchant Calculator

Mods & Packs

  • Mods
  • Plugins
  • Resource Packs
  • Shaders
  • Datapacks

Site & Legal

  • About
  • Authors
  • Editorial Policy
  • Corrections
  • Contact
  • Privacy Policy
  • Terms of Service
  • DMCA
  • Sitemap

© 2026 MinecraftBible. Not affiliated with Mojang or Microsoft.

PrivacyTermsContact
ServerOptimizer
PluginMIT

ServerOptimizer

ServerOptimizer is a lightweight, high-performance Paper/Spigot plugin built for Minecraft 1.20.4+ that surgically targets the three most common causes of server lag

12
Downloads
0
Followers
1 months ago
Updated
📦
1
Versions
managementoptimizationstoragebukkitpaperspigot
Download Latestv1.0.0View on Modrinth

📖About ServerOptimizer

ServerOptimizer Banner

Profile Views

Minecraft
Paper
Java
Maven
License

Discord
Author


🧩 What is ServerOptimizer?

ServerOptimizer is a lightweight, high-performance Paper/Spigot plugin built for Minecraft 1.20.4+ that surgically targets the three most common causes of server lag:

🎯 Target 📉 Problem Solved
⚙️ Entity Tick Lag Too many mobs/items in a single chunk crushing TPS
🗺️ Chunk Loading Spam Idle chunks staying loaded and draining memory
🪣 Hopper Overhead Thousands of hopper events per second on farm servers

All heavy computation runs asynchronously — the main thread stays at a clean 20 TPS.


✨ Features

⚙️ Entity Optimizer

  • 🔍 Periodic async entity scans across all loaded chunks
  • ✂️ Culls excess entities when a chunk exceeds your configured cap
  • 🧲 Item merging — stacks nearby dropped items instead of deleting them
  • 🏷️ Named entity protection — entities with name tags are never removed
  • 🚫 Spawn-time gating — cancels spawns before the entity is created (cheaper than culling)
  • 🌍 Per-world enable/disable support

🗺️ Chunk Optimizer

  • ⏱️ Idle chunk unloading — automatically requests unload after configurable inactivity
  • 📡 Player-radius tracking — keeps only chunks near active players loaded
  • 📊 Async load rate limiting — prevents chunk-generation spam from overwhelming the server
  • 🪶 Uses WeakHashMap so unloaded chunk references are garbage-collected automatically

🪣 Hopper Optimizer

  • 🐌 Configurable hopper tick rate — slow down hoppers from vanilla 8-tick to your preference
  • 😴 Lazy mode — skips hoppers with empty source inventories entirely
  • 📦 Per-hopper transfer rate tracked with ConcurrentHashMap
  • 🗑️ Auto-purges stale hopper entries every 5 minutes — zero memory leaks

🛡️ Plugin Compatibility

  • ✅ WorldGuard — entity listener uses HIGH priority, after WorldGuard's region checks
  • ✅ EssentialsX — softdepend declared, no hard conflicts
  • ✅ All listeners use ignoreCancelled = true to skip already-processed events

🔧 Developer Quality

  • 🔁 Hot-reload via /sopt reload — no server restart needed
  • 🧵 Thread-safe throughout (ConcurrentHashMap, WeakHashMap, AtomicInteger)
  • 📝 Full config.yml with comments on every setting
  • 📋 Tab-completion on all commands

📋 Commands

Command Alias Description Permission
/serveroptimizer reload /sopt reload Hot-reload config from disk serveroptimizer.admin
/serveroptimizer status /sopt status Live stats + server TPS serveroptimizer.admin
/serveroptimizer info /sopt info Plugin version & author info serveroptimizer.admin

🔑 Permissions

Permission Default Description
serveroptimizer.admin OP Access all admin commands
serveroptimizer.bypass false Bypass entity limits

⚙️ Configuration

# ─── Entity Optimization ───────────────────────────
entity-optimizer:
  enabled: true
  scan-interval-ticks: 100        # How often to scan (20 ticks = 1 second)
  max-entities-per-chunk: 50      # Cull threshold per chunk
  tracked-types:
    - ZOMBIE
    - SKELETON
    - CREEPER
    - SPIDER
    - ENDERMAN
    - VILLAGER
    - DROPPED_ITEM
  cull-strategy: REMOVE           # REMOVE or MERGE (items only)
  protect-named-entities: true    # Never cull named/tagged entities
  disabled-worlds:
    - creative_world

# ─── Chunk Loading Optimization ────────────────────
chunk-optimizer:
  enabled: true
  idle-chunk-unload-seconds: 300  # Unload after 5 min of inactivity
  keep-loaded-radius: 4           # Chunks to keep around each player
  max-async-loads-per-second: 10  # Rate-limit chunk generation

# ─── Hopper Optimization ───────────────────────────
hopper-optimizer:
  enabled: true
  hopper-tick-rate: 16            # 8 = vanilla, 16 = recommended, 40 = aggressive
  lazy-hoppers: true              # Skip hoppers with empty sources
  max-transfer-per-tick: 1

# ─── General ───────────────────────────────────────
general:
  debug-logging: false
  message-prefix: '&8[&bServerOptimizer&8]&r '
  metrics: true

🚀 Installation

1. Download ServerOptimizer-1.0.0.jar
2. Drop it into your /plugins/ folder
3. Start or restart your server
4. Edit plugins/ServerOptimizer/config.yml
5. Run /sopt reload to apply changes

⚠️ Requires Paper 1.20.4+ — Spigot is supported but Paper unlocks async chunk APIs and better scheduling.


🧠 Performance Architecture

Main Thread (20 TPS — never blocked)
│
├── EntityListener        → Cancels over-limit spawns instantly (O(1) map lookup)
├── HopperListener        → Throttles transfers via timestamp gate (O(1))
└── ChunkListener         → Records load times into WeakHashMap (O(1))

Async Thread Pool (Paper Scheduler)
│
├── Entity Scan Task      → Iterates chunks, builds removal list
├── Chunk Cleanup Task    → Finds idle chunks, requests unload on main thread
└── Hopper Cleanup Task   → Purges stale ConcurrentHashMap entries

Main Thread (dispatched back)
│
├── entity.remove()       → Thread-safe mutation
└── world.unloadChunkRequest() → Thread-safe mutation

Rule: Read async. Write sync. Never mutate Bukkit world state off the main thread.


📊 Benchmark Impact

Tested on a Paper 1.20.4 server with 20 players, 800+ entities, and 200 active hoppers.

Metric Vanilla With ServerOptimizer
Average TPS 14.2 19.6
Entity tick ms/tick 18ms 4ms
Hopper events/sec 1,600 410
Loaded chunks (idle) 2,400 890

🤝 Compatibility

Software Status
Paper 1.20.4+ ✅ Full support
Spigot 1.20.4+ ✅ Supported (no async chunk API)
WorldGuard ✅ Compatible
EssentialsX ✅ Compatible
CoreProtect ✅ Compatible
Folia ⚠️ Experimental

💬 Support & Contact

Platform Contact
💬 Discord allay_gaming_x
🐛 Issues Open a GitHub Issue
💡 Suggestions Discord DM or GitHub Discussion

Found a bug? Have a feature idea? Reach out on Discord: allay_gaming_x
I respond fast and welcome all feedback!


📜 License

This project is licensed under the MIT License — free to use, modify, and distribute with attribution.


Footer

Made with ❤️ by Pawan
Keep your server fast. Keep your players happy.

⭐ If this plugin helped your server, please leave a review on Modrinth! ⭐

👥 Team & Contributors

Pawan
PawanOwner

⚙️ Compatibility

Environment
🖥️ Server-side
Loaders
bukkitpaperspigot
Minecraft Versions
1.201.20.11.20.21.20.31.20.41.20.51.20.61.21+14 more

🔗 Links

Modrinth Page