luadch-ng
Plugins
82 plugins ship with the hub and load once you list them in cfg.scripts. Another 31 live in the companion repository and are copied in by hand. The tags say which release lines each one runs on and how much testing it has had; the legend below spells them out.
113 of 113
| Plugin | Available in | Purpose |
|---|---|---|
| bot_advanced_chatBots · optional | Chat room with history, member management and PM-to-op forwarding | |
| bot_opchatBots · bundled | Internal op-chat bot for operator coordination | |
| bot_pm2opsBots · bundled | Routes operator private messages to the opchat bot | |
| bot_regchatBots · bundled | Registered-user chat with optional message history | |
| bot_session_chatBots · bundled | Temporary per-session chats for user collaboration | |
| cmd_accinfoCommands · bundled | Display extended account details for registered users | |
| cmd_asciiCommands · bundled | ASCII art command, moved to the companion repository | |
| cmd_asciiCommands · optional | ASCII art command, retired from the bundled tree | |
| cmd_banCommands · bundled | Ban / unban users by nick, CID, or IP with optional duration and reason | |
| cmd_botflagCommands · bundled | Toggle the bot icon (ADC CT bot bit) on a registered account, no privilege change | |
| cmd_delregCommands · bundled | Delete registrations by nick | |
| cmd_disconnectCommands · bundled | Forcefully disconnect a user with optional reason message | |
| cmd_errorsCommands · bundled | Display the hub error log to users with sufficient permissions | |
| cmd_gagCommands · bundled | Mute, kennylize (garble), or shadowmute users with optional duration | |
| cmd_helpCommands · bundled | Central help registry for all operator commands | |
| cmd_hubinfoCommands · bundled | Display comprehensive hub information | |
| cmd_hubstatsCommands · bundled | Track hub statistics over time (user averages, share, registrations, bans) | |
| cmd_mainclearCommands · optional | Clears the main chat display | |
| cmd_massCommands · bundled | Broadcast mass messages to all users or specific user levels | |
| cmd_myinfCommands · bundled | Display own or target user's raw INF command output (client information) | |
| cmd_myipCommands · bundled | Display own or target user's IP address | |
| cmd_nickchangeCommands · bundled | Change registered user nicknames | |
| cmd_pm2offlinersCommands · optional | Sends a private message to an offline user, delivered at their next login | |
| cmd_redirectCommands · bundled | Redirect users to an alternate hub URL based on level or manual command | |
| cmd_regCommands · bundled | Register new users or add / modify registration descriptions | |
| cmd_reloadCommands · bundled | Reload hub configuration, user database, and restart scripts without full hub restart | |
| cmd_restartCommands · bundled | Gracefully restart the hub with optional broadcast message to users | |
| cmd_rulesCommands · bundled | Display hub rules to users (sent at login or on command) | |
| cmd_setpassCommands · bundled | Set or change passwords for registered users | |
| cmd_shutdownCommands · bundled | Gracefully shut down the hub with optional broadcast message | |
| cmd_slotsCommands · bundled | Display list of all currently connected users with available upload slots | |
| cmd_sslinfoCommands · bundled | Display TLS / SSL connection information for user's client | |
| cmd_talkCommands · bundled | Broadcast messages anonymously without nickname prefix | |
| cmd_topicCommands · bundled | Set or reset the hub topic string | |
| cmd_upgradeCommands · bundled | Set or change a registered user's level by SID or nick | |
| cmd_uptimeCommands · bundled | Display hub uptime (session and cumulative since first start) | |
| cmd_usercleanerCommands · bundled | Show and remove inactive or never-used accounts | |
| cmd_userinfoCommands · bundled | Display user information (nick, level, IP, features, share, slots) | |
| cmd_userlistCommands · bundled | List all registered users sorted by level or registration date | |
| cmd_usersearchCommands · bundled | Search registered users by partial nick match | |
| etc_aliasesUtility · bundled | Operator-defined command aliases | |
| etc_auditlogUtility · bundled | Persistent JSONL audit trail for staff actions | |
| etc_backupUtility · bundled | Automatic encrypted local backups of the hub's restore-critical state, rotated on a schedule | |
| etc_bannerUtility · bundled | Broadcast periodic banner messages to main chat at configurable intervals | |
| etc_banner_modUtility · optional | Shows a banner or message of the day on login | |
| etc_blackboardUtility · optional | Shared note board with add, delete and show commands | |
| etc_blacklistUtility · bundled | Maintain and display the blacklist of delreg'd users to prevent re-registration | |
| etc_blocklistUtility · bundled | Operator-facing chat command for the unified pre-handshake IP/CIDR blocklist | |
| etc_blocklist_feedsUtility · bundled | External IP/CIDR blocklist feed puller | |
| etc_ccpmblockerUtility · optional | Restricts client-to-client private messages to operators and above | |
| etc_chatlogUtility · bundled | Log main chat messages with timestamps, user nicks, and message content | |
| etc_client_su_checkUtility · optional | Warns or blocks clients with missing or invalid SU features | |
| etc_clientblockerUtility · bundled | Block clients by Lua-pattern match against the BINF `AP+VE` field | |
| etc_cmdlogUtility · bundled | Audit log of all operator `+cmd` invocations (who, what, when) | |
| etc_dhtblockerUtility · bundled | Disconnect users with DHT (Distributed Hash Table) search enabled | |
| etc_dummy_warningUtility · bundled | Warn level-100 admin on login if the default "dummy" account is still registered | |
| etc_EventAnnouncerUtility · optional | Announces scheduled events at a configurable interval | |
| etc_forcetlstransferUtility · bundled | Force TLS-encrypted client-to-client transfers (force ADCS) | |
| etc_geoipUtility · bundled | Country / ASN policy blocking via a MaxMind GeoLite2 database | |
| etc_hide_announcerUtility · optional | Keeps user announcements out of public view | |
| etc_hubcommandsUtility · bundled | Internal registry module for `+cmd` handlers | |
| etc_hubportierUtility · optional | Limits concurrent connections per user or IP | |
| etc_keyprintUtility · bundled | Automatically extract and cache hub certificate keyprint (SHA256) for client validation | |
| etc_levelcheckUtility · optional | Reports a user's level by private message | |
| etc_lockdownUtility · bundled | Transient maintenance-mode access gate: temporarily admit only users at or above a given level | |
| etc_log_cleanerUtility · bundled | Clean error.log and cmd.log files | |
| etc_mainechoUtility · optional | Echoes main chat messages | |
| etc_maxhubs_announcerUtility · optional | Announces how many hubs a user is connected to on login | |
| etc_messengerUtility · optional | Private-message delivery with a queue | |
| etc_motdUtility · bundled | Send message-of-the-day to users on login | |
| etc_msgmanagerUtility · bundled | Block main chat and / or PM for specific user levels | |
| etc_NewPasswordsUtility · optional | Lets registered users change their own password | |
| etc_noadvertiseUtility · optional | Blocks configurable forbidden strings in main chat and private messages | |
| etc_onfailedauthUtility · bundled | Send report when user fails authentication (bad password, IP ban, etc) | |
| etc_onlinecounterUtility · optional | Tracks online time and can gate search and download below a threshold | |
| etc_openhubs_announcerUtility · optional | Announces how many open hubs a user is in | |
| etc_prometheusUtility · bundled | Prometheus text-exposition `/metrics` endpoint for the HTTP API | |
| etc_proxydetectUtility · bundled | Live proxy / VPN / Tor detection via an external provider API on connect | |
| etc_recordsUtility · bundled | Track and display hub records (peak users, largest user share, etc) | |
| etc_regserver_announceUtility · bundled | Announces this hub to an external ADC hublist regserver | |
| etc_reportUtility · bundled | Internal library for sending operator reports to hub bot and / or opchat | |
| etc_requestsUtility · optional | Release request board where users ask and others fulfil | |
| etc_sslonlyUtility · optional | Disconnects users who connect without TLS | |
| etc_status_pushUtility · bundled | Periodically pushes the hub's public status to an external HTTP(S) endpoint | |
| etc_trafficmanagerUtility · bundled | Block downloads, uploads, and searches for specific users | |
| etc_unknown_commandUtility · bundled | Reject mistyped or malformed commands in main chat with helpful error message | |
| etc_usercommandsUtility · bundled | Internal registry module for client right-click context menus | |
| etc_userlogininfoUtility · bundled | Display detailed user connection info on login | |
| etc_webhookUtility · bundled | Inbound webhook receiver: an external service POSTs an HMAC-signed JSON body, announced in chat as a named bot | |
| etc_whitelistUtility · bundled | Operator-facing chat command for the global IP/CIDR allowlist | |
| etc_wunschbrettUtility · optional | Wishlist board with comments and votes | |
| hub_bot_cleanerHub management · bundled | Remove unused bot accounts from user database on timer | |
| hub_cmd_managerHub management · bundled | Enforce permission levels on direct ADC commands (EMSG, DMSG, SCH, etc) | |
| hub_inf_managerHub management · bundled | Validate user INF flags on connect and broadcast | |
| hub_runtimeHub management · bundled | Track cumulative hub runtime (survives restarts) and provide show / reset commands | |
| hub_user_lastseenHub management · bundled | Update `lastseen` timestamp in user database on periodic timer | |
| ptx_anti_dlPtokaX ports · optional | Blocks matching client profiles from searching and downloading | |
| ptx_freshstuffPtokaX ports · optional | Release announce bot with categories, scheduled broadcasts and rankings | |
| ptx_poll_botPtokaX ports · optional | Polls and voting, with results in chat | |
| ptx_rotatingtopicPtokaX ports · optional | Rotates the hub topic at a configurable interval | |
| ptx_RSSFeedWatchPtokaX ports · optional | Posts new RSS or Atom items into the hub | |
| ptx_tagcheckPtokaX ports · optional | Validates release tags and blocks invalid ones | |
| ptx_tophubbersPtokaX ports · optional | Ranks and announces the most active users | |
| usr_desc_prefixUser restriction · bundled | Prepend level-based prefix to user descriptions (e.g. `[VIP]`, `[MOD]`) | |
| usr_hide_shareUser restriction · bundled | Hide share size for specified user levels | |
| usr_hubsUser restriction · bundled | Enforce minimum / maximum hub count per level | |
| usr_nick_lengthUser restriction · bundled | Enforce min / max nickname length on connect and INF updates | |
| usr_nick_prefixUser restriction · bundled | Prepend level-based prefix to user nicknames (e.g. `[Op]Bob`, `[VIP]Alice`) | |
| usr_nick_prefix_modUser restriction · optional | Adds a cosmetic prefix to nicks | |
| usr_shareUser restriction · bundled | Enforce minimum / maximum share per user level | |
| usr_slotsUser restriction · bundled | Enforce minimum / maximum upload slots per user level | |
| usr_speedinfoUser restriction · optional | Shows a user's connection speed on request | |
| usr_uptimeUser restriction · bundled | Track per-user session and cumulative online time |
- 3.13.2
- The hub release lines a plugin runs on. For bundled plugins this is simply which line ships it. For optional ones it records where it has been run: the companion repository targets 3.1.x, and a missing 3.2 means nobody has checked yet, not that it is broken. That check matters because the plugin sandbox was tightened for 3.2, so a plugin that is fine on 3.1 can still fail there.
- T1T2
- The tier from the import audit of the companion repository, not a statement about hub versions. T1 is a low-risk drop-in: audited for Lua 5.4 and it loads cleanly. T2 passed the same audit but is worth testing on your own hub first, because of its size, complexity or because it talks to the outside world.
- needs v3.1.7
- A minimum hub version the plugin itself states in its header. Only a couple of them do.
Bundled entries link to their section in the hub documentation. Optional entries link to their directory in luadch-ng/scripts, where each plugin carries its own README with commands and config keys.