Sueta

Overclock ClearLag

1.0.12

✨Ultimate Server Optimization & Lag Control System, Advanced Performance plugin for High-Load Minecraft Servers✨

·Plugin

Banner

⚡ WHY SHOULD YOU CHOOSE OVERCLOCK PLUGIN

  • ⚡ A complete toolkit that cleans, protects and monitors your server from inside the game.
  • ⚡ All-in-one. 14 modules in one plugin, each with its own config and on/off switch.
  • ⚡ Safe by default. Pets, valuables, named mobs and entities near players are protected.
  • ⚡ Reacts to lag. Emergency protections only kick in when TPS drops below your thresholds.
  • ⚡ Control in-game. Manage everything with the GUI, settings editor and task monitor.
  • ⚡ Live stats. StatsBar, server info and a CPU and memory benchmark show your server's health.
  • ⚡ Alerts and automation. Discord TPS alerts and scheduled restarts with warnings.
  • ⚡ Fully customizable. Your own prefix, colors, messages and GUI sounds.
  • ⚡ Scheduled restarts shut the server down, so use a panel or start script that restarts it.

🔥 THE ARSENAL: 14 MODULES FOR OPTIMIZATION

  • 🔥 EntityCleaner: Timed cleanup with warnings, emergency mode and protection for pets and valuables.
  • 🔥 LagShield: Emergency protections during low TPS, including dynamic view and simulation distance.
  • 🔥 LagDetector: Finds lag machines in a single chunk and throttles them with escalating cooldowns.
  • 🔥 EntityLimiter: Entity caps per chunk, per player or server-wide, with custom per-mob limits.
  • 🔥 EntityOptimizer: Disables AI on far-away entities and spares your pets.
  • 🔥 VillagerOptimizer: Freezes caged villagers, wakes them for trading and refreezes them afterward.
  • 🔥 HopperOptimizer: Idle freezing, full-hopper locks, batch transfers and hopper minecart handling.
  • 🔥 ExplosionOptimizer: Block damage limits, protected blocks and TNT and crystal chain control.
  • 🔥 DropCollector: Drops and XP go straight to the player, with an XP multiplier.
  • 🔥 ItemDespawnModifier: Custom despawn times per item, so clutter vanishes fast.
  • 🔥 GraveMaker: Death graves with live-countdown holograms and owner-only access.
  • 🔥 ChunkPreventer: Stops players from running into unloaded chunks.
  • 🔥 ChunkUnloader: Unloads abandoned chunks to free memory and protects ender pearl chunks.
  • 🔥 JavaGC-Runner: Legacy config only, the JVM handles garbage collection itself.

⌨️ COMMANDS OF OVERCLOCK PLUGIN

  • ⌨️ Main command: /overclock (aliases: /oc, /overc, /oclock)
  • ⌨️ /oc gui: Open the main control panel to manage every module and setting with a few clicks.
  • ⌨️ /oc info: View live server performance, including TPS, MSPT, RAM, CPU, chunks and entities.
  • ⌨️ /oc benchmark: Run a CPU and memory benchmark to compare your server's performance.
  • ⌨️ /oc statsbar: Toggle a live boss bar showing TPS, MSPT, chunks, entities and heap usage.
  • ⌨️ /oc clearnow: Force an entity cleanup that starts in 30 seconds, without waiting for the timer.
  • ⌨️ /oc reload: Reload the configuration files without restarting your server.
  • ⌨️ /oc trackupdate: Check whether a newer version of Overclock is available to download.
  • ⌨️ /oc edit: Edit module settings in-game without opening any config files.
  • ⌨️ /oc taskmonitor: Open the Task Monitor GUI to keep an eye on Overclock's running tasks.
  • ⌨️ /oc grave cleanup: Remove all graves on the server, handy for clearing old or abandoned ones.
  • ⌨️ /oc tools: Open the Admin Tools GUI for extra utilities to manage your server.
  • ⌨️ /oc dc: Get the Discord invite to join our community for support and updates.
  • ⌨️ /oc gc: Run Java Garbage Collection Manually.
  • ⌨️ Permission: overclock.admin (OP by default)

