Releases: darkstarworks/PluginGuard
Releases · darkstarworks/PluginGuard
Release list
PluginGuard-1.3.0
[1.3.0] - 2026-07-07
- New: built-in update checking. PluginGuard now checks Modrinth (with GitHub
Releases as a fallback) for new versions and announces them to admins.
/pluginguard updategivescheck,download(fetches the verified jar,
confirms its checksum, and stages it in the server's update folder to install
on the next restart),restore(roll back to the previous jar),
ignore <version>,unignore <version>, andstatus. Controlled by the new
updatesection in config.yml (mode:off/check-only/notify/
download/auto-stage; defaultnotify— nothing is ever downloaded
without opting in). Minecraft 26.x servers automatically follow the-mc26
build line. Degrades to plain-text notices on Spigot where Adventure is absent.
PluginGuard-1.1.0
[1.1.0] - 2026-06-01
- Probe logging and pattern detection. PluginGuard now records when players try
to enumerate the plugin list and can alert online admins when a player crosses
a configurable weighted-score threshold within a sliding window.- Weighted categories: high (3) for
bukkit:/minecraft:prefixes and
/icanhasbukkit; medium (2) for/pl,/plugins,/ver,/version,
/about; low (1) for common-plugin enumeration (/lp,/we,/co, ...). /helpand/?are deliberately never tracked.- Optional append-only
plugins/PluginGuard/probes.logaudit trail. - In-game alerts gated by new
pluginguard.alertspermission (default: op). - All I/O dispatched via Paper/Folia's async and global-region schedulers, so
the event hot path stays cheap and Folia-safe. - Per-player state lives in a
ConcurrentHashMapand is cleared on quit.
- Weighted categories: high (3) for
- Honeypot commands. Admins can list fake commands in
honeypot-commands:that
no legitimate user would ever type — a single honeypot hit weighs 5, so by
default it triggers an alert immediately. /pluginguard statusnow reports detection state, honeypot count, and file-log state.
PluginGuard-1.0.0
[1.0.0] - 2026-06-01
- Target Paper API 1.21.4; supports Minecraft 1.21.x (Java 21+) and 26.x.x (Java 25+).
- Folia support declared via
folia-supported: true. - Graceful degradation on Spigot/Bukkit: the Paper-only
PaperServerListPingEvent
listener is now registered conditionally via class-presence check, so the plugin
loads on non-Paper servers (server-brand spoofing simply becomes a no-op). - All player-facing messages now use the Adventure
ComponentAPI instead of the
deprecated legacy color-code strings. /versionspoof now reflects the running server's Minecraft version dynamically
instead of a hard-coded1.21.1.- Build: Kotlin 2.1.20, Shadow 8.3.6, jar version is now wired through
plugin.yml
via${version}. - Thread-safe, lock-free reload: all config-derived state is held in an immutable
Settingssnapshot behind a@Volatilereference, so/pluginguard reloadswaps
the whole snapshot atomically and concurrent event handlers on different Folia
region threads always observe a consistent set of values without taking any lock. - Hot-path allocation reduced:
PlayerCommandPreprocessEventno longer
lowercases the entire message or splits on spaces — only the base command token
is sliced out and lowercased. Saves work on every command a player types,
proportional to message length. - README rewritten as proper UTF-8 (was UTF-16 with BOM).
PluginGuard-0.1
Full Changelog: https://github.com/darkstarworks/PluginGuard/commits/v0.1