A debugging plugin for the EXILED framework in SCP: Secret Laboratory. It captures event logs, handler activity, and network activity, then prints readable output to the in-game client console.
GPDebuggerExplain.mp4
- Event logging: Automatically subscribes to
Exiled.Events.Handlersevents and prints their values. - Handler filtering: Restrict logging to selected handlers with
handler_whitelist, or hide specific handlers at runtime. - Event ignoring: Ignore spammy event names from the console output.
- Network logging: Track network methods and network messages in real time.
- Network ignoring: Ignore specific network method or message names from the console output.
- Object inspection: Use
gpdebug print hitto inspect the object you are looking at. - Component inspection: Use
gpdebug print player/hit ComponentNameto inspect a specific component on a player or game object. - Feature inspection: Use
gpdebug print <class>orgpdebug print playerto inspect Exiled feature classes or players. - Search: Use
gpdebug search <name>to find scene transforms by name, inspect their position/size, and teleport to a numbered result.
Use these commands in the Remote Admin console.
| Command | Description |
|---|---|
gpdebug or gpdebug help |
Show detailed help. |
gpdebug handler start |
Enable event handler logging for you. |
gpdebug handler stop |
Disable event handler logging for you. |
gpdebug handler ignore add <HandlerName> |
Ignore a handler from event logging. |
gpdebug handler ignore remove <HandlerName> |
Remove a handler from the ignore list. |
gpdebug handler list |
Show handler whitelist, ignored handlers, active handlers, and available Exiled.API.Features classes. |
gpdebug network start |
Enable network logging for you. |
gpdebug network stop |
Disable network logging for you. |
gpdebug network ignore add <Name> |
Ignore a network method or network message. |
gpdebug network ignore remove <Name> |
Remove a network method or network message from the ignore list. |
gpdebug network list |
Show ignored and active network methods/messages. |
gpdebug print <class> |
Print public static properties of an Exiled feature class. |
gpdebug print player [playerName] |
Print player properties for yourself or a target player. |
gpdebug print player [playerName] <ComponentName> |
Print component properties of a player. |
gpdebug print hit |
Inspect the object you are looking at and matched Exiled API features. |
gpdebug print hit <ComponentName> |
Inspect a specific component on the object you are looking at. |
gpdebug search <name> |
Search scene transforms by name and list numbered results with position, rotation, scale, and bounds size. |
gpdebug search <name> <number> |
Teleport yourself to the numbered search result. |
gpdebug print player # Print your own player properties
gpdebug print player 8 # Print player ID 8's properties
gpdebug print player CharacterController # Inspect your CharacterController component
gpdebug print player 8 Rigidbody # Inspect player ID 8's Rigidbody component
gpdebug print hit # Inspect the object you are looking at
gpdebug print hit Transform # Inspect the Transform component of the object you're looking at
gpdebug print Server # Print Server class properties
gpdebug search Door # List transforms with names containing Door
gpdebug search Door 3 # Teleport to result #3 from the Door search
gpdebug search capybara # Matches names like capybara, capybara (1), and BigCapybaraDoor
gpdebug search capybara 2 # Teleport to result #2 from the capybara search
gp_debugger:
is_enabled: true
debug: false
console_message_length_limit: 100
console_message_color: 'white'
handler_whitelist: []
ignored_handlers: []
ignored_events:
- 'Player.MakingNoiseEventArgs'
- 'Player.TriggeringTeslaEventArgs'
- 'Item.UsingRadioPickupBatteryEventArgs'
- 'Item.UsingRadioBatteryEventArgs'
ignored_network_methods:
- 'TargetReplyEncrypted'
- 'TargetSyncGameplayData'
- 'CmdSendEncryptedQuery'
ignored_network_messages:
- 'SpawnMessage'
- 'ObjectDestroyMessage'
- 'NetworkPingMessage'
- 'NetworkPongMessage'
- 'FpcFromClientMessage'
- 'SubroutineMessage'
- 'StatMessage'
- 'VoiceMessage'
- 'TransmitterPositionMessage'
- 'ElevatorSyncMsg'
- 'FpcOverrideMessage'
- 'TimeSnapshotMessage'
- 'EntityStateMessage'
- 'FpcPositionMessage'
- 'EncryptedMessageOutside'handler_whitelistis an allow-list. If it contains items, only those handlers are shown.ignored_handlershides specific handlers from handler logging.ignored_eventssuppresses specific event names.networklogging is controlled at runtime withgpdebug network start/stop.ignored_network_methodsandignored_network_messageshide specific network items.- Component names are case-sensitive (e.g.,
CharacterController,Rigidbody,Transform). searchuses case-insensitive partial matching, soDoorcan matchDoor,Door (1), andBreakableDoor.- Search result numbers start at 1.
gpdebug search <name> <number>teleports you to the numbered result shown by the same search. - Search output is limited to the first 50 results to keep the Remote Admin console readable.
- GoldenPig1205