Benchmark Report

Aug 12, 2026, 3:25 AMVoxelBench plugin 1.6.012 min 48 s benchmark
PublicSTANDARDStandard scoring 8.1.0· earlier scoring
Total score
38,819
RankC
Single Core61,727
Gameplay55,105
Hardware14,313
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 = 407.3 ms
  • mspt_p99 = 1,348.62 ms
  • spike_ratio = 3.31 ratio
  • sample_count = 57 count

Weakest test: Mob AI, 6.05 TPS on average. The 15 other tests hold at least 17.73 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 = 407.3 ms
  • mspt_p99 = 1,348.62 ms
  • spike_ratio = 3.31 ratio
  • sample_count = 57 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 = 47.3 ms
  • mspt_target = 35 ms
  • tps_avg = 20 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 = 47.3 ms
  • mspt_p99 = 115.21 ms
  • spike_ratio = 2.44 ratio
  • sample_count = 32 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 407.3 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 407.3 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": 407.3,
      "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": 407.3,
      "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, 1384ms total
TPS
min
20.00
avg
20.00
max
20.00
MSPT
min
26.60
avg
47.30
max
115.20
Percentiles and stability
TPS P1 (worst)20.00
TPS P520.00
TPS P50 (median)20.00
MSPT P9598.65
MSPT P99 (worst)115.21
TPS σ0.015
MSPT σ29.411
TPS derived from MSPT10.14
TPS stability0.1%(Stable)
MSPT stability117.6%(Unstable)
Raw data (3 fields)
pistonCount: 1,600gcCount: 51gcTimeMs: 1,384
Block PhysicsHealthy

Single-core stress via falling-block physics.

  • Heavy garbage collection14 collections, 1267ms total
TPS
min
19.40
avg
19.99
max
20.00
MSPT
min
13.00
avg
30.70
max
39.60
Percentiles and stability
TPS P1 (worst)19.40
TPS P520.00
TPS P50 (median)20.00
MSPT P9537.84
MSPT P99 (worst)39.60
TPS σ0.074
MSPT σ6.995
TPS derived from MSPT20.00
TPS stability0.4%(Stable)
MSPT stability28.0%(Unstable)
Raw data (5 fields)
spawnFrequency: 1blocksSpawnedPerSecond: 1,126.813gcCount: 14fallingBlockCount: 24,000gcTimeMs: 1,267

Exploration

Chunk LoadingHealthy

Chunk generation and loading speed across dispersed zones.

  • Heavy garbage collection16 collections, 4708ms total
TPS
min
15.00
avg
19.84
max
20.00
MSPT
min
2.60
avg
5.20
max
35.10
Avg window116.0 chunks
Chunks loaded16000 chunks
Avg chunk load time1.24 ms
Chunks/sec714.00 chunks/s
Peak window200 chunks
Critical brakes0 events
Peak observed MSPT86.9 ms
Percentiles and stability
TPS P1 (worst)15.00
TPS P520.00
TPS P50 (median)20.00
MSPT P957.14
MSPT P99 (worst)35.14
TPS σ0.892
MSPT σ4.648
TPS derived from MSPT20.00
TPS stability4.5%(Stable)
MSPT stability18.6%(Moderate)
Raw data (2 fields)
gcCount: 16gcTimeMs: 4,708
Chunk TickingHealthy

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

  • Heavy garbage collection20 collections, 1507ms total
TPS
min
17.35
avg
19.96
max
20.00
MSPT
min
22.00
avg
27.90
max
36.40
Chunks ticked200 chunks
Percentiles and stability
TPS P1 (worst)17.61
TPS P519.99
TPS P50 (median)20.00
MSPT P9532.21
MSPT P99 (worst)33.55
TPS σ0.306
MSPT σ2.645
TPS derived from MSPT20.00
TPS stability1.5%(Stable)
MSPT stability10.6%(Moderate)
Raw data (3 fields)
gcCount: 20tickSpeed: 20gcTimeMs: 1,507
Lighting UpdateHealthy

Lighting recomputation throughput on block place / break.

  • Heavy garbage collection4 collections, 457ms total
TPS
min
19.99
avg
20.00
max
20.00
MSPT
min
2.70
avg
3.40
max
6.00
Total lighting updates3227 count
Lighting updates/sec125.1 ops/s
Percentiles and stability
TPS P1 (worst)20.00
TPS P520.00
TPS P50 (median)20.00
MSPT P955.17
MSPT P99 (worst)5.78
TPS σ0.002
MSPT σ0.637
TPS derived from MSPT20.00
TPS stability0.0%(Stable)
MSPT stability2.5%(Stable)
Raw data (2 fields)
gcCount: 4gcTimeMs: 457

Entities

