Skip to content

Releases: lftkraft/wapeB

v1.0.13-alpha.1

v1.0.13-alpha.1 Pre-release
Pre-release

Choose a tag to compare

@lftkraft lftkraft released this 03 Oct 18:24

🚀 What's New in v1.0.13-alpha.1

🌐 1. Server Scope Separation (activeserver vs server)

  • activeserver (Enforcement Scope): Defines precisely where the punishment takes effect:
    • global ➔ Enforced network-wide across all proxy connected servers.
    • survival ➔ Enforced strictly on the designated server.
    • server1,server2 ➔ Comma-separated list for multi-server targeted punishments.
  • server (Origin Server): Tracks and stores the exact originating server or source (e.g. lobby, server1, web).
  • Database Schema Auto-Migration: Automatically provisions active_server VARCHAR(255) and server VARCHAR(64) columns in SQLite and MySQL databases with zero configuration required.

⚡ 2. Velocity Proxy Integration & Companion Plugin

  • Official release of the wapeb-velocity companion bridge plugin.
  • Instant Cross-Server Sync: Transmits punishment and sync packets over the wapeb:channel plugin messaging channel without waiting for database polling cycles.
  • Proxy-Level Enforcement: Automatically disconnects players at the proxy layer with formatted kick screens when network-wide or target server bans/kicks occur.
  • Deduplication Engine: Built-in cache prevents duplicate chat and console broadcasts across servers.

☕ 3. Java Developer API (WapeBAPI) Overhaul

  • New Overloaded Execution Methods:
    • banPlayer(target, reason, executor, duration, silent, ipBan, activeServer, server)
    • mutePlayer(target, reason, executor, duration, silent, ipMute, activeServer, server)
    • warnPlayer(target, reason, executor, silent, activeServer, server)
    • kickPlayer(target, reason, executor, silent, activeServer, server)
  • PlayerPunishEvent:
    • Added getActiveServer(), setActiveServer(String), getServer(), and setServer(String).
  • Query Methods:
    • All query methods (getPunishments, getActiveBan, getHistory, getStaffHistory, etc.) return Punishment instances with populated getActiveServer() and getServer().

🌐 4. HTTP REST Web API Extensions

  • /api/punish/execute accepts active_server (target scope) and origin_server (origin).
  • /api/player/punishments, /api/player/checkban, /api/player/checkmute, and /api/punish/active serialize activeServer and server in JSON responses.

💬 5. New Message Placeholders

  • %server% ➔ Origin server name where punishment was issued.
  • %activeserver% / %active_server% ➔ Target enforcement scope.

📦 Installation & JitPack Dependency

Gradle (build.gradle)

repositories {
    mavenCentral()
    maven { url 'https://jitpack.io' }
}

dependencies {
    compileOnly 'com.github.lftkraft:wapeB:v1.0.13-alpha.1'
}

Maven (pom.xml)

<dependencies>
    <dependency>
        <groupId>com.github.lftkraft</groupId>
        <artifactId>wapeB</artifactId>
        <version>v1.0.13-alpha.1</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

⚠️ Note: This is an Alpha Pre-release. Please test in a staging/test environment before deploying to production networks.

v1.0.12

Choose a tag to compare

@lftkraft lftkraft released this 03 Oct 18:31

🚀 What's New in v1.0.12

⏱️ 1. Ceiling Duration Rounding & Accurate Time Display

  • Implemented ceiling second rounding ((millis + 999) / 1000) for all remaining duration calculations.
  • Fixed the issue where a freshly issued 14-day ban would immediately display as 13d 23h 59m 59s instead of the clean, expected 14d.

💬 2. New Time Placeholders

  • Added %time%, %time_left%, and %expires_in% placeholders as aliases for %duration% across all kick screens, broadcast messages, and Discord webhooks.

🔍 3. Case-Insensitive Smart Player & Punishment Lookup

  • All punishment lookup and management commands (/unban, /unmute, /checkban, /checkmute, /history, /warnings, /unwarn, /ban, /mute) now perform case-insensitive player matching.
  • Offline players and direct database lookups match regardless of username capitalization.

🛡️ 4. Offline & Pre-emptive Punishment Fixes

  • Removed restrictive hasPlayedBefore() Bukkit checks that previously prevented unbanning or managing offline/pre-emptively banned accounts.
  • Improved offline UUID resolution fallback when handling direct IP and console punishments.