Benchmark Report

Aug 12, 2026, 3:56 AMVoxelBench plugin 1.6.012 min 48 s benchmark
PublicSTANDARDStandard scoring 8.1.0· earlier scoring
Total score
36,520
RankD
Single Core54,094
Gameplay55,262
Hardware14,364
How this score is built
The verdict

Tick spikes · Mob AI

The worst ticks are several times the mean. Average TPS stays fine while players feel the stutter.

  • mspt_avg = 372.1 ms
  • mspt_p99 = 1,208.82 ms
  • spike_ratio = 3.25 ratio
  • sample_count = 63 count

Weakest test: Mob AI, 6.15 TPS on average. The 15 other tests hold at least 17.67 TPS.

Multipliers appliedSynergy ×0.956Stability ×0.911Duration ×1.008

Compared with other servers

The comparison with other servers uses reports scored with version 8.3.0 of the scoring rules. This report was scored with another version, so its score is not comparable.

What matters

Read from the measurements, never estimated
CriticalMob AI

Tick spikes

The worst ticks are several times the mean. Average TPS stays fine while players feel the stutter.

  • mspt_avg = 372.1 ms
  • mspt_p99 = 1,208.82 ms
  • spike_ratio = 3.25 ratio
  • sample_count = 63 count
See the setting this justifies
Good to know

Non-default server configuration

Compare with care against a server running default settings.

  • view-distance 16 (default 10)
  • spawn-limit.water-ambient 15 (default 20)
›+4 more findings
For informationMemory latency not measuredmemorynot measured

No access latency was published, so the score assumed an unfavourable one. Publishing the measurement can only help.

  • assumed_latency_ns = 180 ns
  • reference_latency_ns = 120 ns
For informationRandom 4K not measureddisknot measured

Direct IO was refused by the host, so the random part of the disk score rests on an assumption rather than a measurement.

  • assumed_random_mbps = 90 MB/s
  • reference_random_mbps = 150 MB/s
For informationMain thread saturatedredstonesingle core

One game thread is already over its tick budget under the benchmark's own load. Players and redstone will push it further.

  • mspt_avg = 56 ms
  • mspt_target = 35 ms
  • tps_avg = 19.88 tps
  • tps_held_threshold = 18 tps
For informationTick spikesredstone

The worst ticks are several times the mean. Average TPS stays fine while players feel the stutter.

  • mspt_avg = 56 ms
  • mspt_p99 = 122.96 ms
  • spike_ratio = 2.2 ratio
  • sample_count = 46 count
  • periodic_test = 1

A finding stays silent rather than attribute a cause without evidence. An absent cause is an answer, not an omission.

Test by test

Problems first — select a row for the full test

Settings your measurements justify

Each setting below is triggered by a measurement from this report, and names the test to replay to find out whether it helped.

Spigotspigot.yml

Shrink the monster activation range

world-settings.default.entity-activation-range.monsters: 24

Measured : mobAI.mspt.avg 372.1 ms (threshold 35.0 ms)

Mob AI costs more per tick than the budget allows. The activation range decides how far from a player a monster keeps thinking; shrinking it puts distant ones to sleep without removing them.

Test to replay : mobAI

Bukkitbukkit.yml

Lower the monster spawn limit

spawn-limits.monsters: 50

Currently : 70

Measured : mobAI.mspt.avg 372.1 ms (threshold 50.0 ms)

Mob AI is past the critical cost per tick, where shrinking the activation range is no longer enough. The spawn limit caps how many monsters exist per player at all, which is the only setting here that reduces the work rather than deferring it.

Test to replay : mobAI

These settings trade a little gameplay fidelity for tick budget. Apply one at a time and replay the named test: the effect stays a hypothesis until you have measured it.

Briefing for a language model

Paste this into the assistant of your choice to have it rewritten in prose. It already carries every number, so the model has none left to invent.

