feat: add cheater-to-player ratio analytics panel#98
Open
BrineBlock wants to merge 13 commits into
Open
Conversation
Adds a moderation-support analytics sidebar panel that tracks flagged and confirmed cheater accounts against the active player count on a connected Rust server. Includes models, services, MVVM viewmodel, and WPF view. Data sources: Steam ISteamUser/GetPlayerBans public API (user-provided key), manual admin flags, and local JSON storage per server — no IP tracking, no hardware IDs, no cloud upload. Files added: - Models/CheaterRecord.cs - Models/CheaterAnalyticsSnapshot.cs - Services/SteamBanLookupService.cs - Services/CheaterAnalyticsService.cs - ViewModels/CheaterAnalyticsViewModel.cs - Views/CheaterAnalyticsPanel.xaml + .xaml.cs https://claude.ai/code/session_01J5coSH1ScT4g4yDSbwmmcZ
- Fix all namespaces from RustPlusDesktop.* to RustPlusDesk.* - Add 🛡 ShieldError20 button to server connection bar (visible only when connected) - Add CheaterAnalyticsPanel overlay to left panel Grid, alongside existing settings/profit overlays - Add BtnCheaterAnalytics_Click handler with lazy ViewModel init using ServerProfile.SteamId64 + RustMapsWipeTime - Rewrite panel XAML to use only real app styles (PrimaryButton, GhostButton, SurfaceAlt, CardBorder, AccentGreen, TextCaption) - Add close button handler in CheaterAnalyticsPanel.xaml.cs https://claude.ai/code/session_01J5coSH1ScT4g4yDSbwmmcZ
…y exists Allows local QA builds to succeed by placing a dummy ObfuscatedSecrets.cs in Services/Data/ — the pre-build target is now a no-op when that file exists. https://claude.ai/code/session_01J5coSH1ScT4g4yDSbwmmcZ
…ted server Button was bound to Selected.IsConnected which hides it when a different server is highlighted in the list than the one currently connected. https://claude.ai/code/session_01J5coSH1ScT4g4yDSbwmmcZ
Files were missing System, System.Collections.Generic, System.Linq, System.IO, and System.Threading.Tasks — causing build errors on DateTime, List<>, IEnumerable<>, Task, Func<>, Action<>, EventHandler. https://claude.ai/code/session_01J5coSH1ScT4g4yDSbwmmcZ
…Shapes.Path MainWindow.xaml.cs uses both WPF Path shapes and System.IO.Path, causing CS0104. Fully qualify as System.IO.Path.Combine and System.IO.Directory. https://claude.ai/code/session_01J5coSH1ScT4g4yDSbwmmcZ
…anel UserControl cannot resolve GhostButton/PrimaryButton from MainWindow resources. Replaced with self-contained inline styles. Also wrapped click handler in try/catch to surface any future errors as a dialog instead of a crash. https://claude.ai/code/session_01J5coSH1ScT4g4yDSbwmmcZ
…anel RiskBand, CheaterRatioPercent, ActivePlayerCount, ConfirmedCheaterCount, and SuspectedFlaggedCount are computed getters with no setter — WPF was trying TwoWay binding and throwing at runtime. https://claude.ai/code/session_01J5coSH1ScT4g4yDSbwmmcZ
Webhook URL is loaded on panel open and saved automatically whenever the user edits it — no need to re-enter it each session. https://claude.ai/code/session_01J5coSH1ScT4g4yDSbwmmcZ
Covers new files, privacy guarantees, Discord webhook setup, risk bands, and includes Discord report preview screenshot. https://claude.ai/code/session_01J5coSH1ScT4g4yDSbwmmcZ
Owner
|
It's a super cool addon, ngl! Unfortunately we just merged to cloud support and there is a LOT in the pipeline. I am not sure if and what kind of 3rd Party APIs we want to integrate or use later. But this addition is for sure super interesting :) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a moderation-support analytics sidebar panel that tracks flagged and confirmed cheater accounts against the active player count on a connected Rust server. Includes models, services, MVVM viewmodel, and WPF view.
Data sources: Steam ISteamUser/GetPlayerBans public API (user-provided key), manual admin flags, and local JSON storage per server — no IP tracking, no hardware IDs, no cloud upload.
Files added: