nineMinecraft is a joke site.
nineMinecraft is in no way affiliated with Modrinth or 9minecraft. (And frankly, who wants to be affiliated with the latter?)
PerformanceX

PerformanceX

Mod and plugin

Struggling with LAG??? Look no further! PX is an All-in-one server performance suite - 50 modules including item/mob despawn timers, AI throttling, lag machine detection, auto backups, Discord webhooks, Geyser support, and more. 1.8.8-26.1.x.

Game MechanicsManagement MobsOptimizationStorageTechnologyUtilityWorld Generation

3,349 downloads
12 followers
Filter loader...
Filter versions...

1.1.64

by protectcord on Jun 4, 2026
Download

fabric: added leaf-decay-optimizer (halt doLeafDecay gamerule during lag to stop leaf cascade block updates) and collision-limiter (set noPhysics=true on item entities, item frames, and projectiles to cut block-collision overhead). fabric now has 28 performance modules, matching forge parity.

1.1.63

by protectcord on Jun 4, 2026
Download

fabric: added random-tick-optimizer (reduce randomTickSpeed gamerule during lag), view-distance-adjuster (dynamically shrink view distance under load), and spawn-tick-optimizer (scan-based probabilistic mob cull during lag). fabric now has 26 performance modules.

1.1.62

by protectcord on Jun 4, 2026
Download

fabric: added hopper-limiter (throttle hopper transfer rate under load), explosion-optimizer (cap active TNT entities per dimension), and mob-griefing-optimizer (toggle mob griefing gamerule during lag). fabric now has 23 performance modules.

1.1.61

by protectcord on Jun 4, 2026
Download

fabric: added item-merge (merges nearby identical ground item stacks), item-frame-optimizer (caps item frames per world, removes distant ones), and auto-backup (scheduled world backups with local/ftp backends). fabric now has 20 performance modules.

1.1.60

by protectcord on Jun 4, 2026
Download

fabric now has 17 performance modules (entity limiter, mob clear, item clear, mob ai throttler, entity culling, spawn limiter, breeding throttler, projectile limiter, villager optimizer, ram optimizer, cpu stabilizer, lag actions, auto restart, dynamic sim distance, tick profiler, anti lag machine, performance monitor). 3 of those are fabric-exclusive (dynamic sim distance, tick profiler, anti lag machine). all 100% reflective, no loom required.

quality pass xx — placeholderapi.yml now documents all 13 previously undocumented placeholders: tps_1m, next_mobclear, items_tracked, modules_enabled, modules_total, integrations_active, integrations_total, lag_throttle_active, packets_throttled, random_tick_speed, disk_io_deferred, holograms. also added a note for the two dynamic placeholder patterns (module_<id> and integration_<id>) which were working but completely invisible in the docs.

quality pass xix — webhooks.yml now documents all 10 previously undocumented events (disk_io_throttled, disk_io_resumed, ram_gc_threshold, ram_alert, ram_gc_scheduled, cpu_high, plugin_auto_disabled, server_hang, mythicmobs_boss_spawn, mythicmobs_boss_death) with their placeholder variables. also added all 10 as example entries in the main-discord endpoint block so you can just flip enabled: true without guessing the field names.

1.1.57

by protectcord on Jun 4, 2026
Download

v1.1.57 — Quality Pass XVIII

Bug Fixes

  • AutoConfig: The manual restart countdown (repeatGlobal task) was never cancelled before calling Bukkit.getServer().shutdown(). The task continued ticking through the shutdown sequence. Now the TaskHandle is stored in a final array ref and cancelled before shutdown() is dispatched.
  • AutoConfig: backupDir.mkdirs() return value was ignored — a silently-failed directory creation produced a confusing FileNotFoundException on the next line. Now logs a clear [AutoConfig] Could not create backup directory error and returns null early so the caller skips the config apply.

New Features

  • Disk I/O Throttler: Now fires two webhook events that admins can subscribe to in webhooks.yml:
    • disk_io_throttled — fires when the IOPS budget is exceeded and auto-save is suppressed. Includes saves_per_second, budget, and usage_percent placeholders.
    • disk_io_resumed — fires when I/O pressure eases and auto-save is restored. Includes saves_per_second and budget placeholders.

1.1.56

by protectcord on Jun 3, 2026
Download

v1.1.56 — Quality Pass XVII

Bug Fixes

  • Webhooks: fire("server_stop", ...) in onDisable() is now wrapped in a try-catch so queue.shutdown() (the 5-second drain giving webhooks time to deliver) always runs even if the payload build throws.

