COWMODSКаталог модов

PluginGuard

Protect your server by hiding installed plugins from users (and more)

Автор: darkstarworks6992обновлён 27 сент. 2026 г.
Технологии

Описание

PluginGuard

Stop players from seeing which plugins your server runs.

Type /pl on most servers and you get the full plugin list.
That list is a gift to anyone looking for a way in: a plugin with a known bug, an old version, a command to abuse.
PluginGuard closes every way players find it out, and warns your staff when someone tries.

Lightweight, no database. Drop it in and you're protected.


What it hides
  • /plugins, /pl, /ver, /version, /about, /help, /icanhasbukkit
  • /bukkit:... and /minecraft:... commands, like /bukkit:plugins
  • Commands with a plugin name in front, like /essentials:home. The part before the colon is the plugin's name
  • Plugin commands in the TAB list, and TAB suggestions after a hidden command
  • The "You don't have permission" reply, which quietly proves a plugin is installed
  • The server software, in the server list and on the F3 screen in game
  • The list of plugin channels every player's game gets on join, which names plugins like WorldEdit outright
  • The query port, which normally hands your full plugin list to anyone who asks

Every blocked command gets exactly the reply a made-up command gets, so players can't tell anything was hidden.

Features
  • Choose what players see. "Unknown command", an empty list, a fake plugin list, or your server's "no permission" message.
  • Fake plugin list. Make a heavily modded server look like plain Paper with a couple of harmless extras.
  • Blocks popular plugin commands. /essentials, /lp, /we, /co, /mv, /dynmap and more all answer "Unknown command".
  • Fake server brand. Show vanilla, or anything you like, in the server list and on the F3 screen.
  • Aggressive mode. Hide every plugin command unless a player has permission for it.
  • Warns your staff. Notices when someone goes looking and tells staff in game. Normal /help use is ignored.
  • Discord warnings and automatic kicks. Get every warning in a Discord channel, and kick or ban probers automatically.
  • Honeypot commands. Made-up commands no normal player would type. One use and you know who is snooping.
  • Staff bypass. Staff see the real server and are never counted.
  • Every message editable in messages.yml.
  • Instant reload. Run /pluginguard reload, no restart.
Compatibility
Minecraft1.21.x, 26.1, 26.2 and 26.3
Java21 for 1.21.x, 25 for 26.x
Best onPaper, Purpur, Pufferfish, Folia, Leaf and other Paper forks
Spigot / CraftBukkitWorks. The server brand, plugin channels and query answer can't be hidden there
FoliaFully supported

Three downloads: PluginGuard-<version>.jar for 1.21.x, PluginGuard-<version>-mc26.jar for 26.1 and 26.2, and PluginGuard-<version>-mc263.jar for 26.3. Grab the one that matches your server.

Installation
  1. Put the jar that matches your Minecraft version in your plugins/ folder.
  2. Start the server.

That's it, everything is on by default. To change anything, edit plugins/PluginGuard/config.yml and run /pluginguard reload. Every setting is explained in the file and in the guide.

Commands & permissions
CommandWhat it does
/pluginguard reloadLoads your changes to the config and messages
/pluginguard statusShows what is being hidden right now
/pluginguard updateChecks for a new version and installs it

Short form: /pg. All need pluginguard.reload.

PermissionWhat it givesDefault
pluginguard.bypassSee the real server, never countedop
pluginguard.reloadUse /pluginguardop
pluginguard.alertsGet snooping warnings in chatop

Pairs well with Better Anti-Dupe

Running PluginGuard? Take a look at Better Anti-Dupe too.
It follows every item from where it came from and catches duplication.
Hiding your plugin list makes it harder for dupers to know what they're up against, so the two work well together.


Последние версии

Все версии →
release

PluginGuard 1.4.0-mc263