💖 FOUND A BUG? NEED HELP? JUST CREATE A TICKET IN DISCORD.

  • 💖 Not happy with the plugin? That's completely fine. You don't have to join our Discord.
  • 💖 Liked it? One click to join the Discord means a lot. It motivates us to keep building better projects.
  • 💖 No donations, ever. We're not asking for money, we just like seeing people support the project.
  • 💖 Free and optional. Joining is entirely your choice, but every single member counts.
  • 💖 Need help or found a bug? Drop into the Discord for updates, support, bug reports and suggestions.
  • 💖 Follow us on Modrinth. You can follow the main project or check out our other projects, because even a small bit of support matters a lot.

📃CONFIGURATION FILES OF OVERCLOCK PLUGIN

📃plugin.yml
name: Overclock
main: com.goldwar.overclock.Overclock
version: 1.0.12
api-version: 1.21
author: GoldwarGlory
description: Optimize your server
website: https://modrinth.com/plugin/overclock-clearlag

commands:
  overclock:
    description: The main command for the plugin.
    usage: /overclock
    permission: overclock.admin
    aliases:
      - oc
      - overc
      - oclock

permissions:
  overclock.admin:
    default: op
📃config.yml
# -----------------------------------------------------------------------------
# Overclock - Main Configuration
# -----------------------------------------------------------------------------
# Global plugin settings live here. Per-module settings are stored in separate
# files inside the Modules folder and are editable through /oc edit or the GUI.
#
# Message placeholders:
#   <prefix>    - The configured plugin prefix
#   <primary>   - The configured primary color
#   <secondary> - The configured secondary color
# -----------------------------------------------------------------------------

General:
  # Plugin prefix. Supports MiniMessage gradients, colors and formatting.
  prefix: "<gradient:#FF00FF:#FFFFFF>[Overclock]</gradient> "

  # Legacy Minecraft color code used for primary/accented text.
  primary-color: "d"

  # Legacy Minecraft color code used for secondary text.
  secondary-color: "f"

  # Duration, in seconds, for /overclock benchmark.
  benchmark-duration: 30

  # If true, OP players are notified when a new update is detected.
  # If false, update notifications are disabled.
  track-updates: true

Sounds:
  # Vanilla sound keys are supported, for example: ui_button_click.
  # Set sound to "" to disable a sound effect.

  click:
    sound: "ui_button_click"
    volume: 0.6
    pitch: 1.2

  nav:
    sound: "item.book.page_turn"
    volume: 0.5
    pitch: 1.0

  open:
    sound: "block.chest.open"
    volume: 0.4
    pitch: 1.4

  toggle-on:
    sound: "block.note_block.pling"
    volume: 0.6
    pitch: 1.5

  toggle-off:
    sound: "block.note_block.pling"
    volume: 0.6
    pitch: 0.8

  success:
    sound: "entity.player.levelup"
    volume: 0.5
    pitch: 1.6

  error:
    sound: "entity.villager.no"
    volume: 0.6
    pitch: 1.0

BackButton:
  # Material for the back button item. Must be a valid Bukkit Material name.
  material: "DARK_OAK_DOOR"
  # Display name of the back button. Use <primary> and <secondary> for color placeholders.
  name: "<primary>Back §7§l» <secondary>Return to previous menu"

Filler:
  # Material for inventory filler items. Must be a valid Bukkit Material name.
  material: "BLACK_STAINED_GLASS_PANE"
  # Display name of the filler item. A single space keeps it blank.
  name: " "

TpsAlert:
  # If true, send Discord webhook alerts when TPS drops below threshold.
  enabled: false
  # TPS threshold that triggers an alert.
  threshold: 15.0
  # Discord webhook URL for sending alerts. Leave empty to disable.
  webhook-url: ""

