Description
"Go ahead. Report me."
ReportMe turns Rust's F7 report system into a VIP perk engine and admin intelligence platform. VIPs get notified when someone reports them. Reporters get real, data-backed reassurance that their reports matter. Admins get auto-escalating alerts with trust scores powered by Steam and BattleMetrics data.
Every other report plugin is admin-only. ReportMe is the first one built for three audiences at once.
For VIP Players
When a VIP gets F7 reported, they get a styled in-game notification:
"PlayerName reported you for cheating — must be doing something right."
- Real-time CUI notification — color-coded banner by report type (red for cheating, orange for griefing, yellow for abuse)
- Sound effect alert — configurable sound on report
-
Report history panel —
/reportmeopens a full tabbed CUI with scrollable report list, timestamps, reporter names, and trust score - Trust score display — VIPs see their trust rating (High / Moderate / Below Average / Low) — gamifies good behavior
-
Sell it as a VIP perk — grant
reportme.vipto your VIP group and you have a new perk that costs nothing to maintain
For Reporters
When a player files an F7 report, they get instant feedback — not silence:
- "Thank you. This player has 2,400 hours in Rust and their account is 8 years old. We take all reports seriously."
- Feedback is personalized based on the reported player's trust data — hours, account age, server playtime, BattleMetrics cross-server hours
- If no data is available, they still get acknowledgment: "We will review it."
- Low-trust targets get flagged: "This player has been flagged and is under review."
- Duplicate reports within 24 hours are quietly filtered — no spam, no false escalation
- Optional VIP transparency warning: "Note: the player you reported is a VIP and can see your report info."
This makes reporters feel heard. That's a player retention signal — "this server takes cheating seriously."
For Admins
- Auto-escalation pipeline — 3 unique reporters in 24h triggers NOTIFY, 5 triggers WARNING, 8 triggers CRITICAL (all configurable)
- Discord webhooks — every report to one channel, escalations to another, with formatted embeds showing trust data, Steam hours, and profile links
-
In-game CUI dashboard —
/reportme <player>opens a 5-tab panel: Overview, Reports, Trust breakdown, Info, and Settings -
Console commands —
reportme list(top reported),reportme player(full history),reportme trust(score breakdown),reportme clear - In-game settings panel — toggle data sources, Discord options, and change the chat command directly from the CUI — no file editing
- @mention on escalation — WARNING and CRITICAL escalations ping your Discord channel with @here
Trust Scoring Engine
ReportMe computes a 0.0–1.0 trust score for every player using all available data:
- Server playtime (always available — self-tracked or via PlaytimeTracker if installed)
- Steam Rust hours and account age (with Steam API key — free)
- BattleMetrics hours across all servers (with BM API token — free tier)
- Report density — reports per 100 hours played in a 30-day window
- Private profile as a negative signal
The scoring algorithm dynamically rebalances weights based on which data sources are available. Works with zero configuration (server playtime + report density only), and gets smarter as you add API keys.
Data Enrichment (Layered)
| Tier | Source | What You Get | Cost |
|---|---|---|---|
| 0 | Built-in | Server playtime, report density, first seen date | Free (always on) |
| 0.5 | PlaytimeTracker | Lifetime playtime (survives wipes), AFK filtering | Free plugin (optional) |
| 1 | Steam Web API | Rust hours, account age, profile visibility | Free API key |
| 2 | BattleMetrics | Cross-server hours, server count, first seen globally | Free API token |
Each tier is additive. No APIs required — but the more you connect, the smarter the system gets.
Full CUI Panel
Dark-themed, blurred background, tabbed interface with sidebar navigation:
- Overview: Player avatar, name, total reports, trust score with progress bar, 24h stats, server playtime, first seen date, and enrichment data
- Reports: Scrollable history (up to 30 entries), color-coded accent stripe by type, subject, reporter name, relative timestamps, and report detail text
- Trust (admin): Full score breakdown — positive factors (server time, Rust hours, account age, BM hours) and negative factors (report frequency, private profile) each with progress bars showing contribution
- Info (admin): Command reference, permission reference, and setup guide
- Settings (admin): Live toggles for data sources and Discord options, API key status, webhook status, chat command input — all editable in-game without touching config files
Discord Webhooks
Two configurable webhook URLs:
- Report channel: Every F7 report gets a formatted embed — reporter, target, reason, subject, detail, trust score, Steam hours, account age, playtime. Steam profile links included.
- Escalation channel: Threshold alerts with color-coded severity (orange NOTIFY / red-orange ESCALATION / red CRITICAL), @here mentions on WARNING and CRITICAL
Smart Features
- Deduplication: Same reporter + same target within 24 hours = silently dropped. No duplicate notifications, no inflated escalation counts.
- Self-report blocking: Players can't report themselves.
- Crash-safe persistence: Async saves with atomic file writes. Session time flushed every 5 minutes. Max data loss on crash: 5 minutes.
- Auto-pruning: Reports older than 90 days (configurable) are automatically cleaned up on load.
- History cap: 100 reports per player (configurable). Oldest entries trimmed automatically.
- Lazy enrichment: API data is only fetched when a report comes in, not on player connect. No connect-storm batching needed.
-
Configurable chat command: Change from
/reportmeto anything via config or the in-game settings panel.
Plugin API (for developers)
Other plugins can query trust scores, report counts, and playtime via plugins.Call():
| Method | Returns | Description |
|---|---|---|
API_GetTrustScore(ulong steamid) |
float | Computed trust score (0.0–1.0). Returns 0.5 (baseline) if no profile exists. |
API_GetTrustLabel(ulong steamid) |
string | Trust label: "High", "Moderate", "Below Average", or "Low" |
API_GetReportCount(ulong steamid) |
int | Total deduplicated report count (lifetime) |
API_GetRecentReportCount(ulong steamid, int days) |
int | Number of reports received in the last N days |
API_GetUniqueReporterCount24h(ulong steamid) |
int | Number of unique reporters in the last 24 hours |
API_GetPlaytimeSeconds(ulong steamid) |
double | Total tracked server playtime in seconds (PlaytimeTracker or self-tracked) |
Use cases: queue priority systems, loot table adjustments, VIP tier plugins, custom admin dashboards, third-party Discord bots.
Permissions
| Permission | Default | Description |
|---|---|---|
reportme.vip |
Manual grant | Receive in-game notification when reported. Access /reportme to view own report history and trust score. |
reportme.admin |
Manual grant | Full access: view any player's reports, console commands, escalation alerts, admin CUI tabs (Trust breakdown, Info, Settings). |
reportme.notify.reporter |
All players (auto-granted) | Reporter receives acknowledgment CUI with data-backed feedback after filing an F7 report. |
Chat Commands
| Command | Permission | Description |
|---|---|---|
/reportme |
reportme.vip or reportme.admin | Open the report panel showing your own report history, trust score, and stats |
/reportme <name or steamid> |
reportme.admin | Open the report panel for any player — full admin view with trust breakdown, enrichment data, and settings |
Console Commands
| Command | Permission | Description |
|---|---|---|
reportme list |
reportme.admin / server console | List top 20 most reported players, sorted by 24h report count then lifetime total. Shows SteamID, name, total reports, 24h count, trust score. |
reportme player <steamid> |
reportme.admin / server console | Full report history for a player — total received/filed, 24h count, unique 24h reporters, last 15 reports with timestamps and details. |
reportme trust <steamid> |
reportme.admin / server console | Detailed trust score breakdown — final score, baseline, each positive/negative factor with its weight, data sources. |
reportme clear <steamid> |
reportme.admin / server console | Clear all reports for a player. Logged to server console. |
Support
- For all questions and feedback, dm me (1928tommygun) on my discord at discord.gg/tommygun
License
TOMMYGUN'S EULA – BY USING THIS PLUGIN YOU AGREE TO THE FOLLOWING!
- Code contained in this file is not licensed to be copied, shared, resold, or modified in any way.
- You may copy the plugin freely to each server instance that your organization owns.
- Do not share this plugin with other server organizations — they must purchase their own licenses.
Customer Reviews
Discussion
Be the first to start the discussion!