️ChunkLimiter ️
The ultimate, lightweight, and high-performance block/entity placement limiter for modern Minecraft servers.
About ChunkLimiter Are redstone contraptions, mob farms, armor stands, or shulker-filled chunks tanking your server’s TPS? ChunkLimiter is a state-of-the-art solution designed to track, control, and limit how many performance-heavy blocks and entities players can place inside a single chunk.
Unlike older, unoptimized plugins, ChunkLimiter is built from the ground up for modern servers running Paper, Purpur, or Folia (Minecraft 1.20+ through 26.1+). It utilizes a non-blocking asynchronous architecture with a dedicated worker thread queue to guarantee zero impact on server ticks (TPS), even under heavy load.
✨ Features
Multiple Limit Modes:
Per Player (per-player): Every player gets their own independent allocation per chunk (e.g., maximum 5 hoppers per player, per chunk).
Per Chunk Total (per-chunk-total): Players share a collective limit in a chunk (e.g., maximum 20 spawners total in a chunk, regardless of who placed them).
Smart Block Tracking: Fine-grained limits for any block type (e.g., HOPPER, SPAWNER, BEACON, OBSERVER).
Automatic Grouping: Specify SHULKER_BOX in the configuration, and ChunkLimiter automatically expands it to cover all 16 colored variants!
️Entity Placement Tracking: Track and limit entity-based placements such as Item Frames, Glow Item Frames, Armor Stands, and Paintings.
️ Permission-Based Tiers: Reward VIPs or staff by granting higher limits via permission nodes (e.g., chunklimiter.tier.vip).
Dual Storage Backends:
SQLite: Simple, zero-setup local file storage (data.db).
MySQL: High-speed, HikariCP-pooled database backend for multi-server setups.
⚡ TPS-Friendly Async Architecture:
All database tasks (chunk load, chunk unload, flush, bypass/override modifications) are managed sequentially on a single-threaded background executor.
No locks, no lag, and no race conditions.
Adventure API Integration: Crisp, modern feedback messages utilizing clean MiniMessage/Legacy formatting in chat, action bars, or titles.
️ Commands & Permissions Manage everything on the fly with command tab-completion!
Command Description Permission
/chunklimiter bypass
Code (Text):
storage: type: "sqlite" # "sqlite" or "mysql" mysql: host: "localhost" port: 3306 database: "chunklimiter" username: "root" password: "" flush-interval-seconds: 60 limits: mode: "per-chunk-total" # Options: "per-player", "per-chunk-total" decrement-on-break: true override-scope: "global"
Tracked block limits
tracked-blocks: HOPPER: 10 SPAWNER: 5 BEACON: 2 SHULKER_BOX: 8 # Automatically expands to all colored variants
Tracked entity limits
track-entities: true tracked-entities: ARMOR_STAND: 10 ITEM_FRAME: 15 GLOW_ITEM_FRAME: 15
Grant higher limits to specific permission nodes
permission-tiers:
chunklimiter.tier.vip:
HOPPER: 15
SPAWNER: 8
chunklimiter.tier.mvp:
HOPPER: 20
SPAWNER: 12
messages:
feedback-type: "actionbar" # Options: "actionbar", "chat", "title", "none"
progress: "
ChunkLimiter completely resolves this by serializing database operations sequentially on a background thread. Plus, it dynamically scans and loads all pre-existing chunks upon enabling, ensuring your spawn chunks and already-loaded areas are always accurately accounted for from the second the server starts.
Support & Community Need help configuring ChunkLimiter or want to report a bug? Join our official support channel:
Join my Discord Community Discord Invite
No gallery available for this project.