MCBenchmark
An advanced benchmarking tool for paper servers.
MCBenchmark
MCBenchmark
MCBenchmark is an advanced Minecraft server benchmarking plugin designed to help server administrators analyze and optimize performance. It provides a suite of configurable, adaptive benchmarking tools for real-time diagnostics of key server systems — including chunk loading, entities, blocks, tile entities, ping, and TPS.
Whether you're debugging lag, testing server performance under load, or profiling system behavior for optimization, MCBenchmark gives you the tools you need with detailed metrics and intelligent throttling.
---
What It Does
- Benchmark Control: Measures how fast chunks can be loaded without overwhelming the server, adjusting dynamically based on current TPS. - Benchmark Control: Spawns and processes entities in a controlled environment to identify performance limits and bottlenecks. - Benchmark Control: Randomly samples blocks across an area to test block interaction peeformance by material, radius, and sample size. - Benchmark Control: Evaluates server handling of tile entities (e.g., chests, hoppers) under load. - Benchmark Control: Repeatedly pings the server to generate latency metrics, including averages and variation. - Benchmark Control: Continuously tracks server TPS with adaptive sampling for accurate benchmarking. - Benchmark Control: Instantly stop all running benchmarks with a single command for safety and control.
---
Commands
`/chunkbenchmark [radius] [max_cps]`
- Adaptive chunk loading benchmark based on TPS - Permission: `cbench`, `chunkbench` - Permission: `mcbenchmark.chunk`
`/entitybenchmark [iterations]`
- Stress-test server with high-iteration entity spawning - Permission: `ebench`, `entitybench` - Permission: `mcbenchmark.entity`
`/blockbenchmark [material] [radius] [samples]`
- Random block sampling benchmark with customizable parameters - Permission: `bbench`, `blockbench` - Permission: `mcbenchmark.block`
`/tilebenchmark [iterations]`
- Intensive benchmarking for tile entities (e.g., chests, hoppers) - Permission: `tbench`, `tilebench` - Permission: `mcbenchmark.tile`
`/pingbenchmark [iterations]`
- Multiple pings to the server with detailed statistics - Permission: `pbench`, `pingbench` - Permission: `mcbenchmark.ping`
`/tpsbenchmark [iterations]`
- Continuous TPS tracking with adjustable sampling - Permission: `tpsbench`, `tps` - Permission: `mcbenchmark.tps`
`/stopbenchmark`
- Stops all currently running benchmarks immediately - Permission: `stopbench`, `sbench`, `stop` - Permission: `mcbenchmark.stop`
---
Permissions
- `mcbenchmark.*` — Access to all commands (default: OP) - Individual command permissions: - `mcbenchmark.chunk` - `mcbenchmark.entity` - `mcbenchmark.block` - `mcbenchmark.tile` - `mcbenchmark.ping` - `mcbenchmark.tps` - `mcbenchmark.stop`
Each permission defaults to OP and can be customized via permission plugins (e.g., LuckPerms).
---