ScheduledRestart:
  # If true, automatically restart the server at the configured time.
  enabled: false
  # Time in HH:MM format (24-hour) for the scheduled restart.
  time: "04:00"
  # Minutes before restart to send warnings. Empty list disables warnings.
  warning-minutes:
    - 60
    - 30
    - 15
    - 5

📃Modules/ChunkPreventer.yml
# -----------------------------------------------------------------------------
# ChunkPreventer
# -----------------------------------------------------------------------------
# Prevents players from entering chunks that are not loaded yet. This avoids
# movement desync and load spikes caused by forcing chunks too aggressively.
# -----------------------------------------------------------------------------

ChunkPreventer:
  # If true, players are blocked from entering unloaded chunks.
  # If false, players can move into unloaded chunks normally.
  enabled: true

  # If true, players receive the message below when movement is blocked.
  # If false, movement is still blocked silently.
  send-message: true

  # Message sent when a player tries to enter an unloaded chunk.
  message: "<prefix><secondary>This chunk is not loaded yet. <primary>Please wait."

  # Worlds where this module should not run.
  disabled-worlds: []
📃Modules/ChunkUnloader.yml
# -----------------------------------------------------------------------------
# ChunkUnloader
# -----------------------------------------------------------------------------
# Unloads chunks that no longer have nearby players. This reduces memory usage
# and prevents old areas from staying active for no reason.
# -----------------------------------------------------------------------------

ChunkUnloader:
  # If true, chunk unload protection and cleanup tasks are enabled.
  # If false, chunks unload only through vanilla/server behavior.
  enabled: true

  # Ticks to wait after the last player leaves before a chunk can unload.
  unload-delay-ticks: 100

  # If true, unused chunks are scanned and unloaded automatically.
  # If false, only direct unload logic is used.
  auto-unload-unused-chunks: true

  # Ticks between automatic unused-chunk scans.
  cleanup-task-period-ticks: 200

  # Maximum chunks to unload during one cleanup run. Keeps cleanup work bounded.
  max-unloads-per-run: 20

  # Player safety radius in chunks. 1 protects a 3x3 area around each player.
  max-safe-chunk-radius: 1

  # If true, chunks with active ender pearls are protected from unloading.
  # If false, ender pearl chunks can unload like normal chunks.
  protect-ender-pearl-chunks: true

  # Worlds where this module should not run.
  disabled-worlds: []

📃Modules/DropCollector.yml
# -----------------------------------------------------------------------------
# DropCollector
# -----------------------------------------------------------------------------
# Sends selected drops and XP directly into player inventories. This reduces
# dropped-item and XP-orb spam while keeping gameplay smooth.
# -----------------------------------------------------------------------------