{
  "format": "voxelbench.tuning.v1",
  "instruction": "Rewrite each recommendation below as plain prose for a server operator. Every number you are allowed to use is already in this document: the measured value, its threshold, and the proposed setting. Do not compute, estimate or predict any other number, and never state an expected gain. Keep every setting name and value exactly as written.",
  "server": {
    "type": "paper",
    "minecraft": "26.2",
    "java": "25"
  },
  "recommendations": [
    {
      "id": "spigot.portee-activation-monstres",
      "family": "spigot",
      "measure": "mobAI.mspt.avg",
      "value": 372.1,
      "unit": "ms",
      "threshold": 35,
      "control_test": "mobAI",
      "file": "spigot.yml",
      "setting": "world-settings.default.entity-activation-range.monsters",
      "proposed_value": "24",
      "current_value": null
    },
    {
      "id": "bukkit.limite-monstres",
      "family": "bukkit",
      "measure": "mobAI.mspt.avg",
      "value": 372.1,
      "unit": "ms",
      "threshold": 50,
      "control_test": "mobAI",
      "file": "bukkit.yml",
      "setting": "spawn-limits.monsters",
      "proposed_value": "50",
      "current_value": "70"
    }
  ]
}

Java start-up line

The options this server was started with, checked against its Java version. Corrections fix what is certainly wrong; leads to test are settings to measure, never applied for you.

Nothing to correctJava 25JVM not identifiedCollector: chosen by the JVMMemory: 128000 MiB, safe heap up to 108800 MiB
Current line (9 arguments)

Values of system properties, agents and file paths are never shown: they appear as <redacted>.

-Xmx4000M -Xms128M -XX:MaxDirectMemorySize=256M -XX:MaxMetaspaceSize=1024M -Djava.awt.headless=true -Dterminal.jline=false -Dterminal.ansi=true -Dheap0 -Did=<redacted>

Nothing to correct: every option is valid for Java 25.

To test

Performance settings to try one at a time, then measure with a benchmark before and after. None of them is applied in the corrected line, and none comes with a promised gain.

to testAikar's G1 settings

Settings documented by PaperMC for Minecraft servers: they size G1's young generation for the game's very high allocation rate and start collections earlier. Initial and maximum heap at the same size, with AlwaysPreTouch, commit the whole heap at start-up: proposed only because that heap already stays under the memory limit.

-Xms4000M -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1

No measurement of this run points to it: it stays a lead to measure.

source

Re-run and compare

  1. Apply the corrected line where your server starts (panel start-up parameters, start.sh).
  2. Restart the server.
  3. Run a new benchmark: /bench start
  4. Compare the new report with this one.
Open the comparison with this report

This report is the before; add the new report to the comparison once it is in. A single run on each side says little: the gap between two runs of an unchanged server is noise.

Every measurement

Each test in full. Tests in trouble are open; the others fold to their summary line.

Single-Core Stress

RedstoneHealthy

Single-core stress via intensive redstone circuit updates.

  • Heavy garbage collection51 collections, 1377ms total
TPS
min
15.00
avg
19.88
max
20.00
MSPT
min
28.00
avg
56.00
max
123.00
Percentiles and stability
TPS P1 (worst)15.00
TPS P519.99
TPS P50 (median)20.00
MSPT P9599.86
MSPT P99 (worst)122.96
TPS σ0.742
MSPT σ32.343
TPS derived from MSPT10.01
TPS stability3.7%(Stable)
MSPT stability129.4%(Unstable)
Raw data (3 fields)
pistonCount: 1,600gcCount: 51gcTimeMs: 1,377
Block PhysicsHealthy

Single-core stress via falling-block physics.

  • Heavy garbage collection14 collections, 1246ms total
TPS
min
15.00
avg
19.92
max
20.00
MSPT
min
11.40
avg
28.90
max
44.70
Percentiles and stability
TPS P1 (worst)15.00
TPS P519.99
TPS P50 (median)20.00
MSPT P9535.97
MSPT P99 (worst)44.65
TPS σ0.620
MSPT σ6.852
TPS derived from MSPT20.00
TPS stability3.1%(Stable)
MSPT stability27.4%(Unstable)
Raw data (5 fields)
spawnFrequency: 1blocksSpawnedPerSecond: 1,124.701gcCount: 14fallingBlockCount: 24,000gcTimeMs: 1,246

Exploration

Chunk LoadingHealthy

Chunk generation and loading speed across dispersed zones.

  • Heavy garbage collection17 collections, 5135ms total