1.4.0-mc263
27 сент. 2026 г.66Minecraft: 26.3bukkit, folia, paper, purpur, spigot
Скачать
Что нового
## [1.4.0] - 2026-09-27 ### Added - **Minecraft 26.3 support.** A third download, `-mc263.jar`, for 26.3. `-mc26.jar` now covers 26.1 and 26.2. - **Plugin channels are hidden.** The list of channels players' games get on join named your plugins. See `hide-plugin-channels`. - **The query port no longer lists your plugins.** Its software name shows your fake brand too. - **Discord warnings.** Paste a webhook into `discord-webhook`. - **Automatic actions.** `alert-commands` runs console commands, like a kick, when someone probes. - **`messages.yml`.** Every message PluginGuard sends can now be changed. - **probes.log stays small.** Past `log-max-size-mb` it moves to `probes.old.log`. - **A full guide** in `docs/`. ### Fixed - **Hidden commands now get the exact "Unknown command" reply of a made-up command.** The old text gave PluginGuard away on Paper. - **"permission-denied" mode uses your server's real no-permission message.** - **TAB after a hidden command no longer lists plugin names** (for example `/version `). - **Spigot works again.** The first blocked command or warning used to throw an error. - **An update installed without a restart no longer leaves the old copy running.** - **Aggressive mode no longer hides `/pluginguard` from staff.** - **A mistyped `hide-mode` no longer makes `/pl` answer nothing.** It warns and uses `unknown-command`.
release

PluginGuard 1.4.0-mc26

1.4.0-mc26
27 сент. 2026 г.46Minecraft: 26.1, 26.1.1, 26.1.2, 26.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
## [1.4.0] - 2026-09-27 ### Added - **Minecraft 26.3 support.** A third download, `-mc263.jar`, for 26.3. `-mc26.jar` now covers 26.1 and 26.2. - **Plugin channels are hidden.** The list of channels players' games get on join named your plugins. See `hide-plugin-channels`. - **The query port no longer lists your plugins.** Its software name shows your fake brand too. - **Discord warnings.** Paste a webhook into `discord-webhook`. - **Automatic actions.** `alert-commands` runs console commands, like a kick, when someone probes. - **`messages.yml`.** Every message PluginGuard sends can now be changed. - **probes.log stays small.** Past `log-max-size-mb` it moves to `probes.old.log`. - **A full guide** in `docs/`. ### Fixed - **Hidden commands now get the exact "Unknown command" reply of a made-up command.** The old text gave PluginGuard away on Paper. - **"permission-denied" mode uses your server's real no-permission message.** - **TAB after a hidden command no longer lists plugin names** (for example `/version `). - **Spigot works again.** The first blocked command or warning used to throw an error. - **An update installed without a restart no longer leaves the old copy running.** - **Aggressive mode no longer hides `/pluginguard` from staff.** - **A mistyped `hide-mode` no longer makes `/pl` answer nothing.** It warns and uses `unknown-command`.
release

PluginGuard 1.4.0

1.4.0
27 сент. 2026 г.58Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, folia, paper, purpur, spigot
Скачать
Что нового
## [1.4.0] - 2026-09-27 ### Added - **Minecraft 26.3 support.** A third download, `-mc263.jar`, for 26.3. `-mc26.jar` now covers 26.1 and 26.2. - **Plugin channels are hidden.** The list of channels players' games get on join named your plugins. See `hide-plugin-channels`. - **The query port no longer lists your plugins.** Its software name shows your fake brand too. - **Discord warnings.** Paste a webhook into `discord-webhook`. - **Automatic actions.** `alert-commands` runs console commands, like a kick, when someone probes. - **`messages.yml`.** Every message PluginGuard sends can now be changed. - **probes.log stays small.** Past `log-max-size-mb` it moves to `probes.old.log`. - **A full guide** in `docs/`. ### Fixed - **Hidden commands now get the exact "Unknown command" reply of a made-up command.** The old text gave PluginGuard away on Paper. - **"permission-denied" mode uses your server's real no-permission message.** - **TAB after a hidden command no longer lists plugin names** (for example `/version `). - **Spigot works again.** The first blocked command or warning used to throw an error. - **An update installed without a restart no longer leaves the old copy running.** - **Aggressive mode no longer hides `/pluginguard` from staff.** - **A mistyped `hide-mode` no longer makes `/pl` answer nothing.** It warns and uses `unknown-command`.
release

