4.0.3 — fixes: deaths during network issues, web panel chat#
- Deaths and suicides are no longer lost after a temporary network error. When sending stats to the network failed and was retried, some deaths from that window could be lost — the profile kept an old "last death" (e.g. "killed by a Stag" despite a later suicide). A retry now sends exactly the same data and new stats wait for the next send. Stats lost earlier can't be recovered.
- Messages from the plugin's web panel chat now show on the server page in the network, marked [WEB]. Requires the plugin update.
4.0.2 — Big Update animals#
- New animals in the stats: sheep, lamb, cow, bull, calf, crab, frog, jellyfish, sea turtle and squirrel. They count towards the Animals column, give animal-kill XP and have their own counters in the global ranking and in the player profile (PVE tab). Previously the network showed them as "Other animal".
- Future new animals won't be lost. Animals from Rust's new-generation AI are recognised automatically, including ones the plugin doesn't know by name yet. An NPC the plugin can't recognise is sent to the network with its in-game name — the network admins assign it to the right species and players' stats are kept.
- The kill pop-up shows the species name (e.g. "Sheep") instead of a generic "Animal".
- A death caused by a new animal records the species (e.g. bull) as the cause instead of the damage type.
- The catapult is no longer counted as an animal.
mtopcore.mapdiag shows how each species is counted.
4.0.1 — fixes: vehicles, driving XP, death causes, web panel#
- Vehicle deaths ("killed by minicopter.entity") are now recorded as the specific vehicle: minicopter, scrap heli, car, boat, RHIB, motorbike, bicycle, horse, balloon, snowmobile, submarine, tugboat, train.
- New causes instead of an empty entry: blunt, collision, slash, stab, bite, hunger, thirst, arrow, bullet, cold exposure.
- Train time (locomotive, workcart, wagons) is now counted — trains were previously missing from vehicle stats.
- The tugboat was counted as a regular boat — it now has its own stat. Also counted: trike (as bicycle), PT Boat, modular boat and kayak (as boat).
- Vehicle driving XP with a banner. The Master sets the thresholds (e.g. 30 min in a minicopter = 5 XP). Driving time per vehicle adds up across all servers in the network: when a player joins, the plugin fetches their network total from the Master, adds the time driven on its own server and shows the "+XP" banner exactly when the network total crosses a threshold (10 min on one server + 20 min on another = 30 min). The Master computes XP from the same total, so nothing drifts apart. Verified servers only.
- Friendly vehicle names in the kill pop-up — running over a scientist now shows "Car", "Minicopter" etc. instead of the raw prefab name. The Master receives the same vehicle key.
NET - Web panel URL works with a bare domain (e.g. rust.koldrix.com behind Nginx Proxy Manager) — the plugin adds https://. Previously such an address was rejected and the "Web panel" link on the site pointed to the IP:port in front of the proxy (404).
- Removed the
INFO - Integrate with MajestatTopCore (if present) key — the plugin is a single whole, the INFO panel is always integrated. The old key disappears from the config automatically.
- A death that can't be recognised is recorded as "Unknown cause", so the panel no longer shows only dashes.
- Food gathering stats (
gather.food.* — berries, seeds, bread, jars…) are accepted and stored by the Master. They will be shown on the site in a later update.
4.0.0 RC1 — first production release#
The first public release of MajestatTopCore. The whole system — statistics, leaderboards, web panel, map, map vote, INFO panel and the global network — is now one file MajestatTopCore.cs and one config MajestatTopCore.json. Further fixes will ship as 4.0.x.
Upgrading from older versions#
- Delete the old, separate files:
MajestatStats.cs, MajestatTopBuild.cs, MajestatTopGather.cs, MajestatTopLoot.cs, MajestatTopWeb.cs, MajestatTopMap.cs, MajestatTopVote.cs, MajestatTopInfo.cs, MajestatTopNet.cs — otherwise tabs and commands get duplicated.
- A new
MajestatTopCore.json is created on first start. Move your settings over from the old configs (MySQL details, VOTE - RustMaps API Key, NET - Token, INFO - Tabs).
- Permissions were renamed:
majestattopcore.voteadmin, majestattopcore.info, majestattopcore.infoadmin (the old majestattopvote.admin, majestattopinfo.use, majestattopinfo.admin did not work on Oxide). Grant them again under the new names.
- One language for the whole plugin: the new
Language (pl/en) key replaces WEB - Language…, VOTE - Language and NET - Language (pl/en). The value is migrated automatically and the old keys disappear.
- Kill pop-up text keys were renamed to
PopupHitsLbl, PopupHeadshotsLbl, PopupDistanceLbl. If you had custom translations for those three lines, enter them again under the new keys.
New and changed#
- Map vote from the console / RCON:
mtopcore.vote status | open | close | restart | reroll — full control of the vote without joining the game. /voteadmin has the same actions (status and restart are new), and open no longer overwrites a running vote.
- Kill pop-up: two centred, bold lines (victim, then weapon), consistent "Hits / Headshots / Distance" labels, less screen space.
- Tidier config: keys are written in a fixed order (database → language → NET → CORE → WEB → VOTE → INFO), and the documentation now covers keys that were missing before (
Points Per Headshot…, Show pop-up kills, Kill pop-up…, VOTE - Close Before Wipe (minutes), VOTE - Save Map Images To Disk).
- Smaller file: the download is the production build — no comments, smaller and faster for Oxide/Carbon to compile.
- Message icons:
NET - Icon SteamID, VOTE - Icon SteamID, INFO - Icon SteamID set the same way (0 = default Rust icon).
- Default XP thresholds:
Gather.HQM 500 → 200, Gather.Scrap 5000 → 2000 (new configs only — existing values stay).
- Config keys that now work:
Show Play Time Column, WEB - Chat Web prefix in game (+ colour), WEB - Map update interval (seconds).
- Removed keys that did nothing:
WEB - Global PVP page URL, WEB - Map Show sleeping players for admin, WEB - Map Mini-chat height (px), VOTE - Log Level — they disappear from the file on their own.
- Readable logs when the network is unreachable: one line with the cause (certificate, DNS, timeout…) instead of a full stack trace every minute.
Fixes#
- On Oxide the /top panel and the kill pop-up showed text keys (
ColRank, TabFame…) instead of text. Lang files are completed on first start; your own translations stay.
/topinfo reload and /broadcast work for in-game admins; INFO - Require permission = true no longer blocks the Info panel for everyone.
/api/map/vending returns vending machine offers (it used to always return an empty list).
/player/<id> and /api/player/<id> return 404 for an unknown SteamID instead of an error.
- The version shown in the console and in the web panel footer matches the actual plugin version.
- The "Back to TOP" button in the vote panel is hidden when
Enable Panel = false.
- JSON mode saves player data once per autosave cycle instead of on every change.
- The live map scans server entities in a single pass, and only with the WEB module enabled.
- The leaderboard is no longer rebuilt on every tree hit — it refreshes every
Leaderboard Cache TTL (default 30 s).
- The list of counted crates no longer grows for the whole wipe.