TPS
min
15.01
avg
19.77
max
20.00
MSPT
min
2.50
avg
5.80
max
33.80
Avg window115.2 chunks
Chunks loaded16000 chunks
Avg chunk load time1.06 ms
Chunks/sec824.06 chunks/s
Peak window200 chunks
Critical brakes0 events
Peak observed MSPT81.3 ms
Percentiles and stability
TPS P1 (worst)15.01
TPS P518.77
TPS P50 (median)20.00
MSPT P9510.76
MSPT P99 (worst)33.79
TPS σ0.989
MSPT σ5.551
TPS derived from MSPT20.00
TPS stability4.9%(Stable)
MSPT stability22.2%(Unstable)
Raw data (2 fields)
gcCount: 17gcTimeMs: 5,135
Chunk TickingHealthy

Server performance when ticking many loaded chunks with random tick updates.

  • Heavy garbage collection20 collections, 1395ms total
TPS
min
19.98
avg
20.00
max
20.00
MSPT
min
22.90
avg
27.90
max
36.60
Chunks ticked200 chunks
Percentiles and stability
TPS P1 (worst)20.00
TPS P520.00
TPS P50 (median)20.00
MSPT P9530.95
MSPT P99 (worst)34.16
TPS σ0.028
MSPT σ1.951
TPS derived from MSPT20.00
TPS stability0.1%(Stable)
MSPT stability7.8%(Stable)
Raw data (3 fields)
gcCount: 20tickSpeed: 20gcTimeMs: 1,395
Lighting UpdateHealthy

Lighting recomputation throughput on block place / break.

  • Heavy garbage collection5 collections, 432ms total
TPS
min
19.68
avg
20.00
max
20.00
MSPT
min
2.90
avg
3.70
max
5.90
Total lighting updates3227 count
Lighting updates/sec127.8 ops/s
Percentiles and stability
TPS P1 (worst)19.99
TPS P520.00
TPS P50 (median)20.00
MSPT P954.84
MSPT P99 (worst)5.82
TPS σ0.043
MSPT σ0.543
TPS derived from MSPT20.00
TPS stability0.2%(Stable)
MSPT stability2.2%(Stable)
Raw data (2 fields)
gcCount: 5gcTimeMs: 432

Entities

Mob AICritical

Complex mob AI behaviours (villagers, iron golems, hostile mobs).

  • Unfiltered samples usedUsing unfiltered samples (filter rate: 92%)
  • Heavy garbage collection15 collections, 881ms total
  • The run did not hold steadyTPS avg=6.15<19, TPS P1=3.68<15, TPS StdDev=4.10>2, TPS min=3.68 (60% of avg)
Phase 1
TPS 5.00
MSPT 504.97 ms
Phase 2
TPS 4.96
MSPT 292.00 ms
TPS
min
3.68
avg
6.15
max
20.00
MSPT
min
2.60
avg
372.10
max
1208.80
Percentiles and stability
TPS P1 (worst)3.68
TPS P55.00
TPS P50 (median)5.00
MSPT P95647.09
MSPT P99 (worst)1208.82
TPS σ4.104
MSPT σ223.789
TPS derived from MSPT1.55
TPS stability20.5%(Unstable)
MSPT stability895.2%(Unstable)
Raw data (12 fields)
globalAvgTps: 4.98phase2AvgTps: 4.96gcCount: 15globalAvgMspt: 398.49villagerCount: 2,400phase1AvgTps: 5.00filterRate: 0.92hostileMobCount: 1,200phase1AvgMspt: 504.97houseCount: 120phase2AvgMspt: 292.00gcTimeMs: 881

Mechanics

HopperUnstable

Intensive hopper chain item transfers.

  • Heavy garbage collection7 collections, 1365ms total
  • The run did not hold steadyTPS P1=10.66<15, TPS min=10.66 (54% of avg)
TPS
min
10.66
avg
19.65
max
20.00
MSPT
min
3.40
avg
4.20
max
5.40
Items transferred38080 items
Transfer efficiency95.2 %
Items/sec1940.3 items/s
Percentiles and stability
TPS P1 (worst)10.66
TPS P518.50
TPS P50 (median)20.00
MSPT P954.90
MSPT P99 (worst)5.41
TPS σ1.441
MSPT σ0.381
TPS derived from MSPT20.00
TPS stability7.2%(Stable)
MSPT stability1.5%(Stable)
Raw data (2 fields)
gcCount: 7gcTimeMs: 1,365
ExplosionHealthy

Massive TNT explosions and block destruction.

  • Heavy garbage collection9 collections, 1502ms total