PluginGuard 1.3.0-mc26

1.3.0-mc26
6 июл. 2026 г.124Minecraft: 26.1, 26.1.1, 26.1.2, 26.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
## [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 update` gives `check`, `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>`, and `status`. Controlled by the new `update` section in config.yml (`mode`: `off` / `check-only` / `notify` / `download` / `auto-stage`; default `notify` — 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.
release

PluginGuard 1.3.0

1.3.0
6 июл. 2026 г.93Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, folia, paper, purpur, spigot
Скачать
Что нового
## [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 update` gives `check`, `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>`, and `status`. Controlled by the new `update` section in config.yml (`mode`: `off` / `check-only` / `notify` / `download` / `auto-stage`; default `notify` — 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.
release

PluginGuard 1.2.0-mc26

1.2.0-mc26
2 июл. 2026 г.19Minecraft: 26.1, 26.1.1, 26.1.2, 26.2bukkit, folia, paper, purpur, spigot
Скачать
Что нового
## [1.2.0] - 2026-07-02 - Real Minecraft 26.x support: one codebase now builds two jars, selected with `-Pmc=<line>` (mirrors AntiDupePro's release model). - `./gradlew shadowJar -Pmc=21` -> `PluginGuard-1.2.0.jar` (compiled against Paper API 1.21.11, Java 21 bytecode - for 1.21.x servers). - `./gradlew shadowJar -Pmc=26` -> `PluginGuard-1.2.0-mc26.jar` (compiled against Paper API 26.1.2, Java 25 bytecode - for 26.x servers). - New: in-game server-brand spoofing. `PaperServerListPingEvent` only covered the server-list ping; the brand shown in the F3 debug screen (and read by "server brand" client mods) travels separately in the `minecraft:brand` plugin-message channel, sent during the configuration phase before a player fully joins. PluginGuard now injects a Netty pipeline handler at the server-channel level (TinyProtocol-style, before login) and rewrites that payload to `fake-server-brand`. Reuses the existing `hide-server-brand` toggle. Reflection on plain paper-api, no ProtocolLib/paperweight; fails open (Spigot's remapped internals degrade to ping-only spoofing, as before). - Hardened the command-preprocess parser: it now skips any whitespace between the slash and the command token before matching (`/ plugins`, `/<tab>plugins`), so a padded command can't slip past the guard on a dispatcher that tolerates it. - New: `block-namespaced-commands` (default: on). Blocks every namespaced command (`/essentials:home`, `/luckperms:lp`, ...) and strips namespaced entries from tab completion - the namespace before the colon is the plugin's name, so a single namespaced command confirmed a plugin's presence even with its bare alias hidden. Namespaced probes are recorded at high weight (3) by the detector. - Fixed: `block-bukkit-commands` documented that it blocks `minecraft:`-prefixed commands but only ever blocked `bukkit:`. It now blocks both, as documented. - Fixed: `block-unknown-commands` was read from the config but never enforced. It now works: when a player runs a plugin command they lack permission for, PluginGuard cancels it and answers with the vanilla unknown-command line before the plugin can leak its existence through a "You don't have permission" reply. (Applies to commands that declare a permission; not tracked by the detector, since legitimate players hit permission walls routinely.) - Fixed: probe-detector alert details (recent labels, window age) are now snapshotted inside the tracker lock, closing a small race where a concurrent probe from the same player could skew the alert message. - `/pluginguard` now tab-completes its subcommands (`reload`, `status`). - `/version` spoof no longer wraps the fake brand in literal escaped quotes. - Build: Kotlin 2.3.20; plain (non-shaded) jar task disabled - only the shaded jar is ever released.
release

