5. Scanner
The Scanner works out which commands a server has and which plugins it is running, without you needing any permissions on it.
5.1 How it works, in plain terms
When you type / in Minecraft’s chat box and a list of commands pops up, that list did not come from
your game — it came from the server. Your client asks “what starts with this?”, and the server
answers with everything it is willing to tell you about.
The Scanner does that automatically for 38 starting characters — a–z, 0–9, _ and - — and
collects the answers.
That gives you the command list. The plugin list comes for free, because of how Bukkit-family
servers (Spigot, Paper, Purpur and their descendants) work: they register every plugin command twice,
once as /heal and once as /essentials:heal. The part before the colon is the plugin’s name. Split
the results on the colon and you have every plugin that registered a command.
This is not an exploit or an attack. It is the same tab-completion your client uses every time you press Tab in chat. The Scanner just asks systematically rather than one prefix at a time. It is still worth knowing that a server’s console may log the requests.
5.2 What you need
You must be connected to a server. The Scanner has nothing to ask in singleplayer or on the main menu, and the Start Scanning button is greyed out.
5.3 Running a scan
Click START SCANNING.
The progress bar fills as answers come back. A scan takes a few seconds — it is paced across game ticks rather than fired all at once, so it does not flood the connection.
The same button changes as the scan proceeds:
| Button | When it appears | What it does |
|---|---|---|
| START SCANNING | Before the first scan | Begins a scan |
| PAUSE SCAN | While scanning | Holds the scan where it is |
| RESUME SCAN | While paused | Carries on from where it stopped |
| SCAN AGAIN | After a scan finishes | Throws the results away and scans afresh |
The scan finishes when every request has been answered, or shortly after answers stop arriving — some servers quietly ignore certain requests, and the Scanner does not wait forever for one that will never come.
A notification tells you when it starts and when it finishes, with the totals found.
5.4 Reading the results
SERVER COMMANDS (left)
Every command the server offered, de-duplicated, with namespaces stripped. /essentials:heal and
/heal are one entry: /heal.
- Search commands… filters the list as you type. Searching for
/alone matches everything. - Click a command to open your chat box with it already typed in, ready to complete or send. It is not sent for you.
- The star on the right of each row marks a command as a favourite so you can find it again in a long list.
SERVER PLUGINS (right)
Every namespace found, which in practice is every plugin that registered a command.
- Click a plugin row to expand it and see the commands it owns; click again to collapse.
- Search plugins… filters this list.
- Click a command inside a plugin to drop it into chat, exactly like the left-hand list.
5.5 What the results actually tell you
A command in the list does not mean you can run it. Servers routinely advertise commands to everyone and then refuse them without the right permission. The list is what exists, not what you are allowed to do.
An empty or tiny plugin list is itself information. It usually means one of:
- The server is vanilla, or Fabric/Forge — those do not use the
plugin:commandconvention at all. - You are connected through a proxy (BungeeCord, Velocity) that only shows you its own commands.
- The server has deliberately hidden its command list, which some anti-exploit plugins do.
Custom plugins stand out. Alongside the familiar names — essentials, luckperms,
worldedit — anything you do not recognise is usually the server’s own code, and that is generally
the most interesting thing on the page.
5.6 Scanning without opening Redwire
Toggle Scanner can be bound to a key in Settings → Keybinds. Pressing it starts, pauses or resumes a scan exactly as the button does. See Keybinds.
5.7 Results and reconnecting
Results are held in memory for the current connection. Leaving the server clears them — the next server is a different server, and stale results would be worse than none. Scan again after joining.