Mob AICritical

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

  • Unfiltered samples usedUsing unfiltered samples (filter rate: 93%)
  • Heavy garbage collection17 collections, 928ms total
  • The run did not hold steadyTPS avg=6.05<19, TPS P1=5.00<15, TPS StdDev=3.87>2
Phase 1
TPS 4.79
MSPT 492.57 ms
Phase 2
TPS 5.00
MSPT 323.13 ms
TPS
min
5.00
avg
6.05
max
20.00
MSPT
min
2.20
avg
407.30
max
1348.60
Percentiles and stability
TPS P1 (worst)5.00
TPS P55.00
TPS P50 (median)5.00
MSPT P951111.41
MSPT P99 (worst)1348.62
TPS σ3.866
MSPT σ264.676
TPS derived from MSPT0.90
TPS stability19.3%(Moderate)
MSPT stability1058.7%(Unstable)
Raw data (12 fields)
globalAvgTps: 4.89phase2AvgTps: 5.00gcCount: 17globalAvgMspt: 407.85villagerCount: 2,400phase1AvgTps: 4.79filterRate: 0.93hostileMobCount: 1,200phase1AvgMspt: 492.57houseCount: 120phase2AvgMspt: 323.13gcTimeMs: 928

Mechanics

HopperUnstable

Intensive hopper chain item transfers.

  • Heavy garbage collection7 collections, 1327ms total
  • The run did not hold steadyTPS P1=10.00<15, TPS min=10.00 (51% of avg)
TPS
min
10.00
avg
19.45
max
20.00
MSPT
min
3.40
avg
4.30
max
5.50
Items transferred38080 items
Transfer efficiency95.2 %
Items/sec1937.4 items/s
Percentiles and stability
TPS P1 (worst)10.00
TPS P518.00
TPS P50 (median)20.00
MSPT P955.25
MSPT P99 (worst)5.50
TPS σ1.656
MSPT σ0.524
TPS derived from MSPT20.00
TPS stability8.3%(Stable)
MSPT stability2.1%(Stable)
Raw data (2 fields)
gcCount: 7gcTimeMs: 1,327
ExplosionHealthy

Massive TNT explosions and block destruction.

  • Heavy garbage collection9 collections, 1471ms total
TPS
min
19.99
avg
20.00
max
20.00
MSPT
min
3.20
avg
5.90
max
25.20
TPS drop during explosions0.01 TPS
Blocks destroyed7513 blocks
Block destruction throughput416.23 blocks/s
Percentiles and stability
TPS P1 (worst)19.99
TPS P520.00
TPS P50 (median)20.00
MSPT P959.82
MSPT P99 (worst)25.21
TPS σ0.003
MSPT σ2.993
TPS derived from MSPT20.00
TPS stability0.0%(Stable)
MSPT stability12.0%(Moderate)
Raw data (2 fields)
gcCount: 9gcTimeMs: 1,471
Ticking Tile EntitiesHealthy

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

  • Heavy garbage collection6 collections, 1370ms total
TPS
min
19.99
avg
20.00
max
20.00
MSPT
min
2.40
avg
2.90
max
3.50
Percentiles and stability
TPS P1 (worst)19.99
TPS P520.00
TPS P50 (median)20.00
MSPT P953.24
MSPT P99 (worst)3.42
TPS σ0.002
MSPT σ0.190
TPS derived from MSPT20.00
TPS stability0.0%(Stable)
MSPT stability0.8%(Stable)
Raw data (2 fields)
gcCount: 6gcTimeMs: 1,370
World SaveHealthy

World save speed and TPS impact during save operations.

  • Heavy garbage collection3 collections, 1038ms total
TPS
min
20.00
avg
20.00
max
20.00
MSPT
min
2.10
avg
2.30
max
2.60
World save write speed14.94 MB/s
TPS drop during save0.00 TPS
World size saved73.0 MB
Percentiles and stability
TPS P1 (worst)20.00
TPS P520.00
TPS P50 (median)20.00
MSPT P952.58
MSPT P99 (worst)2.58
TPS σ0.002
MSPT σ0.141
TPS derived from MSPT20.00
TPS stability0.0%(Stable)
MSPT stability0.6%(Stable)
Raw data (2 fields)
gcCount: 3gcTimeMs: 1,038
Bone Meal GrowthHealthy

Rapid crop and tree growth via bone meal.

  • Heavy garbage collection1 collections, 489ms total
TPS
min
17.61
avg
19.98
max
20.00
MSPT
min
2.20
avg
2.80
max
4.90
Percentiles and stability
TPS P1 (worst)19.99
TPS P520.00
TPS P50 (median)20.00
MSPT P953.40
MSPT P99 (worst)4.76
TPS σ0.236
MSPT σ0.423
TPS derived from MSPT20.00
TPS stability1.2%(Stable)
MSPT stability1.7%(Stable)
Raw data (8 fields)
cropsFullyGrown: 459gcCount: 1growthRate: 22.63cropCount: 500boneMealUsed: 1,516treesGrown: 49saplingCount: 200gcTimeMs: 489