PluginGuard 1.2.0

1.2.0
2 июл. 2026 г.20Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, folia, paper, purpur, spigot
Скачать
Что нового
## [1.2.0] - 2026-07-02 - Real Minecraft 26.x support: one codebase now builds two jars, selected with `-Pmc=<line>` (mirrors AntiDupePro's release model). - `./gradlew shadowJar -Pmc=21` -> `PluginGuard-1.2.0.jar` (compiled against Paper API 1.21.11, Java 21 bytecode - for 1.21.x servers). - `./gradlew shadowJar -Pmc=26` -> `PluginGuard-1.2.0-mc26.jar` (compiled against Paper API 26.1.2, Java 25 bytecode - for 26.x servers). - New: in-game server-brand spoofing. `PaperServerListPingEvent` only covered the server-list ping; the brand shown in the F3 debug screen (and read by "server brand" client mods) travels separately in the `minecraft:brand` plugin-message channel, sent during the configuration phase before a player fully joins. PluginGuard now injects a Netty pipeline handler at the server-channel level (TinyProtocol-style, before login) and rewrites that payload to `fake-server-brand`. Reuses the existing `hide-server-brand` toggle. Reflection on plain paper-api, no ProtocolLib/paperweight; fails open (Spigot's remapped internals degrade to ping-only spoofing, as before). - Hardened the command-preprocess parser: it now skips any whitespace between the slash and the command token before matching (`/ plugins`, `/<tab>plugins`), so a padded command can't slip past the guard on a dispatcher that tolerates it. - New: `block-namespaced-commands` (default: on). Blocks every namespaced command (`/essentials:home`, `/luckperms:lp`, ...) and strips namespaced entries from tab completion - the namespace before the colon is the plugin's name, so a single namespaced command confirmed a plugin's presence even with its bare alias hidden. Namespaced probes are recorded at high weight (3) by the detector. - Fixed: `block-bukkit-commands` documented that it blocks `minecraft:`-prefixed commands but only ever blocked `bukkit:`. It now blocks both, as documented. - Fixed: `block-unknown-commands` was read from the config but never enforced. It now works: when a player runs a plugin command they lack permission for, PluginGuard cancels it and answers with the vanilla unknown-command line before the plugin can leak its existence through a "You don't have permission" reply. (Applies to commands that declare a permission; not tracked by the detector, since legitimate players hit permission walls routinely.) - Fixed: probe-detector alert details (recent labels, window age) are now snapshotted inside the tracker lock, closing a small race where a concurrent probe from the same player could skew the alert message. - `/pluginguard` now tab-completes its subcommands (`reload`, `status`). - `/version` spoof no longer wraps the fake brand in literal escaped quotes. - Build: Kotlin 2.3.20; plain (non-shaded) jar task disabled - only the shaded jar is ever released.
release

PluginGuard 1.1.0

1.1.0
1 июн. 2026 г.62Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, folia, paper, spigot
Скачать
Что нового
## [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`, ...). - `/help` and `/?` are deliberately never tracked. - Optional append-only `plugins/PluginGuard/probes.log` audit trail. - In-game alerts gated by new `pluginguard.alerts` permission (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 `ConcurrentHashMap` and is cleared on quit. - 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 status` now reports detection state, honeypot count, and file-log state.
release

Plugin Guard 1.0.0

1.0.0
31 мая 2026 г.22Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, folia, paper, purpur, spigot
Скачать
Что нового
## [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 `Component` API instead of the deprecated legacy color-code strings. - `/version` spoof now reflects the running server's Minecraft version dynamically instead of a hard-coded `1.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 `Settings` snapshot behind a `@Volatile` reference, so `/pluginguard reload` swaps 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: `PlayerCommandPreprocessEvent` no 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).
release

Plugin Guard 0.1

0.1
1 нояб. 2025 г.189Minecraft: 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10paper
Скачать
Что нового
Release.