TPS
min
20.00
avg
20.00
max
20.00
MSPT
min
3.80
avg
6.10
max
22.20
TPS drop during explosions0.00 TPS
Blocks destroyed7159 blocks
Block destruction throughput396.62 blocks/s
Percentiles and stability
TPS P1 (worst)20.00
TPS P520.00
TPS P50 (median)20.00
MSPT P9510.30
MSPT P99 (worst)22.24
TPS σ0.002
MSPT σ2.556
TPS derived from MSPT20.00
TPS stability0.0%(Stable)
MSPT stability10.2%(Moderate)
Raw data (2 fields)
gcCount: 9gcTimeMs: 1,502
Ticking Tile EntitiesHealthy

Many ticking tile entities (furnaces, hoppers, etc.).

  • Heavy garbage collection3 collections, 1282ms total
TPS
min
19.98
avg
20.00
max
20.00
MSPT
min
2.70
avg
3.20
max
4.30
Percentiles and stability
TPS P1 (worst)19.99
TPS P520.00
TPS P50 (median)20.00
MSPT P953.51
MSPT P99 (worst)3.94
TPS σ0.003
MSPT σ0.230
TPS derived from MSPT20.00
TPS stability0.0%(Stable)
MSPT stability0.9%(Stable)
Raw data (2 fields)
gcCount: 3gcTimeMs: 1,282
World SaveHealthy

World save speed and TPS impact during save operations.

  • Heavy garbage collection3 collections, 1027ms total
TPS
min
19.99
avg
20.00
max
20.00
MSPT
min
2.30
avg
2.50
max
3.10
World save write speed13.46 MB/s
TPS drop during save0.01 TPS
World size saved64.0 MB
Percentiles and stability
TPS P1 (worst)19.99
TPS P519.99
TPS P50 (median)20.00
MSPT P953.05
MSPT P99 (worst)3.05
TPS σ0.002
MSPT σ0.173
TPS derived from MSPT20.00
TPS stability0.0%(Stable)
MSPT stability0.7%(Stable)
Raw data (2 fields)
gcCount: 3gcTimeMs: 1,027
Bone Meal GrowthHealthy

Rapid crop and tree growth via bone meal.

  • Heavy garbage collection1 collections, 466ms total
TPS
min
19.99
avg
20.00
max
20.00
MSPT
min
2.30
avg
3.10
max
5.00
Percentiles and stability
TPS P1 (worst)19.99
TPS P520.00
TPS P50 (median)20.00
MSPT P953.66
MSPT P99 (worst)3.99
TPS σ0.002
MSPT σ0.352
TPS derived from MSPT20.00
TPS stability0.0%(Stable)
MSPT stability1.4%(Stable)
Raw data (8 fields)
cropsFullyGrown: 456gcCount: 1growthRate: 22.36cropCount: 500boneMealUsed: 1,513treesGrown: 46saplingCount: 200gcTimeMs: 466

CPU

Single-Core (tick-aligned)Healthy

Single-thread compute throughput measured on the main thread under the tick scheduler.

  • Heavy garbage collection2 collections, 735ms total
TPS
min
20.00
avg
20.00
max
20.00
MSPT
min
4.10
avg
4.70
max
6.10
Total operations103000000 ops
Single-core ops/s (tick-aligned)10268747 ops/s
Percentiles and stability
TPS P1 (worst)20.00
TPS P520.00
TPS P50 (median)20.00
MSPT P955.58
MSPT P99 (worst)6.12
TPS σ0.002
MSPT σ0.418
TPS derived from MSPT20.00
TPS stability0.0%(Stable)
MSPT stability1.7%(Stable)
Raw data (4 fields)
gcCount: 2cpuKernel: int_alubatchSize: 500,000gcTimeMs: 735
Multi-Core CPUHealthy

Parallel computation throughput across worker threads.

  • Heavy garbage collection1 collections, 342ms total
TPS
min
15.00
avg
19.98
max
20.00
MSPT
min
2.10
avg
2.70
max
3.80
Total operations50000000000 ops
Aggregate ops/s727680235 ops/s
Percentiles and stability
TPS P1 (worst)19.67
TPS P520.00
TPS P50 (median)20.00
MSPT P953.25
MSPT P99 (worst)3.61
TPS σ0.278
MSPT σ0.288
TPS derived from MSPT20.00
TPS stability1.4%(Stable)
MSPT stability1.2%(Stable)
Raw data (4 fields)
tasksCompleted: 100gcCount: 1cpuKernel: int_alugcTimeMs: 342

Memory & Storage

Memory PerformanceHealthy

