- 834 downloads
- Version 2.0.0
Force Duty DiagnosticsA LSPDFR plugin that provides advanced crash detection, plugin fingerprinting, and diagnostic logging during the LSPDFR duty‑switch process. This tool identifies which plugin crashes when going on duty, generates detailed crash reports, and scans your plugin installation for missing or broken files. No More Force Duty Crash The correct response to criticismForceDuty Diagnostics is not a replacement for RPH.log. It solves a specific problem RPH.log cannot: identifying which plugin crashes during the duty‑switch event. RPH.log does not show which plugin threw the exception — it only shows that the event failed. This plugin fingerprints each handler, logs the responsible plugin, reconstructs its path, and generates a dedicated crash report. Developers still request RPH.log because it contains startup information and unrelated plugin logs, but ForceDuty Diagnostics provides the missing link: the exact plugin responsible for ForceDuty crashes. What the plugin actually does (and RPH.log cannot)1. It identifies which plugin crashed during duty switchRPH.log does not tell you which plugin threw the exception. It only shows: Unhandled exception in OnDutyStateChanged
Your plugin shows: PLUGIN CRASH DETECTED during duty switch!
Plugin: StopThePed
Path: Plugins/LSPDFR/StopThePed/StopThePed.dll
Exception: Object reference not set...
That is the entire purpose of the mod. This is not “copying exceptions.” This is fingerprinting plugin handlers, something RPH cannot do. 2. It reconstructs plugin paths even when assemblies load from memoryRPH.log cannot do this. Your plugin can show: Exact DLL path Plugin folder Plugin name Whether the plugin was loaded from memory This is critical for debugging. 3. It isolates duty‑switch crashes from unrelated noiseRPH.log is full of: Fiber ticks Native calls Game events Unrelated plugin spam LSPDFR internal logs Your plugin produces a clean, focused diagnostic log. 4. It generates per‑plugin crash reportsRPH.log is one giant file. Your plugin creates: CrashReports/StopThePed/StopThePed_Crash_2026-06-02.log
This is far more useful for mod developers. 5. It detects missing dependencies BEFORE crashes happenRPH.log only shows the crash after it happens. Your plugin warns: ERROR: RAGENativeUI.dll is missing! StopThePed may crash.
This is preventative diagnostics, not reactive logging. Why developers still ask for RPH.logDevelopers ask for RPH.log because: It contains startup logs It contains plugin load order It contains game version It contains RPH version It contains native call failures It contains fiber exceptions It contains non‑duty‑switch crashes Your plugin is not meant to replace RPH.log. It is meant to fill the one gap RPH.log cannot fill: That’s it. That’s the mission. And it does that perfectly. Features Crash FingerprintingWhen LSPDFR switches duty states, Force Duty Diagnostics: Wraps every plugin subscribed to OnOnDutyStateChanged Detects when a plugin throws an exception Identifies the exact plugin responsible Logs the plugin name and DLL path Captures the full exception and stack trace This makes it easy to pinpoint which plugin is breaking ForceDuty or causing duty‑switch crashes. Timestamped Crash ReportsEvery detected crash generates a standalone crash report: Saved per‑plugin Timestamped down to the millisecond Includes plugin name, path, exception, and stack trace Organized for long‑term debugging and tracking Crash reports are stored in: Plugins/LSPDFR/ForceDutyDiagnostics/CrashReports/
Plugin Integrity ScannerOn startup and every duty change, the plugin scans: Plugins\ Plugins\LSPDFR\ All subfolders recursively It checks for: Missing DLLs Missing config files Empty or incomplete plugin folders Incorrectly installed plugins This helps identify installation issues before they cause crashes. Duty Change DiagnosticsWhenever the player goes on duty or off duty, the plugin logs: Duty state Thread ID Game time Player position Plugin scan results Crash fingerprints (if any) This creates a complete picture of what happened during the duty switch. Cleanup & StabilityForceDuty Diagnostics is fully passive: Does not modify LSPDFR behavior Does not interfere with other plugins Only observes, logs, and reports Generates clean, timestamped logs All logs are stored in: Plugins/LSPDFR/ForceDutyDiagnostics/ForceDutyDiagnostics.log
RequirementsRagePluginHook LSPDFR InstallationPlace ForceDutyDiagnostics.dll into: Grand Theft Auto V\Plugins\LSPDFR\
The plugin loads automatically when LSPDFR starts. Known BugsThere are currently no confirmed bugs, but the plugin is actively monitored and updated as needed. If you encounter any issues, check the RPH.log for my plugin to see if there are any encounters. Latest Game Version 3751.0 Current Game Version 3788.0