LAB/05 — INVENTORY
LagSnitch
- Price
- $19.99
- Version
- v1.0.4
- Author
- S³Founding MemberTrusted Dev
Changelog
v1.0.420 Aug 2026
No notes for this release.
The problem
Rust gives you a tick rate number and nothing else. When it drops, you are left guessing: is it entities, is it turrets, is it one player's industrial spaghetti, is it a plugin, is it the save?
So the usual fix is a restart, then another restart, then a wipe, and you never find out what it was. Meanwhile your players feel every second of it.
What LagSnitch does
Watches the server continuously and attributes the cost.
By grid square. The top offending grids, ranked, so you can fly to the problem instead of guessing at it.
By player. /lagsnitch player <name> gives you one person's entity footprint — what they have built, how much of it costs, and their ping.
By entity type. IO entities, industrial, turrets, storage, vehicles, NPCs, building blocks — counted, ranked, and shown against the thresholds you set.
By subsystem. Server manager update, net cycle, physics sync, player cycle — the millisecond cost of each, so "the server is lagging" becomes "the net cycle is eating 40ms".
By spike. The lag spike profiler records RPCs, commands and RCON calls that blew past your millisecond thresholds, so a one-second freeze leaves evidence instead of a memory.
It tells you before your players do
Set a warning and a critical tick rate. When the server crosses critical, LagSnitch can take an automatic snapshot — the full picture at the moment it went bad — and post to your Discord webhook. You read the diagnosis in the morning instead of reconstructing the night.
A HUD, not just chat spam
/lagsnitch ui opens a live performance HUD you can drag where you want it and expand for detail. Admins get it by default; give your moderators lagsnitch.view and they get it too, without the commands that change anything.
Features
- Continuous monitoring on an interval you set
- Top grids, top owners and top entity types, all ranked
- Per-player entity footprint and ping report
- Subsystem millisecond breakdown — server manager, net cycle, physics, player cycle
- Lag spike profiler for RPC, command and RCON calls over your thresholds
- Work queue profiler
- Network profiler with per-connection stats and optional packet capture
- Memory and GC report, save timing report
- Manual and automatic snapshots, with history you can page back through
- Discord webhook alerts on critical events
- Draggable, resettable live HUD with per-player positions
- Three permissions, so read-only staff never get the destructive commands
- Oxide and Carbon
- No dependencies
Commands
/lagsnitch on its own prints the help. Available to lagsnitch.view and lagsnitch.admin.
| Command | Access | Description |
|---|---|---|
/lagsnitch health | view | Tick rate, frame rate, entity counts against your thresholds |
/lagsnitch grid | view | Top offending grid squares |
/lagsnitch player <name|steamid> | view | One player's entity footprint and ping |
/lagsnitch entities | view | Entity types ranked by cost |
/lagsnitch subsystems | view | Millisecond cost per server subsystem |
/lagsnitch spikes | view | Recent lag spikes and what caused them |
/lagsnitch network | view | Network and per-connection stats |
/lagsnitch memory | view | Memory use and GC collections |
/lagsnitch saves | view | Save duration history |
/lagsnitch ui | view | Toggle the live HUD |
/lagsnitch reset | view | Reset your HUD position |
/lagsnitch snapshot | admin | Take a full snapshot now |
Permissions
| Permission | Effect |
|---|---|
lagsnitch.admin | Everything, including snapshots and profiler controls |
lagsnitch.view | Read-only reports and the HUD |
lagsnitch.alerts | Receives in-game alerts when thresholds are crossed |
Configuration
{
"Monitoring": {
"CheckIntervalSeconds": 10.0,
"TopGridCount": 10,
"TopOwnerCount": 10,
"TopEntityTypeCount": 10
},
"LagThresholds": {
"TickRateWarning": 20.0,
"TickRateCritical": 15.0,
"FrameRateWarning": 30.0,
"AutoSnapshotOnCritical": true,
"HighPingThresholdMs": 150,
"EntityCountWarning": 400000
},
"SnapshotSettings": { "EnableHistory": true, "MaxSnapshotsStored": 50 },
"DiscordWebhook": { "Enabled": false, "Url": "" },
"ProfilingFeatures": {
"EnableLagSpikeProfiler": true,
"EnableWorkQueueProfiler": true,
"MaxSpikeEventsShown": 20
},
"RuntimeProfiler": {
"Preset": 1,
"RpcLagSpikeThresholdMs": 40,
"CommandLagSpikeThresholdMs": 40,
"RconLagSpikeThresholdMs": 40
},
"NetworkProfiler": {
"EnablePerConnectionStats": false,
"ConnectionsPerFrame": 30,
"EnablePacketCapture": true,
"PacketCaptureDefaultSecs": 10
},
"Hud": {
"RefreshIntervalSeconds": 3.0,
"AllowViewPermission": true,
"AnchorMin": "0.35 0.85",
"AnchorMax": "0.65 0.85"
}
}One thing to decide deliberately
RuntimeProfiler.Preset is 1 out of the box, which turns on Facepunch's own profiler recorders and gives you the GC and allocation detail. Presets 1 and 2 upload performance telemetry to Facepunch's servers. Set it to 0 if that is not something you want, and the rest of the plugin still works.
Requirements
Oxide or Carbon. No dependencies.
Support
Every purchase comes with the private updates channel in our Discord and updates for the life of the plugin. Your licence key and download live on your purchases page the moment payment clears.