DropCollector:
  # If true, DropCollector features are enabled.
  # If false, blocks, mobs and XP drop normally.
  enabled: true

  direct-xp:
    # If true, block break XP is given directly to the player.
    # If false, block break XP drops as orbs.
    on-block-break: true

    # If true, mob kill XP is given directly to the killer.
    # If false, mob kill XP drops as orbs.
    on-mob-kill: true

    # Multiplier applied before XP is given. 1.0 keeps vanilla XP amount.
    xp-multiplier: 1.0

    # If true, creative-mode players do not receive direct XP.
    # If false, creative-mode players can receive direct XP.
    ignore-creative-mode: true

  block-drops:
    # If true, block drops are sent directly to the breaker inventory.
    # If false, block drops fall on the ground normally.
    enabled: true

    # If true, Silk Touch tools bypass direct pickup.
    # If false, Silk Touch drops are also sent directly to inventory.
    ignore-silk-touch: false

    # If true, Fortune tools bypass direct pickup.
    # If false, Fortune drops are also sent directly to inventory.
    ignore-fortune: false

    # If true, creative-mode players do not use block direct pickup.
    # If false, creative-mode players can use block direct pickup.
    ignore-creative-mode: true

    # If true, only materials in list use direct pickup.
    # If false, every material except list uses direct pickup.
    invert: false

    # Block materials used by the invert filter.
    list: [BEACON, ENDER_CHEST, SHULKER_BOX]

  mob-drops:
    # If true, mob drops are sent directly to the killer inventory.
    # If false, mob drops fall on the ground normally.
    enabled: true

    # If true, creative-mode players do not use mob direct pickup.
    # If false, creative-mode players can use mob direct pickup.
    ignore-creative-mode: true

    # If true, only entities in list use direct pickup.
    # If false, every entity except list uses direct pickup.
    invert: false

    # Entity types used by the invert filter.
    list: [WARDEN, ENDER_DRAGON, WITHER]

  # Worlds where block/mob direct pickup is disabled.
  disabled-drop-worlds: []

  # Worlds where direct XP is disabled.
  disabled-xp-worlds: []

  messages:
    # Message sent when an item cannot fit in the player's inventory.
    inventory-full: "<prefix><secondary>Your inventory is full."

  # Materials that should never be auto-picked up by DropCollector.
  # These items always drop on the ground even when block-drops or mob-drops are enabled.
  # Useful for quest items, special drops, or materials players should collect manually.
  blacklisted-materials: []

  # If true, only materials in the blacklist are auto-picked up (whitelist mode).
  # If false, materials in the blacklist are skipped (blacklist mode).
  invert-blacklist: false

📃Modules/EntityCleaner.yml
# -----------------------------------------------------------------------------
# EntityCleaner
# -----------------------------------------------------------------------------
# Periodically removes selected entities to reduce clutter and prevent TPS loss.
# Exclusions protect valuable items, pets, named mobs and important entities.
# -----------------------------------------------------------------------------