Improvements

  • Performance Display: Now declares a soft requires("monitor") dependency so a warning appears at startup if the monitor module is off — holograms fall back to ? for all stats without it.

New PlaceholderAPI Placeholders

  • %performancex_tps_1m%: Explicit 1-minute TPS alias matching the {tps_1m} hologram placeholder name for consistency.
  • %performancex_holograms%: Number of currently placed performance-display holograms (from the perf-display module).
  • %performancex_disk_io_deferred%: true/false — whether the Disk I/O Throttler is currently deferring writes due to IOPS budget exhaustion.

1.1.55

by protectcord on Jun 3, 2026
Download

v1.1.55 — Performance Display Holograms

New Features

  • Performance Display (perf-display): New module — placeable, live-updating performance holograms for server admins.
    • Place with /px display place [name], remove with /px display remove <name>, list with /px display list.
    • Shows TPS, MSPT, RAM usage, player count, entity count, and chunk count from the live monitor snapshot.
    • Color-coded TPS and MSPT (green/yellow/red) via MiniMessage {tps_color} and {mspt_color} placeholders.
    • Uses a single TextDisplay entity on 1.19.4+ (native multi-line); one ArmorStand per line on older versions.
    • Updates every second by default — configurable via update_interval_ticks.
    • Hologram positions are persisted in perf-display.yml and respawn automatically on reload and restart.
    • Folia-compatible: entity spawning and updates dispatched on the correct region thread.
    • Auto-respawns holograms when their chunk reloads via ChunkLoadEvent.

1.1.54

by protectcord on Jun 3, 2026
Download

v1.1.54 — Quality Pass XVI

Improvements

  • 67 Integrations: All remaining integration files with raw unvalidated numeric config reads now use ConfigValidator — invalid values warn and fall back to safe defaults instead of silently misbehaving.
  • AbstractIntegration: getCacheTtlMs() now validates the raw getLong result — values ≤ 0 fall back to 5000ms with a warning instead of returning zero or negative cache TTLs.
  • GriefPrevention: claim_check_radius was read with a raw getLong and no validation; now uses ConfigValidator with a safe fallback.

v1.1.53

by protectcord on Jun 3, 2026
Download

v1.1.53 — Integration Config Validation

Config Validation

  • Lands: claim_cache_ttl_ms now validated — zero/negative logs a warning and falls back to 5000ms instead of silently clamping
  • Towny: same fix for claim_cache_ttl_ms
  • Residence: same fix for claim_cache_ttl_ms
  • GriefDefender: same fix for claim_cache_ttl_ms
  • ASkyBlock: island_cache_ttl_ms now validated — zero/negative logs a warning and falls back to 5000ms
  • IridiumSkyblock: same fix for island_cache_ttl_ms
  • PlotSquared: plot_cache_ttl_ms now validated — zero/negative logs a warning and falls back to 5000ms
  • ProtectionStones: region_cache_ttl_ms now validated — zero/negative logs a warning and falls back to 5000ms
  • Veinminer: context_ttl_ms and detection_radius now validated — zero/negative logs a warning and uses defaults
  • xPickup: check_radius now validated — zero/negative logs a warning and falls back to 8
  • AdvancedEnchantments: min_level_to_protect now validated — zero/negative logs a warning and falls back to 1

v1.1.52

by protectcord on Jun 3, 2026
Download

v1.1.52 — Quality Pass XIV

Config Validation

  • Auto Updater: check_interval_hours, timeout.connect_ms, and timeout.read_ms now use ConfigValidator; removed a silent Math.max clamp that suppressed the warning when the interval was set too low.
  • Benchmark: cpu-test-seconds, ram-test-mb, disk-test-mb, network-test-bytes, and network-timeout-ms now use ConfigValidator — zero values no longer produce misleading benchmark scores or cause immediate HTTP timeouts.
  • Block Logger: max-query-results, max-radius, write-batch-size, and write-interval-seconds now use ConfigValidator — zero values no longer silently empty all query results or spin the flush task every tick.

v1.1.51

by protectcord on Jun 3, 2026
Download

v1.1.51 — Quality Pass XIII

