Open source · Apache-2.0

MineBench

MineBench je Paper plugin, který měří výkon Minecraft hostingu přímo na serveru. Uloží naměřená data, latence a přehledný report. Nevytváří body ani žebříček.

Paper 26.2 Java 25 standard-v1 přibližně 25–28 minut

Pouze pro nový samostatný testovací server

Test server výrazně zatíží: vygeneruje 15 625 nových chunků a vytvoří až 1 000 villagerů. Nespouštějte jej na produkčním serveru ani vedle nezálohovaného světa.

Postupně budeme přidávat měření dalších českých hostingů, aby bylo možné porovnat výkon více konkrétních tarifů.

Konkrétní měření

Naměřený výkon testovaných tarifů

V každém řádku najdete tarif, jeho známé parametry, cenu a výsledek jednoho testu. Hostingy neřadíme, protože jejich procesory, limity CPU a balíčky nejsou stejné.

Novější procesor automaticky neznamená lepší výsledek. Na vytíženém nebo přeplněném sdíleném hostingu může být server pomalejší. Počet procesorů viditelných pro JVM navíc nemusí odpovídat garantovaným fyzickým jádrům.
Zatím není zveřejněné žádné dokončené měření.

Platforma

Sestavení a instalace

Plugin je připnutý na stabilní Paper API 26.2.build.121-stable a vyžaduje Java 25. Folia, Spigot a CraftBukkit nejsou podporovány. Výsledky jiné herní verze nejsou metodicky srovnatelné.

.\gradlew.bat clean build
./gradlew clean build

Soubor build/libs/MineBench-1.0.0.jar zkopírujte do plugins/ čistého serveru. Připojte právě jednoho skutečného hráče. Doporučené minimum je 4 GiB heapu a nejméně 5 GiB volného místa.

Ovládání

Příkazy

/minebench start

Vytvoří dvouminutový potvrzovací token.

/minebench confirm <token>

Spustí kontrolu prostředí a benchmark.

/minebench status

Ukáže stav, run ID, fázi a počty vzorků.

/minebench cancel

Zastaví workload, uklidí a vytvoří částečný report.

/minebench report

Vypíše cestu k reportu posledního běhu.

/minebench cleanup

Bezpečně odstraní svět po přerušeném běhu.

Spuštění vyžaduje dva příkazy kvůli úmyslné zátěži. Konzole nemůže oficiální běh spustit ani potvrdit. Oprávnění mají ve výchozím stavu operátoři.

Preflight

Co plugin ověří před startem

  • Příkaz vydává jediný online hráč a jiný benchmark neběží.
  • Server používá Minecraft/Paper 26.2 a Java 25 nebo novější.
  • Zbývá alespoň 5 GiB disku a 1 GiB maximální heap kapacity.
  • Běží jen MineBench nebo pluginy uvedené v allowed-plugins.
  • Benchmarkovací svět ještě neexistuje a není hlavním světem.
  • Po předchozím běhu nezůstal neuklizený checkpoint.

Pevný profil standard-v1

Průběh benchmarku

Parametry nelze měnit. Canonická definice je uvnitř JARu a report obsahuje její SHA-256 jako methodologyHash. Svět používá seed 907351226, vanilla generátor, stálý čas, jasné počasí, difficulty NORMAL a border 40 000 bloků.

FázeDélkaWorkload
Warmup1 minNačtení tříd a JIT; tick vzorky se uloží, ale nepatří do výsledku výkonu.
Baseline2 minIdle MSPT, TPS, CPU, heap a GC; p95 nad 50 ms vytvoří varování.
World generationmax. 10 min125 × 125 = 15 625 nových chunků, spirála a přesně 32 souběžných async requestů.
Settling1 minUložení světa, odebrání tickets, unload a příprava arén bez vynuceného GC.
Warm chunk reloadmax. 3 min4 096 předgenerovaných chunků, 32 souběžných requestů; fáze skončí po načtení všech chunků.
Villager AI6 minČtyři stupně s 250, 500, 750 a 1 000 persistentními aware villagery.
Block systems4 minAž 4 096 vodních buněk a 512 observer clocks, změny rozložené přes každý tick.
Mixed load5 min1 000 villagerů, 4 096 vodních buněk, 512 observer clocks a řízený warm reload.
Cooldown1 minDávkový cleanup, návrat hráče, unload bez zbytečného uložení a bezpečné smazání světa.