EntityCleaner:
  # If true, automatic cleanup runs on the configured interval.
  # If false, automatic cleanup is disabled.
  auto-clean: true

  # Minutes between automatic cleanup cycles.
  clean-interval: 10

  # Seconds before cleanup when players should be warned.
  warns-before-cleanup: [60, 30, 10, 5, 3, 2, 1]

  messages:
    announce-in:
      # If true, cleanup warnings and results are sent in chat.
      # If false, chat announcements are disabled.
      chat: true

      # If true, cleanup warnings are shown in the actionbar.
      # If false, actionbar announcements are disabled.
      actionbar: true

      # If true, cleanup warnings/results use title and subtitle.
      # If false, title announcements are disabled.
      title-subtitle: false

    warnings:
      # If true, warnings are sent at warns-before-cleanup times.
      # If false, cleanup happens without countdown warnings.
      enabled: true

      # Warning message. Supports <prefix>, <primary>, <secondary> and <time>.
      message: "<prefix><secondary>Entity cleanup in <primary><bold><time></bold> <secondary>seconds."

      # Title shown when title-subtitle is enabled.
      title: "<gradient:#00c6ff:#0072ff><bold>CLEANER</bold></gradient>"

      # Subtitle shown when title-subtitle is enabled. Supports <time>.
      subtitle: "<secondary>Cleaning in <primary><bold><time></bold><secondary>s"

      # If true, warning sounds play with each cleanup warning.
      # If false, warnings are silent.
      sound: true

  clear-complete:
    # Completion message. Supports <prefix>, <primary>, <secondary> and <count>.
    message: "<prefix><secondary>Removed <primary><bold><count></bold> <secondary>entities."

    # Title shown when title-subtitle is enabled.
    title: "<gradient:#00ff87:#60efff><bold>CLEANUP COMPLETE</bold></gradient>"

    # Subtitle shown when title-subtitle is enabled. Supports <count>.
    subtitle: "<secondary>Removed <primary><bold><count></bold> <secondary>entities"

    # If true, completion sound plays after cleanup.
    # If false, completion is silent.
    sound: true

  entities:
    # If true, dropped items are removed unless excluded.
    # If false, dropped items are never removed by cleaner.
    dropped-items: true

    # If true, projectiles are removed unless excluded.
    # If false, projectiles are never removed by cleaner.
    projectiles: true

    # If true, non-player mobs are removed unless excluded.
    # If false, mobs are never removed by cleaner.
    mobs: true

  # If true, entities with custom names are protected.
  # If false, named entities can be removed.
  skip-named-entities: true

  # If true, tamed mobs and pets are protected.
  # If false, tamed mobs can be removed.
  skip-tamed-mobs: true

  # If true, XP orbs are protected.
  # If false, XP orbs can be removed.
  skip-experience-orbs: true

  # Worlds where this module should not run.
  excluded-worlds: []

  # Dropped item materials that should never be removed.
  excluded-dropped-items:
    - MACE
    - TRIAL_KEY
    - OMINOUS_TRIAL_KEY
    - BREEZE_ROD
    - HEAVY_CORE
    - ELYTRA
    - NETHERITE_INGOT
    - NETHERITE_SCRAP
    - ENCHANTED_GOLDEN_APPLE
    - TOTEM_OF_UNDYING
    - DRAGON_EGG
    - BEACON
    - NETHER_STAR
    - TRIDENT
    - SHULKER_BOX

  # Entity types that should never be removed.
  excluded-mobs:
    - VILLAGER
    - WANDERING_TRADER
    - IRON_GOLEM
    - SNOW_GOLEM
    - ALLAY
    - BREEZE
    - SNIFFER
    - PILLAGER
    - VINDICATOR
    - RAVAGER
    - WITCH

  # Projectile types that should never be removed.
  excluded-projectiles: [TRIDENT]

  # TPS level below which cleanup runs immediately (emergency mode).
  # When server TPS drops below this value, a cleanup cycle is triggered right away.
  emergency-clean-threshold: 10.0

  # Entities within this radius (in blocks) of any online player are protected from removal.
  # Prevents accidental deletion of entities near players during cleanup.
  # Set to 0 to disable player proximity protection.
  protect-radius-around-players-blocks: 32

  # Maximum number of entities that can be removed in a single cleanup run.
  # Safety cap to prevent mass deletion during extreme lag spikes.
  max-kill-per-cycle: 500

  # Only remove entities that have existed longer than this many ticks.
  # Protects freshly spawned entities from premature cleanup.
  # 1200 ticks = 60 seconds, 2400 ticks = 120 seconds.
  only-clean-entities-older-than-ticks: 1200

📃Modules/EntityLimiter.yml
# -----------------------------------------------------------------------------
# EntityLimiter
# -----------------------------------------------------------------------------
# Limits entity density per chunk to prevent mob farms or stacked chunks from
# overloading the server.
# -----------------------------------------------------------------------------

EntityLimiter:
  # If true, entity spawn limits are enforced.
  # If false, entities spawn normally.
  enabled: true

  # Maximum entities allowed per chunk. Players are never counted.
  max-entities-per-chunk: 25

  # If true, only living entities are counted.
  # If false, all entity types are counted unless ignored.
  check-only-living-entities: true

  # If true, custom per-entity limits below are enforced.
  # If false, only max-entities-per-chunk is used.
  enable-custom-mob-limits: true

  # Spawn reasons that bypass the limiter.
  allowed-spawn-reasons: [COMMAND, SPAWNER_EGG, CUSTOM, BUILD_WITHER, BUILD_SNOWMAN]

  # Entity types ignored by the limiter.
  ignored-entity-types: [PLAYER, ARMOR_STAND, ITEM_FRAME, GLOW_ITEM_FRAME, PAINTING]

  # Worlds where this module should not run.
  disabled-wo

Similar projects

Plugin →