CPU

Single-Core (tick-aligned)Healthy

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

  • Heavy garbage collection2 collections, 806ms total
TPS
min
19.99
avg
20.00
max
20.00
MSPT
min
4.00
avg
4.40
max
5.30
Total operations102500000 ops
Single-core ops/s (tick-aligned)10240247 ops/s
Percentiles and stability
TPS P1 (worst)19.99
TPS P520.00
TPS P50 (median)20.00
MSPT P954.74
MSPT P99 (worst)5.26
TPS σ0.002
MSPT σ0.239
TPS derived from MSPT20.00
TPS stability0.0%(Stable)
MSPT stability1.0%(Stable)
Raw data (4 fields)
gcCount: 2cpuKernel: int_alubatchSize: 500,000gcTimeMs: 806
Multi-Core CPUHealthy

Parallel computation throughput across worker threads.

  • Heavy garbage collection1 collections, 359ms total
TPS
min
19.57
avg
20.00
max
20.00
MSPT
min
1.90
avg
2.40
max
3.30
Total operations50000000000 ops
Aggregate ops/s730850172 ops/s
Percentiles and stability
TPS P1 (worst)19.91
TPS P519.99
TPS P50 (median)20.00
MSPT P952.81
MSPT P99 (worst)3.03
TPS σ0.041
MSPT σ0.231
TPS derived from MSPT20.00
TPS stability0.2%(Stable)
MSPT stability0.9%(Stable)
Raw data (4 fields)
tasksCompleted: 100gcCount: 1cpuKernel: int_alugcTimeMs: 359

Memory & Storage

Memory PerformanceHealthy

RAM bandwidth and latency.

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

  • Heavy garbage collection13 collections, 1533ms total
TPS
min
19.90
avg
20.00
max
20.00
MSPT
min
2.10
avg
2.60
max
4.50
Sequential read60.20 MB/s
Memcpy throughput6019.75 MB/s
Random write11.61 MB/s
Memory latency185.1 ns
Sequential write26.13 MB/s
Random read6.07 MB/s
Percentiles and stability
TPS P1 (worst)19.95
TPS P520.00
TPS P50 (median)20.00
MSPT P953.09
MSPT P99 (worst)3.73
TPS σ0.011
MSPT σ0.290
TPS derived from MSPT20.00
TPS stability0.1%(Stable)
MSPT stability1.2%(Stable)
Raw data (2 fields)
gcCount: 13gcTimeMs: 1,533
Disk PerformanceHealthy

Sequential and random 4K read/write performance.

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

  • Heavy garbage collection38 collections, 879ms total
TPS
min
19.51
avg
19.99
max
20.00
MSPT
min
2.40
avg
3.30
max
5.10
4K read latency p995.5 µs
Sequential read2196.23 MB/s
Random 4K write679.48 MB/s
4K read latency p953.4 µs
Random 4K write IOPS173946 IOPS
Random 4K read1651.21 MB/s
4K write latency avg9.2 µs
4K read latency p502.3 µs
4K write latency p9971.2 µs
4K write latency p502.9 µs
4K write latency p9532.0 µs
Sequential write270.78 MB/s
4K read latency avg3.0 µs
Random 4K read IOPS422711 IOPS
Percentiles and stability
TPS P1 (worst)19.88
TPS P519.99
TPS P50 (median)20.00
MSPT P954.14
MSPT P99 (worst)4.80
TPS σ0.063
MSPT σ0.503
TPS derived from MSPT20.00
TPS stability0.3%(Stable)
MSPT stability2.0%(Stable)
Raw data (3 fields)
cacheInvalidated: yesgcCount: 38gcTimeMs: 879

Network

Network (NBT)Unstable

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

  • Heavy garbage collection25 collections, 455ms total
  • The run did not hold steadyTPS avg=17.73<19, TPS StdDev=2.51>2
TPS
min
15.00
avg
17.73
max
20.00
MSPT
min
52.40
avg
58.90
max
73.50
Objects processed20000 obj
NBT serialization throughput4.03 MB/s
Objects/sec744 obj/s
Bytes processed113531305 B
Percentiles and stability
TPS P1 (worst)15.00
TPS P515.00
TPS P50 (median)20.00
MSPT P9568.91
MSPT P99 (worst)73.54
TPS σ2.507
MSPT σ5.091
TPS derived from MSPT14.51
TPS stability12.5%(Moderate)
MSPT stability20.4%(Unstable)
Raw data (2 fields)
gcCount: 25gcTimeMs: 455
›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.75 GB
Used0.59 GB
Free1.16 GB
Heap Usage15.1%
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

Memory11,938
Disk19,046
Multi-Core14,416

Gameplay

Exploration86,809
Entities47,597
Mechanics38,872

Multipliers

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