Maximální délka je přibližně 33 minut. World generation a warm chunk reload mohou skončit dříve, takže na rychlém hostingu se očekává přibližně 25–28 minut. Příprava prvního světa před warmupem je v reportu, ale nepočítá se jako měřený výkon.

Jak číst data

MSPT je hlavní, TPS doplňkové

MSPT říká, kolik milisekund server potřebuje na tick. Nižší je lepší a 50 ms je rozpočet pro 20 TPS. Server s 5 i 30 MSPT stále ukazuje 20 TPS, proto samotné TPS výkon pod rozpočtem nerozliší.

p95 a p99

Počítají se z jednotlivých ticků nebo chunk requestů, ne ze sekundových průměrů.

Bez outlier filtru

Žádný pomalý tick ani GC pause se z výsledku neodstraňuje.

Sekundová řada

Obsahuje fázi a stupeň zátěže, MSPT, TPS, CPU, heap, chunky, entity a GC count/time.

Warm chunk reload

Není čistým disk benchmarkem, protože nelze bezpečně vyčistit OS page cache.

Ochranné limity

Automatický abort a cleanup

Workload se zastaví při rolling p95 MSPT nad 250 ms po 10 sekund, ticku delším než sekunda, heapu nad 90 % po 10 sekund, disku pod 5 GiB, změně hráčů nebo neošetřené chybě. Server se nevypíná; plugin uklidí své entity a tickets, vrátí hráče a vytvoří částečný report.

Mazání je omezené na svět s přesným prefixem minebench_standard_v1_. Po pádu zůstane checkpoint, průběžný report, raw CSV snapshot a snapshot hráče; běh se označí jako přerušený a automaticky nepokračuje. Nejvýše posledních 30 sekund dat může při tvrdém pádu chybět.

Otevřená data

Výstupy každého běhu

plugins/MineBench/reports/<run-id>/
run.json

Provenance, metodika, prostředí, fáze, warningy a důvod ukončení.

samples.csv

Sekundová časová řada.

ticks.csv

Každý tick v nanosekundách i milisekundách.

operations.csv

Chunk operace, souřadnice, latence a výsledek.

summary.json

MSPT percentily, overruns, throughput a latence.

report.md

Čitelný lidský přehled.

report.zip

Archiv šesti výsledkových souborů.

Srovnatelnost

Reprodukce na jiném hostingu

  1. 1

    Použijte Paper 26.2, stejný Java 25 runtime, JVM argumenty, heap a view/simulation distance.

  2. 2

    Nainstalujte stejný MineBench JAR a stejné verze případných allowlistovaných pluginů.

  3. 3

    Zajistěte klidné prostředí, dostatek disku a heapu a připojte jediného hráče.

  4. 4

    Spusťte start, potvrďte token a porovnejte methodology hash i celé prostředí.

  5. 5

    Porovnávejte jednotlivé dimenze — MSPT tails, chunky, CPU, heap a GC — ne pouze jedno odvozené číslo.

MineBench nevytváří body ani žebříček

Plugin publikuje surové metriky a ani tento web je nepřevádí na společné skóre hostingů. Výsledky jsou popisné, ne laboratorně normalizované; pro seriózní závěr opakujte celé běhy a střídejte pořadí hostingů nebo podmínek.

MineBench se metodicky inspiruje scénáři projektu Mc-benchmark, ale nekopíruje jeho zdrojový kód. Je vydán pod Apache License 2.0.