RAM bandwidth and latency.

JVM measurements — do not reflect actual bare-metal performance.

  • Heavy garbage collection13 collections, 1466ms total
TPS
min
15.00
avg
19.98
max
20.00
MSPT
min
2.20
avg
3.00
max
4.90
Sequential read60.58 MB/s
Memcpy throughput6178.59 MB/s
Random write10.13 MB/s
Memory latency179.6 ns
Sequential write24.14 MB/s
Random read5.82 MB/s
Percentiles and stability
TPS P1 (worst)19.92
TPS P519.99
TPS P50 (median)20.00
MSPT P953.54
MSPT P99 (worst)3.89
TPS σ0.293
MSPT σ0.348
TPS derived from MSPT20.00
TPS stability1.5%(Stable)
MSPT stability1.4%(Stable)
Raw data (2 fields)
gcCount: 13gcTimeMs: 1,466
Disk PerformanceHealthy

Sequential and random 4K read/write performance.

JVM measurements — do not reflect actual bare-metal performance.

  • Heavy garbage collection41 collections, 998ms total
TPS
min
15.00
avg
19.96
max
20.00
MSPT
min
2.10
avg
2.90
max
4.30
4K read latency p995.4 µs
Sequential read2166.05 MB/s
Random 4K write733.11 MB/s
4K read latency p953.4 µs
Random 4K write IOPS187675 IOPS
Random 4K read1591.11 MB/s
4K write latency avg4.6 µs
4K read latency p502.3 µs
4K write latency p997.9 µs
4K write latency p502.8 µs
4K write latency p955.1 µs
Sequential write300.36 MB/s
4K read latency avg3.3 µs
Random 4K read IOPS407325 IOPS
Percentiles and stability
TPS P1 (worst)19.97
TPS P519.99
TPS P50 (median)20.00
MSPT P953.89
MSPT P99 (worst)4.28
TPS σ0.453
MSPT σ0.468
TPS derived from MSPT20.00
TPS stability2.3%(Stable)
MSPT stability1.9%(Stable)
Raw data (3 fields)
cacheInvalidated: yesgcCount: 41gcTimeMs: 998

Network

Network (NBT)Unstable

Serialisation throughput — proxy for the rate at which the server can ship world data to clients.

  • Heavy garbage collection30 collections, 391ms total
  • The run did not hold steadyTPS avg=17.67<19, TPS StdDev=2.50>2
TPS
min
15.00
avg
17.67
max
20.00
MSPT
min
50.90
avg
58.00
max
72.10
Objects processed20000 obj
NBT serialization throughput4.12 MB/s
Objects/sec760 obj/s
Bytes processed113531305 B
Percentiles and stability
TPS P1 (worst)15.00
TPS P515.00
TPS P50 (median)20.00
MSPT P9563.94
MSPT P99 (worst)72.10
TPS σ2.497
MSPT σ3.932
TPS derived from MSPT15.64
TPS stability12.5%(Moderate)
MSPT stability15.7%(Moderate)
Raw data (2 fields)
gcCount: 30gcTimeMs: 391
›Machine and serverIntel(R) Xeon(R) E-2288G CPU @ 3.70GHz · Paper · 26.2
CPU Information
ModelIntel(R) Xeon(R) E-2288G CPU @ 3.70GHz
VendorGenuineIntel
Physical Cores8
Logical Cores16
Max Frequency5 GHz
Server Information
Server TypePaper (26.2-112-c9e894d (MC: 26.2))
Minecraft Version26.2
Bukkit Version26.2.build.112-stable
Java Version25
OSLinux
Location🇨🇦 Canada
Plugins1
JVM Memory
Max Heap3.91 GB
Allocated1.77 GB
Used0.58 GB
Free1.18 GB
Heap Usage14.9%
JVM Flags
-Xmx4000M -Xms128M -XX:MaxDirectMemorySize=256M -XX:MaxMetaspaceSize=1024M -Djava.awt.headless=true -Dterminal.jline=false -Dterminal.ansi=true -Dheap0 -Did=<redacted>
Dispersed Zones8

Score Breakdown

Detailed sub-category scores

Hardware

Memory12,075
Disk19,045
Multi-Core14,343

Gameplay

Exploration84,743
Entities51,669
Mechanics38,438

Multipliers

Synergy Bonusx0.956
Stability Bonusx0.911
Duration Mult.x1.008