-
Notifications
You must be signed in to change notification settings - Fork 0
Rust Plugin
esmith443 edited this page Jun 18, 2026
·
5 revisions
Install JSExtendedStats Oxide plugin on your Rust server.
- Locate
JSExtendedStats.csin projectrustfolder - Upload to Rust server:
oxide/plugins/JSExtendedStats.cs- Use SFTP or Pterodactyl File Manager
- Plugin auto-loads (check console)
Console shows:
Loaded plugin JSExtendedStats v3.2.0 by emma_smith
JSExtendedStats initialized and active
If you see "loaded but inactive", continue to configuration.
Plugin creates oxide/config/JSExtendedStats.json:
{
"ApiURL": "http://your-ip:3000/api/update",
"SecretKey": "get_from_database",
"ServerID": "1",
"Count suicide kills": false,
"Count environment kills": false,
"UntrackedPlayerIds": [],
"Advanced Logging": false,
"Wipe Stats Table On New Save": false
}ApiURL: Your web app address + /api/update
- Example:
http://123.45.67.89:3000/api/update - Must include
/api/updateat the end
SecretKey: From database ruststats_config table
- Run SQL:
SELECT secretkey FROM ruststats_config; - Or check admin panel
ServerID: Unique number for this Rust server
- Server 1 =
"1" - Server 2 =
"2" - Etc.
After editing config:
o.reload JSExtendedStats
Should show:
JSExtendedStats initialized and active
Requires jsextendedstats.admin permission.
jsstatstatus
Shows:
- Queued events count
- Tracked entities
- Plugin active/inactive
jsstatsave
Immediately sends queued stats to API.
jsstatclear
WARNING: Deletes unsent stats.
Grant admin permission:
o.grant user YourUsername jsextendedstats.admin
o.grant group admin jsextendedstats.admin
Exclude admins/moderators from stats:
- Get Steam64 ID
- Add to config:
"UntrackedPlayerIds": [
76561198012345678,
76561198087654321
]- Reload plugin
- Join Rust server
- Kill something, gather resources, loot a barrel
- Run
jsstatstatus- see queued events - Check web leaderboard for updates
- Run
jsstatsaveto force send
Plugin inactive after reload?
- Check
ApiURLis correct (include/api/update) - Verify
SecretKeymatches database - Enable
"Advanced Logging": truefor debug info
Stats not sending?
- Run
jsstatstatus- check queue count - Verify web app is running
- Test URL:
curl http://your-ip:3000 - Check firewall allows connection
Heartbeat failed?
- Web app must be accessible from Rust server
- Check PORT matches
- Verify no firewall blocking
See Troubleshooting for more help.
JSExtendedStats v3.2.0 | GitHub | Built for Pterodactyl Panel
JSExtendedStats Wiki
Getting Started
Components
Support