Config Validation

  • Redstone Limiter: lag_aware.tps_threshold now uses ConfigValidator — it was the only value in the method skipped by the existing validator instance.
  • Entity Limiter: lag_aware.tps_threshold and lag_aware.cap_multiplier now use ConfigValidator; removed a silent clamp that replaced out-of-range multipliers with no warning.
  • Log Shipping: interval_seconds, max_buffered_warnings, connect_timeout_ms, and read_timeout_ms now use ConfigValidator; removed four silent Math.max clamps.
  • View Distance Adjuster: check_interval_seconds, default_view_distance, and default_simulation_distance now use ConfigValidator; removed three silent Math.max clamps.

v1.1.50

by protectcord on Jun 3, 2026
Download

v1.1.50 — Quality Pass XII

Config Validation

  • Hopper Limiter: Per-world transfer_interval_ticks overrides now validated — a zero value no longer silently disables hopper throttling for that world.
  • Mob Clear: sweep_interval_seconds and defaults.here_radius now use ConfigValidator; removed two silent Math.max clamps with no warning log.
  • Auto Backup: save-wait-seconds, compression-level (clamped to 0–9), retention, notifications.watch-interval-seconds, restart-safety.max-delay-seconds, and restart-safety.run-on-start-delay-seconds now validated — zero values no longer risk data corruption or log spam. SFTP and FTP port values are now validated to the 1–65535 range.
  • Auto Config: manual.ram-gb, manual.cpu-cores, and restart.countdown-seconds now use ConfigValidator — zero values no longer silently break hardware-tier detection or fire an instant restart with no warning.

v1.1.49

by protectcord on Jun 3, 2026
Download

v1.1.49 — Quality Pass XI

Bug Fixes

  • Geyser Support: Fixed a UUID memory leak where explosionCounts entries were never removed on player quit, causing permanent accumulation for every Bedrock player who triggered explosion protection.

Config Validation

  • Packet Limiter: packets_per_second, window_ms, and warn_cooldown_ms now use ConfigValidator — zero values no longer silently kick every player or flood the log.
  • Geyser Support: entity_cap, view_distance, simulation_distance, explosion_protection.radius, explosion_protection.max_per_second, explosion_protection.primed_tnt_cap, and firework_suppression.radius now use ConfigValidator — zero/negative values no longer silently break Bedrock entity visibility or distance overrides.
  • Leaf Decay Optimizer: max_per_chunk_per_tick, lag_aware.tps_threshold, and lag_aware.max_per_chunk_per_tick now use ConfigValidator; removed two silent manual clamps.
  • Mob Griefing Optimizer: lag_aware.tps_threshold now uses ConfigValidator — a value of 0 or less no longer permanently activates lag mode.
  • Sleep Manager: percent_required now uses rangeInt(1, 100) and flat_required uses Math.max(0, ...) — replaced three silent manual clamps with logged validation.

v1.1.48

by protectcord on Jun 3, 2026
Download

v1.1.48 — Quality Pass X

Config Validation

  • Entity Culling: All 6 numeric config values now validated — zero sweep interval, falling block age, or arrow age would cull entities instantly; zero player radius disabled idle vehicle detection entirely.
  • Item Frame Optimizer: sweep_interval_ticks, both visibility radii, and lag_aware.tps_threshold now validated — zero radii meant no frames were ever unfrozen; removed silent manual clamps.
  • Spawn Tick Optimizer: check_interval_ticks and all per-tier values (tps_below, four multipliers) now validated — zero multipliers silently eliminated spawn tick reduction; negative TPS thresholds never matched.
  • Async Chunk Prefetch: max_prefetch_per_player_per_second, prediction_distance_chunks, and lag_aware.tps_threshold now validated — zero values disabled prefetching entirely or permanently suppressed it during lag.
  • Drop Merge: merge_radius now validated via ConfigValidator; removed silent if (< 0.5) clamp that gave no admin feedback.
  • Portal Cache: cache_ttl_minutes now validated — a zero or negative TTL caused all cached portals to expire immediately.
  • Disk IO Throttler: defer_threshold_percent now range-clamped to 0–100; max_chunk_saves_per_second validated — out-of-range values silently broke throttle logic.
  • Random Tick Optimizer: check_interval_ticks validated to prevent zero-tick scheduler spin; default_random_tick_speed range-clamped to 0–4096 to prevent invalid game rule values.

v1.1.47

by protectcord on Jun 3, 2026
Download

v1.1.47 — Quality Pass IX

Bug Fixes

  • Projectile Limiter: Fixed player UUID memory leak — playerProjectileCount accumulated entries for disconnected players indefinitely; now cleared on quit.

