
ServerSeekerBlocker
Block ServerSeeker scanner bots and other unwanted players by UUID, check plugin status in-game, and get cleaner update notices and log suppression.
ServerSeekerBlocker
ServerSeeker is a publicly available tool that mass-scans the internet for open Minecraft servers, logs player data, and lets anyone look up which servers a player has visited. If you run a private or semi-private server, ServerSeeker bots will find you, join, collect data, and leave — and by default, your server logs every one of those visits.
ServerSeekerBlocker stops them cold — silently, and without a trace.
Blocked connection attempts are intercepted before the player ever fully joins, so no joined the game message is broadcast, no log entry is written, and to blocked IPs, your server appears completely offline in the multiplayer list.
Not just ServerSeeker — block any unwanted connection by name, IP, or UUID. Scanner bots, griefers, banned players, or anyone else you don't want on your server.
Features
- 🔇 Silent blocking — blocked players are denied at the pre-login stage. No join message, no console output, nothing.
- 🌐 Ping hiding — blocked IPs receive no server list response. Your server looks offline to them entirely.
- 🗂️ Three blocking methods — block by player name, IP address, or UUID. Each can be toggled independently.
- 🚪 Transfer mode — instead of kicking, silently redirect blocked players to another server using Minecraft's built-in Transfer Packet.
- 📋 Log suppression — a Log4j2 filter intercepts any log message containing a blocked name or IP before it reaches the console or log file.
- 🌍 Multi-language support — all plugin messages are defined in swappable
lang/YAML files. English and Korean are bundled. - 🔄 Live reload with diff —
/ssb reloadapplies changes instantly and prints a color-coded diff showing exactly what changed. - ℹ️ Status at a glance —
/ssb infoshows the running version, the latest release on Modrinth, and every toggle's current state. - ⛔ Runtime ban commands —
/ssb ban,/ssb pardon,/ssb ban-ip,/ssb pardon-ip,/ssb ban-uuid,/ssb pardon-uuidedit and reloadconfig.ymlfor you, no manual file editing needed. UUID bans are entered by player name and resolved automatically, so they survive name changes. - 🔔 Update checker — checks Modrinth periodically and notifies the console and online OPs when a newer version is available.
Requirements
| Item | Requirement |
|---|---|
| Server software | Paper or Purpur (Spigot / CraftBukkit not supported) |
| Minecraft version | 1.20.6 or higher |
| Java version | Java 21 or higher |
Installation
- Drop the JAR into your server's
plugins/folder. - Start the server —
plugins/ServerSeekerBlocker/will be created automatically. - Edit
config.ymlto add the names, IPs, or UUIDs you want to block. - Run
/ssb reloadto apply changes without restarting.
config.yml
language: en_US
debug: false
blocking:
name:
enabled: true
list:
- "BotUsername"
ip:
enabled: true
list:
- "0.0.0.0"
uuid:
enabled: true
list:
transfer:
enabled: false
host: ""
port: 25565
hide-ping:
enabled: true
suppress-logs:
enabled: true
update-checker:
enabled: true
Options
| Key | Default | Description |
|---|---|---|
language | en_US | Language file to use (filename in the lang/ folder) |
debug | false | Log blocked/transferred players to console when true |
blocking.name.enabled | true | Enable name-based blocking |
blocking.name.list | [] | List of player names to block |
blocking.ip.enabled | true | Enable IP-based blocking |
blocking.ip.list | [] | List of IP addresses to block |
blocking.uuid.enabled | true | Enable UUID-based blocking |
blocking.uuid.list | [] | List of UUIDs to block |
transfer.enabled | false | Redirect blocked players to another server instead of kicking |
transfer.host | "" | Target server address for transfer |
transfer.port | 25565 | Target server port for transfer |
hide-ping.enabled | true | Make the server appear offline to blocked IPs |
suppress-logs.enabled | true | Suppress console logs related to blocked players |
update-checker.enabled | true | Check Modrinth for newer releases |
Commands
| Command | Permission | Description |
|---|---|---|
/ssb info | OP | Shows the running version, the latest version on Modrinth, and the current settings |
/ssb reload | OP | Reloads config.yml and displays a color-coded diff of changes |
/ssb ban <name> | OP | Adds a player name to the block list and saves config.yml |
/ssb pardon <name> | OP | Removes a player name from the block list |
/ssb ban-ip <ip> | OP | Adds an IPv4 address to the block list |
/ssb pardon-ip <ip> | OP | Removes an IPv4 address from the block list |
/ssb ban-uuid <name> | OP | Looks up the player's UUID and adds it to the block list |
/ssb pardon-uuid <name> | OP | Looks up the player's UUID and removes it from the block list |
ban-uuidandpardon-uuidtake a player name for convenience but store the UUID, so the entry keeps working even if the player renames. Online and previously seen players resolve instantly; anyone else is looked up through the Mojang API asynchronously, so the server never stalls. On offline-mode servers the UUID is derived from the name locally instead.
Language Support
Language files are automatically extracted to plugins/ServerSeekerBlocker/lang/ on first start.
Change the language value in config.yml and run /ssb reload to switch instantly.
Bundled languages
en_US— Englishko_KR— Korean
To add a new language, create a lang/yourlanguage.yml file using the same keys as an existing file.
How It Works
Block mode (transfer.enabled: false)
Players are blocked at the AsyncPlayerPreLoginEvent stage — before they fully join the server. No joined the game message is ever logged or broadcast.
Transfer mode (transfer.enabled: true)
At PlayerJoinEvent, the join message is suppressed and the player is immediately redirected to the configured server using Minecraft's Transfer Packet.
Ping hiding (hide-ping.enabled: true)
When a blocked IP pings the server from the multiplayer list, the response is dropped entirely. The server appears offline to that client.
Only the IP list is checked — usernames and UUIDs are not available at the ping stage.
Log suppression (suppress-logs.enabled: true)
A Log4j2 filter is installed on the root logger at startup. Any log message containing a blocked name, IP, or UUID is intercepted before it reaches the console or log file.
Some lines the server prints about a rejected connection mention only one of those three — Disconnecting Foo (/1.2.3.4) carries no UUID, for example — so when a connection is blocked the plugin also notes that attempt's name, IP, and UUID for a short while and filters on those too. These observed values expire after 30 seconds, so a name that later belongs to a different player never keeps hiding that player's log lines.
Update checker (update-checker.enabled: true)
Shortly after startup, and every 6 hours after that, the plugin queries the Modrinth API for its own project and compares the newest published version against the running version. If a newer version exists, a warning is printed to console once per server start — the later re-checks stay silent in the log — and shown to each OP when they join. In chat the download link is a clickable link that opens the Modrinth page directly, with the full URL on hover; the console prints the plain URL since it can't be clicked. The check runs asynchronously and never blocks the main server thread.
Notes
- Paper / Purpur only.
Сервер для плагина ServerSeekerBlocker - как у профи
Плагин ServerSeekerBlocker создан для серверов: на своём сервере вы настраиваете его под себя и решаете, кому играть. Создать сервер с плагином ServerSeekerBlocker для друзей можно за пару минут - BungeeHost всё уже подготовил.
