Every plugin you run, watched from one Discord message
Nobody checks forty product pages by hand, so servers run months-old builds and find out from a bug report. This reads your plugin folder, works out where each one came from across thirteen marketplaces, and tells you what's behind — in console and in Discord, as a single message it keeps editing instead of a feed of pings. Nothing to register: install it and the list builds itself.
|
13
Marketplaces searched
|
1
Discord message, edited in place
|
|
60
Minutes between checks, configurable
|
0
Dependencies, and nothing to register by hand
|
|
✓
|
The list builds itself — every plugin on the server, matched to its store page automatically
|
|
✓
|
Unloaded plugins are checked too — a .cs file sitting there disabled is still read and tracked
|
|
✓
|
One Discord message, not a feed — it edits itself, so the channel stays a status board
|
|
✓
|
Finds orphaned config files — leftovers from plugins you deleted months ago, moved to a backup folder on command
|
|
✓
|
In-game browser for the whole list — colour-coded, searchable, one click to ignore or correct a plugin
|
See it in action
It already knows what you're running
There is no list to fill in. The first check enumerates everything on the server and works out where each plugin lives.
Thirteen marketplaces, and any new one it meets
uMod, Codefling, Lone.Design, Chaos, RustWorkshop, GitHub, ModPulse, RustPlugins, ServerArmour, ImperialPlugins, MyVector, SkyPlugins and Game4Freak are searched out of the box, each one switchable. If a store shows up that isn't in your config yet, it's added automatically.
Disabled plugins count as plugins
A .cs file that isn't loaded is opened and read directly — name, author and version come out of the file itself, for Oxide, Carbon and Covalence plugins alike. The one you disabled "until it's fixed" still gets told when the fix ships.
Matching that survives renames
A plugin is matched by author and name first, then by store name, page slug and tags — because the file is called NPCShop and the page says "NPC Shop". When a guess is still wrong, paste the correct URL once and it's pinned there for good.
Version numbers that aren't version numbers
Authors write v2.1, 1.0.4b or just 3. All of it is parsed down to something comparable instead of being reported as an update every single hour.
A status board, not a notification feed
A webhook is the only setup. What arrives is one grouped, linked, timestamped report.
One message that keeps itself current
Give it a message id and every check edits that same message instead of posting a new one. Hourly checks stop being hourly noise, and the channel becomes a board anyone can glance at.
Grouped by store, with the version jump and a link
Each line reads [Codefling] NPCShop 2.11.5 → 2.11.6 with the version linking straight to the page, under a timestamp in your own timezone and 12- or 24-hour format. Links can be turned off if you'd rather keep it plain.
Green when there's nothing to do
"All plugins are up to date" arrives with a green bar; anything else uses the accent colour you set. Don't want the good news at all? One switch and it only speaks up when something is behind.
Test it before you trust it
One chat command fires a test message through the webhook, and a broken hook or a wrong message id is reported in console in plain words rather than failing silently.
The whole list on one screen
Everything the plugin knows is browsable in game, and everything you'd want to correct is corrected there too.
Colour tells you the state at a glance
Green for matched to a store page, red for not found anywhere, orange for deliberately ignored. Unmatched plugins are sorted to where you'll see them.
Search, then fix
Type part of a name or an author to filter. Click a plugin and you get its author, version, detected store and URL — the URL being an editable field, so a wrong match is a paste away from correct.
Ignore what shouldn't be checked
Private commissions and your own code never have a store page. One toggle drops them out of the checks and out of the report, without deleting anything.
The configs nobody deleted
Every server that has run for a year has a config folder full of files belonging to plugins that left. Since the plugin already knows exactly what you run, it can tell you which ones those are.
List first, act second
One console command prints every orphaned config by name. Nothing is touched until you run the second one.
Moved, never deleted
Cleanup relocates the files into a backup folder inside your config directory. Reinstall the plugin next week and its settings are still there, one move away.
Built to be left alone
|
✓
|
No dependencies — and no account, key or token anywhere
|
|
✓
|
Rate limits are handled — it waits and retries the same plugin rather than skipping it or hammering the API
|
|
✓
|
Checks run spread out, never blocking — requests are made one at a time in the background, and stop the moment the plugin unloads
|
|
✓
|
A manual check can't stack — asking for one while a scan is running is refused with a warning instead of doubling the requests
|
|
✓
|
The config prunes itself — plugins you removed drop off the list automatically, so it never grows into a graveyard
|
|
✓
|
Discord's message limit is respected — an oversized report is trimmed with a notice instead of silently failing to send
|
Two in chat, three in console
Chat commands need updatechecker.setup; admins have access anyway. Every command name is configurable.
|
/ucsetup
|
Open the plugin browser
|
|
/uctest
|
Send a test message to your Discord webhook
|
|
checkupdates
|
Server console — run a check now instead of waiting for the timer
|
|
uc_check_config
|
Server console — list config files with no plugin behind them
|
|
uc_clean_config
|
Server console — move those files to the backup folder
|
For plugin developers
void OnUpdateCheckerUpdateFound(string name, string currentVersion, string latestVersion, string url, string marketplace)
Fired once per outdated plugin, as the check finds it. Enough to build your own alerting — a panel notice, a Telegram message, an auto-download queue.
Before you buy
Do I have to use Discord?
No. Without a webhook the report is printed in server console on every check. Discord just makes it something the whole team can see.
Do I need to list my plugins first?
No. The list is built from the server itself on the first check and kept in sync from then on — new plugins are added, deleted ones fall off.
What about my private or custom plugins?
They won't be found anywhere, which is expected. Either flip them to ignored so they drop out of the report, or hide the whole not-found section with one config switch.
It matched a plugin to the wrong page. Can I fix it?
Open the browser in game, click the plugin, paste the right URL into the field. From then on it's checked against that page only.
Will it spam my Discord channel every hour?
Not if you give it a message id — then it edits that one message forever. You can also silence the "everything is up to date" report so it only writes when something actually needs doing.
Is the config cleanup safe?
It moves files into a backup folder inside your config directory, never deletes them, and the listing command shows you exactly what it would move before you commit.
Does it slow the server down?
Checks are network requests made one after another in the background, on an interval you choose — hourly by default, and the check on startup can be switched off too.