Config Validation

  • Projectile Limiter: cleanup_stuck_arrows.age_ticks, lag_aware.tps_threshold, and lag_aware.cap_multiplier now validated — zero age ticks cleaned every arrow instantly, negative TPS threshold kept lag mode permanently active, negative cap multiplier inverted projectile caps.
  • AFK Manager: idle_threshold_seconds and sweep_interval_ticks now validated — a zero/negative idle threshold flagged every player as AFK immediately.
  • Entity Tick Budget: budget_ms, ai_radius_boost, and cooldown_ticks now validated — zero budget exhausted every tick, zero cooldown fired on every check.
  • Physics Limiter: max_per_chunk_per_tick, lag_aware.tps_threshold, and lag_aware.max_per_chunk_per_tick now validated — zero caps blocked all block physics.
  • Fluid Flow Limiter: All four flow caps and lag_aware.tps_threshold now validated via ConfigValidator; removed manual if (< 1) clamps.
  • Piston Limiter: All four piston caps and lag_aware.tps_threshold now validated via ConfigValidator; removed manual if (< 1) clamps.

v1.1.46

by protectcord on Jun 3, 2026
Download

v1.1.46 — Quality Pass VIII

Config Validation

  • Lag Actions: Per-threshold cooldown values now validated — negative cooldowns caused the action to fire on every monitor cycle; now warns and falls back to 120s.
  • Spawn Limiter: lag_aware.tps_threshold and lag_aware.budget_multiplier now validated — a negative multiplier made all mob budgets go negative, treating every mob as over-cap during lag.
  • Mob AI Throttler: lag_aware.tps_threshold now validated — a zero/negative value made AI throttling permanently active. Per-family full_ai, reduced_ai, and no_ai range overrides also validated — zero values broke distance comparisons.
  • Portal Limiter: lag_aware.tps_threshold and lag_aware.cooldown_multiplier now validated — a negative multiplier made portal cooldowns negative, bypassing all protection during lag.
  • Explosion Optimizer: lag_aware.tps_threshold and all per-type radius_multiplier values now validated — a zero or negative multiplier produced broken explosion radius calculations.
  • World Pregen: pause_tps_threshold and resume_tps_threshold now clamped to ≥ 0.1 — zero values caused pre-generation to never pause during lag.
  • Performance Monitor: cadence_ticks now clamped to ≥ 1 — a zero value would cause the sampler to spin every tick.
  • View Distance Adjuster: default_view_distance and default_simulation_distance now clamped to ≥ 1 — zero values passed invalid distances to Bukkit's world API.

v1.1.45

by protectcord on Jun 3, 2026
Download

v1.1.45 — Quality Pass VII

Bug Fixes

  • Breeding Throttler: Fixed integration checks using .isEnabled() instead of .isModuleEnabled() for all land-protection plugins (Lands, GriefPrevention, Towny, GriefDefender, BentoBox, SuperiorSkyblock2, ResourceWorld). Claim skips were applying even when the admin had disabled the integration in PerformanceX config.

Config

  • Breeding Throttler: Added missing integration_hooks section to breeding-throttler.ymlskip_in_claims and skip_in_resource_worlds were previously hardcoded to their defaults with no way to change them.
  • Mob Clear: Added modelengine and eco_mobs to the skip section in mob-clear.yml — these were always skipped but couldn't be toggled by admins.

Config Validation

  • Farm Limiter: Added ConfigValidator coverage for all 9 numeric values — spawner interval, check radius, mob cap, crop growth chance, breeding cooldown, egg chance, item flood cap, and both lag-aware multipliers.
  • Chunk Manager: Added ConfigValidator coverage for all 8 numeric values — player radius, grace period, load rate limits, world chunk cap, sweep interval, and lag throttle limits. Previously used silent Math.max() fallbacks with no admin warning.
  • Hopper Limiter: lag_aware.tps_threshold, lag_transfer_interval_ticks, and check_interval_seconds now validated — zero values previously caused permanent lag mode or a broken scheduler task.
  • Villager Optimizer: lag_aware.tps_threshold now validated — zero or negative values caused AI range reduction to be permanently active.
  • Entity Limiter: xp_merge.radius and xp_merge.max_value now validated — zero values silently disabled all XP orb merging.
  • Item Clear: bypass_radius_blocks now validated — zero silently disabled player bypass protection with no warning.
  • Item Despawn: label.update_interval_ticks now validated — zero or negative broke the label update loop.

Project members

protectcord

Member


Technical information

License
MIT
Project ID