Sueta

PvPIndex Battles

1.1.2-bungeecord

Official plugin for PvPIndex leaderboard

·Plugin
  1. 1.1.2-bungeecordlatestPvPIndex Battles 1.1.2 (BungeeCord)Jul 26, 2026
    Added
    - Configurable api.max_api_payload_bytes limit (default 5 MB) guarding outgoing battle submissions; oversized payloads are automatically trimmed before submission via the new BattlePayloadSizeGuard. - Battle submissions to the PvPIndex API are now gzip-compressed (Content-Encoding: gzip), reducing bandwidth for large replay payloads. - Oversized submissions rejected by the API with HTTP 413 are automatically retried with replay frames stripped, instead of failing outright. - New message key queue.arena_teleport_failed shown when a match cannot start because the arena world was not ready.
    Changed
    - Split the monolithic BattleService into focused collaborators (BattleStartHandler, BattleEndHandler, BattleSubmissionFlow, BattleSubmissionRetryHandler, BattlePayloadBuilder, BattleStartSetupStore) for clearer separation of concerns and easier testing. - Extracted API request/compression helpers (ApiRequestBuilder, CompressionService) shared by the Paper API client.
    Fixed
    - Arena teleport failures no longer strand players in survival with their kit. BattleQueueService now checks the result of the arena teleport; on failure the match is aborted, both players' pre-battle state is restored, and queued players are automatically re-queued instead of being left in the arena template world wearing battle gear. - Arena world save race on cleanup: arena worlds now have autosave disabled immediately after creation, and their folders are deleted a few ticks after unload (with retries) instead of synchronously, preventing NoSuchFileException on raids.dat / level.dat under Multiverse and similar world-management plugins. ---
    10 downloads
  2. 1.1.2-velocityPvPIndex Battles 1.1.2 (Velocity)Jul 26, 2026
    Added
    - Configurable api.max_api_payload_bytes limit (default 5 MB) guarding outgoing battle submissions; oversized payloads are automatically trimmed before submission via the new BattlePayloadSizeGuard. - Battle submissions to the PvPIndex API are now gzip-compressed (Content-Encoding: gzip), reducing bandwidth for large replay payloads. - Oversized submissions rejected by the API with HTTP 413 are automatically retried with replay frames stripped, instead of failing outright. - New message key queue.arena_teleport_failed shown when a match cannot start because the arena world was not ready.
    Changed
    - Split the monolithic BattleService into focused collaborators (BattleStartHandler, BattleEndHandler, BattleSubmissionFlow, BattleSubmissionRetryHandler, BattlePayloadBuilder, BattleStartSetupStore) for clearer separation of concerns and easier testing. - Extracted API request/compression helpers (ApiRequestBuilder, CompressionService) shared by the Paper API client.
    Fixed
    - Arena teleport failures no longer strand players in survival with their kit. BattleQueueService now checks the result of the arena teleport; on failure the match is aborted, both players' pre-battle state is restored, and queued players are automatically re-queued instead of being left in the arena template world wearing battle gear. - Arena world save race on cleanup: arena worlds now have autosave disabled immediately after creation, and their folders are deleted a few ticks after unload (with retries) instead of synchronously, preventing NoSuchFileException on raids.dat / level.dat under Multiverse and similar world-management plugins. ---
    8 downloads
  3. 1.1.2-paperPvPIndex Battles 1.1.2 (Paper)Jul 26, 2026
    Added
    - Configurable api.max_api_payload_bytes limit (default 5 MB) guarding outgoing battle submissions; oversized payloads are automatically trimmed before submission via the new BattlePayloadSizeGuard. - Battle submissions to the PvPIndex API are now gzip-compressed (Content-Encoding: gzip), reducing bandwidth for large replay payloads. - Oversized submissions rejected by the API with HTTP 413 are automatically retried with replay frames stripped, instead of failing outright. - New message key queue.arena_teleport_failed shown when a match cannot start because the arena world was not ready.
    Changed
    - Split the monolithic BattleService into focused collaborators (BattleStartHandler, BattleEndHandler, BattleSubmissionFlow, BattleSubmissionRetryHandler, BattlePayloadBuilder, BattleStartSetupStore) for clearer separation of concerns and easier testing. - Extracted API request/compression helpers (ApiRequestBuilder, CompressionService) shared by the Paper API client.
    Fixed
    - Arena teleport failures no longer strand players in survival with their kit. BattleQueueService now checks the result of the arena teleport; on failure the match is aborted, both players' pre-battle state is restored, and queued players are automatically re-queued instead of being left in the arena template world wearing battle gear. - Arena world save race on cleanup: arena worlds now have autosave disabled immediately after creation, and their folders are deleted a few ticks after unload (with retries) instead of synchronously, preventing NoSuchFileException on raids.dat / level.dat under Multiverse and similar world-management plugins. ---
    89 downloads
  4. 1.1.1-bungeecordPvPIndex Battles 1.1.1 (BungeeCord)Jul 16, 2026
    Added
    - Kit item support for per-item potion_effects in gamemodes.yml. Potion items can now define explicit effects using TYPE:durationTicks:amplifier (for example, INSTANT_HEALTH:1:1). - New PlaceholderAPI placeholder %pvpindex_battle_short_id% returning the current game mode plus the first segment of the active battle UUID (e.g. mace-550e8400). - New PlaceholderAPI placeholders %pvpindex_battle_id% (full battle UUID) and %pvpindex_short_battle_id% (first segment only). - Configurable double-teleport to prevent /back commands from teleporting to the arena after battle end. When battle_commands.prevent_back_command is enabled (default), players are teleported twice to their restored location so /back points to a safe post-battle location instead of the arena.
    Fixed
    - Ender pearls, chorus fruit, bows, crossbows, fire charges, and wind charges can no longer be used during the pre-battle countdown, preventing players from moving or attacking before the battle has officially started. - Added BattleSessionCache for O(1) player-to-active-battle lookups, replacing linear scans in event handlers. - Split BattleEventListener into focused listener classes under com.pvpindex.battles.listener.battle (one @EventHandler per class) and a thin backward-compatible facade. - Pot PvP and NoDebuff starter kits no longer give empty splash potions. The default SPLASH_POTION entries in gamemodes.yml now include explicit potion effects (Healing II, Strength II, Speed II, and Regeneration II where applicable). - Kit item display names and lore now translate legacy & colour codes when applied, so potion names like &aHealing II render with colours in-game instead of raw ampersand codes. - Tipped arrows in kits now apply their configured potion effect on hit. KitApplier derives a base PotionType from the first item effect so the game recognises the arrow payload. - Network node timeout boundary handling is now inclusive, fixing proxyNodeTimeoutDetection for isTimedOut(0) and preventing zero-second timeout edge-case mismatches. - README build output examples now reference 1.1.1 JAR filenames to match the current Maven project version. ---
    8 downloads
  5. 1.1.1-velocityPvPIndex Battles 1.1.1 (Velocity)Jul 16, 2026
    Added
    - Kit item support for per-item potion_effects in gamemodes.yml. Potion items can now define explicit effects using TYPE:durationTicks:amplifier (for example, INSTANT_HEALTH:1:1). - New PlaceholderAPI placeholder %pvpindex_battle_short_id% returning the current game mode plus the first segment of the active battle UUID (e.g. mace-550e8400). - New PlaceholderAPI placeholders %pvpindex_battle_id% (full battle UUID) and %pvpindex_short_battle_id% (first segment only). - Configurable double-teleport to prevent /back commands from teleporting to the arena after battle end. When battle_commands.prevent_back_command is enabled (default), players are teleported twice to their restored location so /back points to a safe post-battle location instead of the arena.
    Fixed
    - Ender pearls, chorus fruit, bows, crossbows, fire charges, and wind charges can no longer be used during the pre-battle countdown, preventing players from moving or attacking before the battle has officially started. - Added BattleSessionCache for O(1) player-to-active-battle lookups, replacing linear scans in event handlers. - Split BattleEventListener into focused listener classes under com.pvpindex.battles.listener.battle (one @EventHandler per class) and a thin backward-compatible facade. - Pot PvP and NoDebuff starter kits no longer give empty splash potions. The default SPLASH_POTION entries in gamemodes.yml now include explicit potion effects (Healing II, Strength II, Speed II, and Regeneration II where applicable). - Kit item display names and lore now translate legacy & colour codes when applied, so potion names like &aHealing II render with colours in-game instead of raw ampersand codes. - Tipped arrows in kits now apply their configured potion effect on hit. KitApplier derives a base PotionType from the first item effect so the game recognises the arrow payload. - Network node timeout boundary handling is now inclusive, fixing proxyNodeTimeoutDetection for isTimedOut(0) and preventing zero-second timeout edge-case mismatches. - README build output examples now reference 1.1.1 JAR filenames to match the current Maven project version. ---
    8 downloads
  6. 1.1.1-paperPvPIndex Battles 1.1.1 (Paper)Jul 16, 2026
    Added
    - Kit item support for per-item potion_effects in gamemodes.yml. Potion items can now define explicit effects using TYPE:durationTicks:amplifier (for example, INSTANT_HEALTH:1:1). - New PlaceholderAPI placeholder %pvpindex_battle_short_id% returning the current game mode plus the first segment of the active battle UUID (e.g. mace-550e8400). - New PlaceholderAPI placeholders %pvpindex_battle_id% (full battle UUID) and %pvpindex_short_battle_id% (first segment only). - Configurable double-teleport to prevent /back commands from teleporting to the arena after battle end. When battle_commands.prevent_back_command is enabled (default), players are teleported twice to their restored location so /back points to a safe post-battle location instead of the arena.
    Fixed
    - Ender pearls, chorus fruit, bows, crossbows, fire charges, and wind charges can no longer be used during the pre-battle countdown, preventing players from moving or attacking before the battle has officially started. - Added BattleSessionCache for O(1) player-to-active-battle lookups, replacing linear scans in event handlers. - Split BattleEventListener into focused listener classes under com.pvpindex.battles.listener.battle (one @EventHandler per class) and a thin backward-compatible facade. - Pot PvP and NoDebuff starter kits no longer give empty splash potions. The default SPLASH_POTION entries in gamemodes.yml now include explicit potion effects (Healing II, Strength II, Speed II, and Regeneration II where applicable). - Kit item display names and lore now translate legacy & colour codes when applied, so potion names like &aHealing II render with colours in-game instead of raw ampersand codes. - Tipped arrows in kits now apply their configured potion effect on hit. KitApplier derives a base PotionType from the first item effect so the game recognises the arrow payload. - Network node timeout boundary handling is now inclusive, fixing proxyNodeTimeoutDetection for isTimedOut(0) and preventing zero-second timeout edge-case mismatches. - README build output examples now reference 1.1.1 JAR filenames to match the current Maven project version. ---
    19 downloads
  7. 1.1.0PvPIndex Battles 1.1.0Jul 1, 2026

    What's Changed

    Added
    - Vault economy rewards ([#15](https://github.com/PVP-Index/pvpindex-battles/issues/15)): battle winners now receive configurable currency payouts via the Vault API. Fully configured through vault-rewards.yml with per-game-mode base amounts and an optional win streak multiplier. Vault is a soft dependency: if not installed, rewards are silently disabled. Closes [#15](https://github.com/PVP-Index/pvpindex-battles/issues/15). - New vault-rewards.yml configuration file. All settings live under a top-level economy: key with enabled, rewards (per-mode amounts), and streak_multiplier (enabled, increment, max, min_streak) sections. The bundled default ships with economy.enabled: false so a fresh install does not pay out until opted in. - New VaultRewardService in platform-paper that hooks into Vault, listens for PvPIndexBattleFinishEvent, and deposits rewards. - New VaultRewardConfig record for parsing and validating reward configuration from the economy section. - New PlaceholderAPI placeholders: %pvpindex_reward_last% (last reward received) and %pvpindex_streak% (current win streak). - New lang keys reward.received and reward.received_streak in all 6 bundled locale files (en, de, nl, es, pl, zh). - Vault status line in the startup summary showing whether economy rewards are active.
    Changed
    - Console banner redesign: startup banner now displays a large ASCII art "PVP INDEX" with a Green-Yellow-Red gradient. Info line shows version, platform, and author (PVP Index). - Shutdown message: updated to display "PVP INDEX has been disabled. Goodbye!" in red/grey styling. - Paper 26.1.x adapter build: the paper.26.1.x version module now compiles against the stable Paper API 26.1.2.build.57-stable using the Java 25 toolchain, so the adapter builds cleanly across the supported 1.21.x to 26.1.x range. - Upgraded maven-shade-plugin to 3.6.2 (bundles ASM 9.8+) so the relocated bStats and Jackson dependencies shade correctly against Java 25 bytecode.
    Fixed
    - Cross-server challenges from a lobby: challenging a player who was on a backend server (or behind another proxy) from a lobby silently timed out. Lobby servers relied on a player-location cache that went stale once a player moved to a non-lobby backend, so the challenge was routed to a node where the target was not present. The lobby now only uses the direct lobby-to-lobby Redis path when the cache confirms the target is on a live lobby node; otherwise it broadcasts the challenge over Redis to the proxies, which authoritatively resolve the target's current server and forward it. Challenges now work from any server to any server. - Proxy challenge routing over Redis: Velocity proxies now handle inbound CHALLENGE_SEND messages over Redis (not only plugin messaging), resolving the target across all connected backends and forwarding the challenge. This removes the dependency on plugin messaging channels, which could break after a backend restarted independently of the proxy. - SMP challenge confirmation: accepting an SMP-mode challenge through the risk-confirmation dialog did nothing because closing the inventory cleared the pending GUI state before it was read. The mode and challenge target are now captured before the inventory closes. - Return-to-origin after a cross-server battle: players transferred to another server for a battle were left waiting on the host server for two seconds before being returned, which looked like a double teleport. They are now sent straight back to the server they came from once the battle ends. --- ---
    Downloads
    | JAR | Target | |-----|--------| | PvPIndexBattles-1.1.0.jar | Paper 1.21.x / 1.21.4+ | | PvPIndexBattles-velocity-1.1.0.jar | Velocity 3.x | | PvPIndexBattles-bungeecord-1.1.0.jar | BungeeCord / Waterfall | Full documentation: https://docs.pvpindex.com
    10 downloads

Similar projects

Plugin →