Hub Mod is a persistent, low-bandwidth Direct Connect client for authorized hub administration. It signs in with one profile configured for the selected hub, keeps the shared live chat workspace available, discovers commands advertised by the hub and its plugins, and records every public command or private message that it queues.
Hub Mod does not invent hub permissions. The account class and the hub's own command catalogue determine what the identity can do. Confirmation adds a review step for high-impact commands; it does not reduce the commands available to a class 10 identity.
Overview
- Create a dedicated moderation account in the hub and assign the minimum class required by your policy.
- Open Hub Mod from the assigned hub profile, configure the nickname, password, client tag, slots, share, hub counts, ports, and support flags, then save.
- Select Connect and wait for Connected.
- Select Discover Commands to request hub, Verlihub, Ledokol, Lua, and plugin help.
- Review the discovered minimum class and syntax before sending a command.
- Check Outgoing Activity for the exact payload, destination, requesting user, and delivery state.
Connection Status
The status uses the same lifecycle as Hub Chat and Hub GPT: Disconnected, Connecting, Connected, Reconnecting, Failed, and Stopped. Connected means the hub accepted the login. Running means the persistent worker still owns the session.
Enable permits the configured identity to run. Connect starts it. Reconnect replaces the current worker with the saved profile. Disconnect stops the socket without disabling the configuration. Disable stops the worker and prevents an automatic start.
Automatic Reconnection waits for the configured interval after a transient failure. Background Low CPU remains the normal persistent mode; Interactive mode enables the full guest and protocol workspace while an owner is actively using the page.
Client Profile
New profiles use HubMOD as the login nickname, HubMOD - hublist.pwiam.com as the default description, and mod as the identity alias. Identity Aliases store alternative names separated by commas or new lines; they do not change the login nickname, account class, or hub permissions.
Hub Mod reuses the Hub Chat and Hub GPT client profile fields. Nickname and Password identify the registered hub account. Client Name, Client Version, and Connection build the client tag. Description, Email, Share Size, Connected Hubs, Registered Hubs, Operator Hubs, Slots, TCP Port, UDP Port, TLS Port, and NMDC support flags reproduce the identity expected by hub rules.
Share and hub-count values are declarations sent by this client; they do not publish files or open listening ports. Use values approved by the hub owner. Passwords are stored as protected secrets and are never printed in the activity table or raw outgoing protocol view.
Manual Chat And Commands
The shared live workspace provides Main Chat, Guests, and Private Conversations without any OpenAI processing. A public message is sent exactly through the hub's main-chat path. A private message includes the selected recipient. The separate Command Console accepts a complete raw command and uses the same delivery paths.
For commands with arguments, start from the discovered syntax, replace placeholders with deliberate values, and read the complete payload before sending. A queued row is not proof that the hub accepted the command; Sent means the worker wrote it to the live connection, while the resulting hub response remains visible in chat and protocol evidence.
Guests
The Guests panel uses the same sortable user table as Hub Chat and Hub GPT. Nickname and Role are left-aligned and sortable; share, slots, tag, addresses, speeds, description, and other columns appear when the hub supplies them. Selecting a current guest can open a private conversation. Guest Activity uses its own vertical disclosure, which can be collapsed without clearing join and leave events.
Private Messages
Private Conversations shows incoming and outgoing messages for the Hub Mod identity. Use it to inspect commands addressed to a hub security bot or to contact a user privately when hub policy permits it. The Outgoing Activity table separately preserves the exact queued payload and recipient.
A conversation can remain visible after the recipient leaves. Confirm the Connected state and current guest presence before sending another message. Never put the hub password, site credentials, or unrelated private data in a command or chat message.
Hub Classes And Command Access
| Class | Typical Role | Hub Mod Behavior |
|---|---|---|
| 0 | Anonymous or unregistered user | Only commands advertised for class 0 or with no reported minimum class are offered. |
| 1 | Registered user | Includes class 0 and commands advertised for class 1. |
| 2 | VIP | Includes lower classes and commands advertised for class 2. |
| 3 | Moderator | Includes lower classes and ordinary moderation commands advertised for class 3. |
| 4 | Operator or senior moderator | Includes lower classes and commands advertised for class 4. |
| 5 | Administrator | Includes lower classes and administration commands advertised for class 5. |
| 10 | Hub owner or master | Every syntactically valid command is available, even when discovery reports another minimum class. There is no denylist or hidden command exception. |
These names are common Verlihub conventions, not a universal DC++ standard. The selected class must match the account created in the actual hub. A lower class cannot use a command whose discovered minimum class is higher. An unknown minimum class remains unknown rather than being guessed.
Command Discovery
Discovery sends the read-only help and inventory probes !help, +help, !commands, +commands, !pluglist all, !lstplug, !plugins, !lualist, !luainfo, !lua, and !ledohelp. Probes are paced instead of sent as one burst. It also reads NMDC $UserCommand menus and follows detected plugin help commands. Responses are parsed into invocation, syntax, description, category, source, and minimum class while the unmodified help evidence is retained.
Different hubs use different prefixes and aliases. Discovery therefore learns from the connected hub instead of relying on one hard-coded Verlihub list. Run it again after changing plugins, scripts, permissions, or the Hub Mod class. Commands no longer returned are marked unavailable rather than silently deleted.
Verlihub Commands
Verlihub commonly advertises commands through $UserCommand frames and help text containing class requirements. Hub Mod reads both. Menu categories become catalogue categories, the command token becomes the invocation, and the declared class becomes the minimum class.
A Verlihub installation can rename prefixes, disable commands, or add scripts. Treat the connected hub's current help as authoritative. Use the command's displayed syntax and confirm the final nickname, duration, reason, class, or configuration value before sending.
Ledokol
Ledokol script packs commonly expose !ledohelp or mention another help entry in their banner. Hub Mod prioritizes Ledokol in the plugin list, requests its help, and catalogs the commands that the response exposes. The installed pack and version determine the actual syntax.
Lua And Other Plugins
Hub Mod detects Lua announcements and plugin names such as Plugin: floodprotect.lua. When the evidence contains a help command, the worker requests that command once per discovery run and stores its returned usage. The Plugins table shows the detected name, version, help command, and evidence.
Not every script advertises itself or provides machine-readable help. If a plugin is visible but no help command is detected, use its documented hub command manually and rerun discovery after the plugin publishes help. Hub Mod must not guess undocumented arguments.
High-Impact Command Confirmation
Commands that appear to ban, kick, remove, reload, restart, stop, reconfigure, alter classes, or execute Lua/plugin actions require the confirmation checkbox. The checkbox forces the owner to reread the exact payload and destination. It does not change hub authorization and does not permanently block the command.
For class 10, every syntactically valid single-line payload of at most 240 characters remains executable after any required confirmation. The only rejected payloads are empty, too long, or contain newline, carriage-return, or NUL characters that cannot be a safe single hub message.
Outgoing Activity And Privacy
Outgoing Activity records the exact message, public or private destination, requesting website user, confirmation state, queue time, and delivery result. Discovery probes are also recorded. Use this table with the visible hub response to audit what Hub Mod actually attempted.
The activity record is operational evidence and can contain moderator-entered reasons or nicknames. Limit access to assigned hub owners and administrators. Exact command and private-message payloads are encrypted at rest and decrypted only for authorized owners and administrators viewing or executing them. Passwords remain outside this table; do not paste secrets into command arguments, chat, screenshots, or support tickets.
Hub Mod Troubleshooting
| Problem | Inspect | Recovery |
|---|---|---|
| Hub Mod remains disconnected | Availability, Enabled state, hub endpoint, nickname, password, and Last Error. | Correct the saved profile, then Connect once. |
| The hub rejects the identity | Registered account, duplicate nickname, class, share, slots, hub counts, and client tag. | Make the configured profile match the approved hub account, then Reconnect. |
| No commands are discovered | Connected state, main-chat permission, help prefix, hub bot replies, and raw response. | Run the correct help command manually, then rerun discovery after the response is visible. |
| A plugin is listed without commands | Plugin evidence and Help Command. | Send the advertised plugin help command; do not invent arguments. |
| A lower class cannot send a command | Selected Hub Class and discovered Minimum Class. | Use an authorized account with sufficient class or choose an allowed command. |
| A class 10 command requests confirmation | The exact payload and confirmation checkbox. | Review and confirm it; confirmation never removes class 10 access. |
| An activity remains queued | Worker, Connected state, and Last Error. | Restore the connection; do not submit duplicates until the queue state is known. |
| The page shows old guests or messages | Runtime Mode and latest connection state. | Switch to Interactive and allow the current snapshot to replace stale browser state. |
Related Pages
Read Hub Chat for the shared live client and Hub GPT for the OpenAI-backed bot. Return to Hub to choose an assigned hub.
Parent Page
Return to Hub for hub ownership and diagnostic guidance.
Icon Reference
| Icon | Label | What It Does |
|---|---|---|
| Hub Chat | Admin-only tool that connects to a hub as a configurable diagnostic user and shows raw hub responses, chat lines, private messages, and user-list data returned during the session. | |
| Hub Connection | Identifies the saved hub endpoint and login profile used to open and maintain this Direct Connect session. | |
| Raw Hub Response | Shows the exact protocol lines received from the hub so an administrator can verify replies, errors, and server commands. | |
| Raw Hub Requests | Shows the redacted protocol lines sent by the client so an administrator can verify exact commands without exposing secrets. | |
| Starting | Means the worker is opening the socket and completing the Direct Connect login handshake; chat is not ready yet. | |
| Connected | Means the hub accepted the login and the client can receive live traffic and send commands allowed for that account. | |
| Error | Marks a session that could not start or continue; the accompanying details identify the failed connection or worker step. | |
| Closed | Means the live socket and worker session have ended, so no further hub traffic or messages can be sent. | |
| Switch To Background | Switches to the low-bandwidth persistent mode that keeps public and private messages connected while pausing expensive diagnostics. | |
| Switch To Interactive | Restores full live updates for guests, raw protocol traffic, and diagnostics while keeping the same hub connection. | |
| Enable Browser Notifications | Choose a notification mode, then enable browser permission. | |
| Restart Session | Stops the current worker and starts a new session with the saved connection and client-profile settings. | |
| Reconnect | Closes the current socket and immediately attempts a fresh login with the same saved session settings. | |
| Close Session | Ends the worker and hub connection intentionally; the saved configuration remains available for a later session. | |
| Collapse Hub Chat | Collapses Hub Chat into a left-side rail and expands Guests to the full workspace width without closing the session. | |
| Expand Hub Chat | Restores Hub Chat from the left rail and returns Hub Chat and Guests to their normal side-by-side widths. | |
| Collapse Guests | Collapses Guests into a right-side rail and expands Hub Chat to the full workspace width. | |
| Expand Guests | Restores Guests from the right rail and returns both panels to their normal side-by-side widths. | |
| Send | Queues the entered public message or hub command for delivery through the active logged-in session. | |
| Guests | Lists users currently reported by the hub, including role, presence, client, share, and available identity details. | |
| Search Guests By Nickname | Filters the displayed guest list by nickname without sending a search request or command to the hub. | |
| Message | Opens or returns to a private conversation with the selected guest without sending a message by itself. | |
| Conversations | Lists private-message threads kept for this session, including unread state and whether each guest remains online. | |
| Regular Guest Role | A gray user marker beside a nickname in the Guests table means the hub reported neither operator nor bot privileges. | |
| Bot Role | A silver robot marker beside a nickname in the Guests table means the hub identified that session as a bot. | |
| Operator Role | A gold key marker beside a nickname in the Guests table means the hub granted operator privileges to that session. | |
| Login Identity | Groups the nickname, password, client tag, share, slots, and other identity values advertised during hub login. | |
| NMDC Support Flags | Choose the NMDC $Supports flags sent during login. BotINFO is off by default for normal chat-client behavior. | |
| Guest Joined | Shown in Guest Activity when the hub announces that a nickname entered the hub; no administrator action is required. | |
| Guest Left | Shown in Guest Activity when the hub announces that a nickname left or disconnected from the hub. | |
| Sortable Column | Appears in a Guests or Conversations table header when that column is available for sorting but is not the active sort. | |
| Ascending Sort | Appears in the active table header when values are ordered from lowest to highest; select it to reverse the order. | |
| Descending Sort | Appears in the active table header when values are ordered from highest to lowest; select it to reverse the order. | |
| Close Private Chat | Removes the selected private conversation from the Conversations list; it does not disconnect or ban the guest. | |
| Guest Online | A green presence marker in Conversations means the guest is currently present in the connected hub. | |
| Guest Offline | A gray presence marker in Conversations means the guest is no longer present, while the saved conversation remains available. | |
| Open Help | Opens this help article. | |
| Hub Mod | Identifies the persistent moderation workspace used by a hub owner to inspect traffic, discover commands, and administer the hub. | |
| Client Mode | Sets the M value in the NMDC client tag. Active sends M:A; passive sends M:P. | |
| Connection Status | Reports whether Hub Mod is enabled, whether its worker and socket are running, when it connected, and why the last attempt failed. | |
| Runtime And Discovery | Groups the saved bot identity, advertised client profile, reconnect policy, assigned hub class, and command-discovery schedule. | |
| Command Console | Provides the exact command payload, main-chat or private-message destination, recipient, and required high-impact confirmation. | |
| Discover Commands | Queues hub and plugin help requests, including the available help command, then records the commands and Lua plugins returned by the hub. | |
| Available Commands And Plugins | Lists every discovered command and plugin with usage, source, minimum class, and whether the configured Hub Mod account may run it. | |
| Outgoing Activity | Audits each exact outgoing main-chat command or private message with its time, requester, destination, and delivery status. |