Description
A 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.
The correct response to criticism
ForceDuty 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 switch
RPH.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 memory
RPH.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 noise
RPH.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 reports
RPH.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 happen
RPH.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.log
Developers 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:
Quote
Which Plugin Crashed During ForceDuty?
That’s it. That’s the mission. And it does that perfectly.
Features
Crash Fingerprinting
When 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 Reports
Every 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 Scanner
On 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 Diagnostics
Whenever 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 & Stability
ForceDuty 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
Requirements
RagePluginHook
LSPDFR
Installation
Place ForceDutyDiagnostics.dll Into:
Grand Theft Auto V/Plugins/LSPDFR/
The plugin loads automatically when LSPDFR starts.
Known Bugs
There 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.
❤ ️ Someone loved this mod 6 hours ago!
💡 Others also downloaded: Full Vehicle Control, Story Callouts V0.1, Chaos Gang WAR.
Authors: TimmyLuke017 Gaming
Share Your Gameplay!
Submit a screenshot of this mod!
Submit a YouTube video.

