Skip to content

FtuoilXelrash/rServerMessages

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

26 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

rServerMessages

Rust Umod Version License

๐Ÿš€ The ultimate Discord integration for Rust servers - Advanced PvP combat analysis with headshot detection, granular death filtering, RCON security whitelist, comprehensive event tracking with rich embeds, bed/bag/towel rename monitoring with blacklist protection, C4 and rocket logging, F7 report tracking, player tracker with IP history, playtime tracking, connection analytics, Deep Sea event alerts with in-game notifications, and smart queue management.

rServerMessages Plugin Screenshot

Rich Discord embeds showing premium server events with detailed information and visual styling

rServerMessages Plugin Screenshot

Rich Discord embeds showing other server events with detailed information and visual styling

๐Ÿš€ Features

๐Ÿ“Š Comprehensive Event Tracking

  • Player Events - Connections, disconnections, deaths with detailed analytics
  • Chat Monitoring - Global and team chat with enhanced formatting
  • Admin Actions - RCON commands, bans, kicks, mutes with security tracking
  • Server Events - Startup, shutdown, and performance monitoring
  • Premium Plugin Events - Support for 15+ popular Rust plugins
  • Bed/Bag/Towel Rename Logging - Monitor sleeping bag, bed, and beach towel renames with blacklist protection (NEW v1.0.5)
  • C4 & Rocket Logging - Track explosive usage with NPC filtering (NEW v1.0.7)
  • F7 Report Logging - Log player reports with color-coded Discord embeds (NEW v1.0.8)
  • Player Tracker - Cumulative player database with IP history, geolocation, name tracking, playtime tracking, and connection analytics (NEW v1.0.9-1.0.11)
  • Deep Sea Alerts - Open/close alerts with 30 & 15 minute warnings, rich Discord embeds, and in-game chat notifications (NEW v1.0.15)

๐Ÿ’€ Elite Combat Analysis System (NEW v0.0.270)

  • ๐ŸŽฏ๐Ÿ’€ Headshot Detection - Special icons, titles, and priority alerts for headshots
  • ๐Ÿฉธ Body Part Tracking - Precise hit location (Head, Chest, Stomach, Arm, Leg)
  • โšก Smart Kill Classification - Headshots prioritized over high damage
  • ๐ŸŽ›๏ธ Granular Death Filtering - Individual toggles for PvP, PvE, suicide, drowning
  • ๐Ÿ“Š Enhanced Combat Stats - Weapon, damage with body part, distance analysis
  • ๐ŸŽฏ Kill Type Indicators - Devastating Headshot, Devastating Kill, Player Eliminated
  • ๐Ÿ“ Tactical Coordinates - Grid positions with instant teleport commands
  • ๐Ÿน Distance Mastery - Point blank to extreme range categorization

๐Ÿ” Advanced Security & Administration (Enhanced v0.0.270)

  • ๐Ÿšจ RCON Trusted IP Whitelist - Eliminate spam from known admin tools
  • โš ๏ธ Enhanced Security Alerts - Unknown IPs get prominent orange-red warnings
  • ๐ŸŒ RCON Command Monitoring - IP tracking with geolocation and country detection
  • ๐Ÿ‘ฅ User Management - Comprehensive ban, kick, unban logging with reasons
  • ๐Ÿ”‘ Permission Tracking - Real-time group and permission change monitoring
  • ๐Ÿ“Š Steam Profile Integration - Account age, profile status, activity tracking
  • ๐Ÿ—บ๏ธ Geographic Intelligence - Country detection with flag emojis
  • ๐Ÿ‘ค Admin Privacy Controls - Configurable admin activity filtering

๐Ÿ’ฌ Advanced Chat Features

  • Team Chat Enhancement - Team member status, locations, and structure
  • Chat Filtering - Integration with AntiSpam, UFilter, and BetterChatMute
  • Bang Command Filter - Suppress !command style chat from Discord (e.g. !wipe, !events) so plugin commands from other plugins are not logged
  • Rich Embeds - Enhanced team chat with player details and teleport commands
  • Profanity Filtering - Automatic content moderation support

๐ŸŽฎ Premium Plugin Integration

  • Air Events - Helicopter and air drop monitoring
  • Airfield Events - Military base activities
  • Arctic Base Events - Cold environment challenges
  • Armored Train Events - Train heist tracking
  • Gas Station Events - Fuel station activities
  • Supermarket Events - Shopping center events
  • Sputnik Events - Satellite activities
  • Raidable Bases - Base raids with difficulty tracking and completion status
  • Holiday Events - Christmas, Easter, Halloween with winner tracking

๐Ÿš€ Smart Queue Management

  • Rate Limiting Protection - Prevents Discord API abuse
  • Message Batching - Combines multiple messages for efficiency
  • Retry System - Automatic retry with exponential backoff
  • Error Recovery - Graceful handling of network issues
  • Queue Cooldown - Intelligent delay system for connection problems

๐ŸŽจ Rich Discord Integration

  • Advanced Embeds - Color-coded, structured messages with timestamps
  • Webhook Management - Multiple webhook support for different channels
  • Message Editing - Single updating messages to prevent spam
  • Custom Avatars - Bot customization with server branding
  • Field Organization - Structured information display
  • Thumbnail Support - Visual enhancement for better readability

๐Ÿ“‹ Requirements

  • Rust Dedicated Server
  • Umod (Oxide) framework
  • Discord webhook(s) for message delivery
  • Optional: Steam Web API key for enhanced player data
  • Optional: Supported premium plugins for event integration

๐Ÿ”ง Installation

  1. Download the latest release
  2. Copy rServerMessages.cs to your server's oxide/plugins/ directory
  3. The plugin will auto-generate its configuration file on first load
  4. Configure your Discord webhooks in oxide/config/rServerMessages.json
  5. Reload the plugin or restart your server

โš™๏ธ Complete Configuration Reference

The plugin creates a comprehensive configuration file at oxide/config/rServerMessages.json:

Global Settings

{
  "Global settings": {
    "Log to console?": false,
    "Use AntiSpam plugin on chat messages": false,
    "Use UFilter plugin on chat messages": false,
    "Filter ! commands from Discord (suppress bang-prefixed chat)": true,
    "Hide admin connect/disconnect messages": false,
    "Hide NPC death messages": false,
    "Include death coordinates in death messages": true,
    "Use Discord Embeds for death messages": true,
    "Use enhanced embeds for connections": true,
    "Show country information (requires internet)": true,
    "Show server population in connection messages": true,
    "Show combat details in death messages": true,
    "Use enhanced embeds for server messages": true,
    "Show kill distance in PvP deaths": true,
    "High damage threshold for special kills": 75.0,
    "Use enhanced embeds for RCON messages": true,
    "Replacement string for tags": "`",
    "Queue interval (1 message per ? seconds)": 1.0,
    "Queue cooldown if connection error (seconds)": 60.0,
    "Public Chat Webhook URL": "",
    "Private Admin Webhook URL": "",
    "Server Messages Webhook URL": "",
    "RCON command blacklist": [
      "serverinfo",
      "server.hostname",
      "server.headerimage",
      "server.description",
      "server.url",
      "playerlist",
      "status"
    ],
    "RCON trusted IPs (hide connections from these)": [
      "127.0.0.1",
      "::1"
    ],
    "Steam Web API Key (for profile data)": ""
  }
}

Discord Webhook Configuration

Setting Description Recommended Use
Public Chat Webhook URL Webhook for general chat messages Public channel for community chat
Private Admin Webhook URL Webhook for administrative events Private admin channel for security events
Server Messages Webhook URL Webhook for server events and plugins Public or private channel for server updates

Event Categories

All event categories can be individually enabled/disabled:

Player Events

  • Player death settings - Combat and death tracking
  • Player connect advanced info settings - Enhanced connection details
  • Player disconnect settings - Disconnection monitoring

Chat & Communication

  • Chat settings - Global and local chat monitoring
  • Chat (Team) settings - Team communication tracking

Administrative Events

  • User Banned settings - Ban/unban notifications
  • User Kicked settings - Kick notifications
  • User Muted settings - Mute/unmute tracking
  • User Name Updated settings - Name change monitoring with monthly log files
  • Permissions settings - Permission and group changes

Monitoring & Logging Events (NEW v1.0.5-1.0.8)

  • Bed Rename settings - Sleeping bag, bed, and beach towel rename tracking with optional blacklist
  • C4 Log settings - C4 explosive usage tracking with NPC filtering
  • Rocket Log settings - Rocket usage tracking (Regular, HV, Incendiary, MLRS) with NPC filtering
  • F7 Report Log settings - Player F7 report logging with color-coded report types
  • Player Tracker settings - Cumulative player database with IP history, geolocation, playtime tracking, and connection embed enhancement
  • Deep Sea settings - Deep Sea event open/close/warning alerts with Discord embeds and in-game chat

Server Management

  • Server state settings - Startup/shutdown notifications
  • Server messages settings - General server announcements
  • Rcon command settings - RCON command logging
  • Rcon connection settings - RCON access monitoring

Premium Plugin Events

  • Air Event settings - Helicopter events
  • Airfield Event settings - Military base activities
  • Arctic Base Event settings - Cold environment events
  • Armored Train Event settings - Train heist tracking
  • Gas Station Event settings - Fuel station activities
  • Supermarket Event settings - Shopping events
  • Sputnik Event settings - Satellite activities
  • Raidable Bases settings - Base raid tracking

Holiday Events

  • Christmas settings - Christmas event tracking
  • Easter settings - Easter hunt monitoring
  • Halloween settings - Halloween event tracking
  • SantaSleigh settings - Santa sleigh events

๐ŸŽฏ Elite PvP Combat Intelligence

๐ŸŽฏ๐Ÿ’€ HEADSHOT DETECTION ๐ŸŽฏ๐Ÿ’€
Advanced headshot recognition with body part analysis

๐Ÿ’€ Headshot Detection System

The plugin features advanced headshot detection for Rust servers:

๐ŸŽฏ๐Ÿ’€ Devastating Headshot!
**PlayerVictim** was eliminated by **SniperKing**

๐Ÿ’€ Elimination
Killer: SniperKing
Victim: PlayerVictim

๐Ÿ”ซ Combat Stats
Weapon: L96 Rifle
Damage: 95.4 ๐Ÿ’€ (Head shot)
Range: 187.2m (Sniper Range)
๐Ÿ’€ HEADSHOT ELIMINATION!
๐Ÿน Long Range Snipe!

๐Ÿฉธ Precision Body Part Analysis

Advanced hit location tracking:

  • ๐Ÿง  Head - Instant kill recognition with skull icons
  • ๐Ÿซ€ Chest - Torso hit detection
  • ๐Ÿซค Stomach - Mid-body impact zones
  • ๐Ÿฆต Arm - Limb damage tracking
  • ๐Ÿฆผ Leg - Lower body hit analysis

Smart Priority System:

  1. ๐ŸŽฏ๐Ÿ’€ Headshots - Always prioritized regardless of damage
  2. ๐ŸŽฏ High Damage - Configurable threshold hits
  3. โš”๏ธ Standard Kills - Regular eliminations

๐ŸŽ›๏ธ Granular Death Filtering (NEW!)

Perfect for specialized servers! Configure exactly which death types to broadcast:

"Player death settings": {
  "Enabled?": true,
  "Enable PvP deaths": true,     // โš”๏ธ Player vs Player
  "Enable PvE deaths": false,    // ๐Ÿป Animals & NPCs  
  "Enable suicide deaths": false, // ๐Ÿ”ซ Self-elimination
  "Enable drowning deaths": true  // ๐ŸŒŠ Water deaths
}

Use Cases:

  • PvP-Only Servers: Disable PvE/suicide spam
  • Hardcore Servers: Show only combat deaths
  • RP Servers: Filter out accidental deaths
  • Competitive: Focus on player skill showcases

๐Ÿšจ RCON Security Revolution (NEW!)

End RCON notification spam forever!

"RCON trusted IPs (hide connections from these)": [
  "127.0.0.1",      // ๐Ÿ  localhost IPv4
  "::1",            // ๐Ÿ  localhost IPv6  
  "192.168.1.100",  // ๐Ÿ—บ๏ธ Your admin panel
  "10.0.0.50"        // ๐Ÿ”ง Management tools
]

Smart Behavior:

  • โœ… Trusted IPs: Silent console logging, no Discord spam
  • ๐Ÿšจ Unknown IPs: Prominent security alerts with geolocation
  • ๐ŸŒ Enhanced Warnings: Orange-red embeds for suspicious access

Example Security Alert:

๐Ÿšจ RCON Connection from Unknown IP
โš ๏ธ Remote administration connection from untrusted IP address

๐ŸŒ Connection Details
IP Address: `203.45.67.89`
๐Ÿ“ Location: ๐Ÿ‡ท๐Ÿ‡บ Russia

๐Ÿ”’ Security Notice
โš ๏ธ This IP is not in your trusted whitelist
๐Ÿ›ก๏ธ Verify this connection is authorized

๐Ÿ›๏ธ Bed/Bag/Towel Rename Monitoring (NEW v1.0.5)

Configuration

"Bed Rename settings": {
  "Enabled?": true,
  "Log to file?": true,
  "Send Discord embed?": true,
  "Blacklist": {
    "Enabled?": true,
    "Block rename on blacklist match?": true,
    "Blacklisted Terms": ["term1", "term2", "term3"],
    "Blacklisted REGEXs": ["REGEX1", "REGEX2", "REGEX3"],
    "Leet Conversion Enabled?": true,
    "Leet Table": { "4": "a", "@": "a", "3": "e", "$": "s", "0": "o", ... }
  }
}

Features

  • Detects sleeping bag, bed, and beach towel renames via CanRenameBed hook
  • Blacklist system with simple term matching, regex patterns, and leet speak conversion
  • Blacklist matches send red alert embeds to Private Admin Webhook
  • Normal renames send orange info embeds to Private Admin Webhook
  • File logging uses monthly rollover: rServerMessages/BedRenameLog/BedRenameLog_2026-02.json
  • Logs include player, owner, deployer, item type, old name, new name, position, and timestamps

Discord Embed Example (Blacklist Alert)

๐Ÿšจ Bed Rename Blacklist Alert!
A blacklisted term was detected in a bed rename attempt

๐Ÿ›๏ธ Rename Details
Item Type: Sleeping Bag
New Name: badword123
Blacklist Terms Detected: badword

๐Ÿ‘ค Player Info
Player: SomePlayer (76561198000000000)
Owner: OwnerPlayer (76561198000000001)
Deployer: DeployerPlayer (76561198000000002)

๐Ÿ“ Location
Position: 123.4, 56.7, -890.1

๐Ÿ’ฃ C4 & Rocket Logging (NEW v1.0.7)

Configuration

"C4 Log settings": {
  "Enabled?": true,
  "Log to file?": true,
  "Send Discord embed?": true,
  "Hide NPC events?": true
},
"Rocket Log settings": {
  "Enabled?": true,
  "Log to file?": true,
  "Send Discord embed?": true,
  "Hide NPC events?": true
}

Features

  • C4 Logging - Tracks C4 explosive usage via OnExplosiveThrown hook
  • Rocket Logging - Tracks rocket launches via OnRocketLaunched hook
  • Detects rocket types: Regular, HV, Incendiary, MLRS
  • NPC filtering - Optional hide NPC/scientist explosive usage
  • File logging uses monthly rollover: rServerMessages/C4Log/C4Log_2026-02.json and rServerMessages/RocketLog/RocketLog_2026-02.json
  • Discord embeds sent to Private Admin Webhook

Discord Embed Example (C4)

๐Ÿ’ฃ C4 Deployed
A player has deployed C4 explosive

๐Ÿ‘ค Player Info
Player: RaiderGuy (76561198000000000)

๐Ÿ“ Location
Position: 456.7, 12.3, -234.5

โฐ Time
2026-02-15 14:30:45 UTC

๐Ÿ“‹ F7 Report Logging (NEW v1.0.8)

Configuration

"F7 Report Log settings": {
  "Enabled?": true,
  "Log to file?": true,
  "Send Discord embed?": true
}

Features

  • Captures all F7 player reports via OnPlayerReported hook
  • Color-coded Discord embeds by report type:
    • ๐Ÿ”ด Cheat reports - Red embed
    • ๐ŸŸ  Abusive reports - Orange embed
    • ๐ŸŸก Name reports - Yellow embed
    • โšช Spam reports - Grey embed
  • Individual file per report (not monthly accumulation since reports are rare)
  • File naming: rServerMessages/F7ReportLog/F7Report_2026-02-15_14-30-45.json
  • Logs include reporter info, target info, report type, subject, message, position, and timestamps

Discord Embed Example (Cheat Report)

๐Ÿšจ F7 Report: cheat
A player has submitted an F7 report

๐Ÿ‘ค Reporter Info
Reporter: HonestPlayer (76561198000000000)
Position: 123.4, 56.7, -890.1

๐ŸŽฏ Target Info
Target: SuspiciousPlayer (76561198000000001)

๐Ÿ“ Report Details
Type: cheat
Subject: Aimbot suspected
Message: This player hits impossible shots consistently

โฐ Time
2026-02-15 14:30:45 UTC

๐Ÿ‘ค Player Tracker (NEW v1.0.9-1.0.11)

Configuration

"Player Tracker settings": {
  "Enabled?": true,
  "Track IP history?": true,
  "Include geolocation with IPs?": true,
  "Show player history in connection embeds?": true,
  "Track playtime?": true,
  "Show server time in connection embeds?": true,
  "Show wipe time in connection embeds?": true
}

Features

  • Cumulative player database - Persistent data file that grows over time, never resets
  • Connection tracking - First seen, last seen, total connection count per player
  • IP history - Every unique IP a player has used, with first/last used timestamps
  • Geolocation - Country detection for each IP address (uses existing geo lookup)
  • Name tracking - Current name and all previous names automatically tracked
  • NPC filtering - Only tracks real Steam players, ignores NPCs
  • Playtime tracking (v1.0.10) - Lightweight, no timers:
    • Server Time - All-time cumulative playtime, never resets
    • Wipe Time - Playtime since last wipe, auto-resets on OnNewSave
    • Session time calculated on connect/disconnect (no 30s tick timers)
    • Periodic flush on OnServerSave to protect against crashes
    • Catches up players already connected on plugin reload
    • Smart formatting: 12h 45m under 24h, 6d 12h 45m over 24h
  • Local timezone display (v1.0.11) - First Seen timestamp automatically converted from UTC to server local time with timezone abbreviation (e.g. CST, CDT, EST). Automatically handles DST.
  • Enhanced connection embeds - Injects player history into the admin Discord connection message:
    • New players get a โš ๏ธ NEW PLAYER - First connection to this server! alert
    • Returning players show First Seen (local time), Connections, Known IPs, Previous Names, Server Time, Wipe Time

Storage

  • Persistent file: data/rServerMessages/PlayerTracker/PlayerTracker.json
  • Not monthly rollover - cumulative data kept forever

Discord Embed Example (Returning Player)

๐Ÿ”— Player Connected

๐Ÿ‘ค Player Details
Name: SomeGuy
Steam ID: 76561198000000000
IP Address: 1.2.3.4
Account Age: 2 years 3 months
Profile: Public
Location: ๐Ÿ‡บ๐Ÿ‡ธ United States

๐Ÿ“Š Player History
First Seen: 06-15-2025 9:30 AM CST
Connections: 47
Known IPs: 3
Previous Names: OldName123, AnotherName
Server Time: 6d 12h 23m
Wipe Time: 1d 2h 45m

Discord Embed Example (New Player)

๐Ÿ”— Player Connected

๐Ÿ‘ค Player Details
Name: FreshSpawn
Steam ID: 76561198000000000
IP Address: 5.6.7.8
Location: ๐Ÿ‡ฌ๐Ÿ‡ง United Kingdom

โš ๏ธ NEW PLAYER
First connection to this server!

๐ŸŒŠ Deep Sea Alerts (NEW v1.0.15)

Configuration

"Deep Sea settings": {
  "Enabled?": true,
  "Send Discord embed?": true,
  "Send in-game chat alerts?": true,
  "Alert 30 minutes before close?": true,
  "Alert 15 minutes before close?": true,
  "Alert on close?": true,
  "Wipe duration in seconds (default 10800 = 3 hours)": 10800.0
}

Features

  • Monitors the Deep Sea event via OnDeepSeaOpened and OnDeepSeaClosed hooks
  • Open alert - Notifies when the Deep Sea zone opens (dark turquoise embed)
  • 30 minute warning - Alert when ~30 minutes remain (yellow embed)
  • 15 minute warning - Alert when ~15 minutes remain (orange embed)
  • Close alert - Notifies when the Deep Sea zone closes (dark red embed)
  • Plugin reload support - On reload, detects if Deep Sea is already open and attempts to schedule warnings using reflection. Logs a warning to console if remaining time cannot be determined for that cycle.
  • In-game chat alerts - Deep blue colored messages broadcast to all players alongside Discord embeds
  • Configurable duration - Set Wipe duration in seconds to match your deepsea.wipeduration convar if changed from the default 3 hours
  • Discord embeds sent to Server Messages Webhook

Discord Embed Examples

๐ŸŒŠ Deep Sea Open                          (dark turquoise)
The Deep Sea is now open!
Head to the deep sea zone for loot and adventure.

๐ŸŒŠ Deep Sea Closing Soon                  (yellow)
The Deep Sea closes in approximately 30 minutes.
Finish up and head back before the zone closes!

๐ŸŒŠ Deep Sea Closing Soon                  (orange)
The Deep Sea closes in approximately 15 minutes.
Time to head back โ€” the zone is closing soon!

๐ŸŒŠ Deep Sea Closed                        (dark red)
The Deep Sea has closed.

In-Game Chat Alert Example

The Deep Sea is now open!               (dark turquoise text, no icon)
The Deep Sea closes in ~30 minutes!     (dark turquoise text, no icon)
The Deep Sea closes in ~15 minutes!     (dark turquoise text, no icon)
The Deep Sea has closed.                (dark turquoise text, no icon)

๐Ÿ“ Log File Organization (NEW v1.0.6)

All log files are organized in subfolders under oxide/data/rServerMessages/:

rServerMessages/
โ”œโ”€โ”€ PlayerNameChangeLog/
โ”‚   โ””โ”€โ”€ PlayerNameChangeLog_2026-02.json     (monthly rollover)
โ”œโ”€โ”€ BedRenameLog/
โ”‚   โ””โ”€โ”€ BedRenameLog_2026-02.json            (monthly rollover)
โ”œโ”€โ”€ C4Log/
โ”‚   โ””โ”€โ”€ C4Log_2026-02.json                   (monthly rollover)
โ”œโ”€โ”€ RocketLog/
โ”‚   โ””โ”€โ”€ RocketLog_2026-02.json               (monthly rollover)
โ”œโ”€โ”€ F7ReportLog/
โ”‚   โ””โ”€โ”€ F7Report_2026-02-15_14-30-45.json    (individual per report)
โ””โ”€โ”€ PlayerTracker/
    โ””โ”€โ”€ PlayerTracker.json                    (cumulative, persistent)

๐ŸŽฎ Advanced Features

Enhanced Death System

Combat Analytics

The plugin provides detailed combat information including:

Distance Categories:

  • Point Blank (< 3m) ๐Ÿ’ฅ
  • Close Quarters (3-15m)
  • Medium Range (15-50m)
  • Long Range (50-100m)
  • Sniper Range (100-200m) ๐Ÿน
  • Extreme Range (200m+)

Special Kill Indicators:

  • High Damage Hits (configurable threshold) ๐ŸŽฏ
  • Long Range Snipes ๐Ÿน
  • Point Blank Eliminations ๐Ÿ’ฅ

Death Types:

  • PvP (Player vs Player) โš”๏ธ
  • PvE (Player vs Environment) ๐Ÿป
  • Suicide ๐Ÿ”ซ
  • Drowning ๐ŸŒŠ
  • Environmental ๐Ÿ’€

Entity Recognition

The plugin recognizes 50+ entity types including:

NPCs & Animals:

  • Scientists, Heavy Scientists, Murderers
  • Bears, Wolves, Boars, Sharks
  • Tunnel Dwellers, Underwater Dwellers
  • Zombies, Gingerbread NPCs

Military & Vehicles:

  • Patrol Helicopters, Bradley APC
  • Attack Helicopters, Minicopters
  • Scrap Transport Helicopters

Defensive Structures:

  • Auto Turrets, Shotgun Traps
  • Flame Turrets, SAM Sites
  • Tesla Coils, Bear Traps, Landmines

Steam Profile Integration

When a Steam Web API key is configured, the plugin provides:

Account Information:

  • Account age with new account warnings โš ๏ธ
  • Profile visibility status (Public/Private)
  • Profile configuration status
  • Last activity tracking

Security Features:

  • New account detection (< 30 days)
  • Profile status validation
  • Recent activity monitoring

Geographic Information

IP Geolocation:

  • Country detection with flag emojis ๐ŸŒ
  • Automatic timezone consideration
  • Privacy-focused implementation

Team Chat Enhancement

Team Information Display:

  • Team member count and status
  • Online/Sleeping/Offline indicators ๐ŸŸข๐Ÿ’ค๐Ÿ”ด
  • Member locations with grid coordinates
  • Teleport commands for admin convenience

Status Indicators:

  • ๐ŸŸข Online - Active players
  • ๐Ÿ’ค Sleeping - Sleeping players
  • ๐Ÿ”ด Offline - Disconnected players

RCON Security Monitoring

Command Categorization:

  • ๐Ÿ”ง Server Configuration
  • โš ๏ธ Admin Actions (Critical)
  • ๐Ÿ“Š Information Queries
  • ๐ŸŽฎ Game Control Commands
  • โšก Other Commands

Security Features:

  • IP address tracking with geolocation
  • Critical action highlighting
  • Command blacklist support
  • Access pattern monitoring

๐Ÿ“ฑ Discord Setup Guide

Step 1: Create Discord Webhooks

For Public Chat:

  1. Go to your public Discord channel
  2. Right-click โ†’ "Edit Channel"
  3. Navigate to "Integrations" โ†’ "Webhooks"
  4. Click "New Webhook"
  5. Name: "Rust Server Chat"
  6. Copy webhook URL

For Admin Events:

  1. Go to your private admin Discord channel
  2. Follow same steps as above
  3. Name: "Rust Server Admin"
  4. Copy webhook URL

For Server Events:

  1. Go to your server updates Discord channel
  2. Follow same steps as above
  3. Name: "Rust Server Events"
  4. Copy webhook URL

Step 2: Configure Plugin

{
  "Global settings": {
    "Public Chat Webhook URL": "https://discord.com/api/webhooks/YOUR_PUBLIC_WEBHOOK_ID/YOUR_PUBLIC_TOKEN",
    "Private Admin Webhook URL": "https://discord.com/api/webhooks/YOUR_ADMIN_WEBHOOK_ID/YOUR_ADMIN_TOKEN",
    "Server Messages Webhook URL": "https://discord.com/api/webhooks/YOUR_SERVER_WEBHOOK_ID/YOUR_SERVER_TOKEN",
    "Steam Web API Key (for profile data)": "YOUR_STEAM_API_KEY_HERE"
  }
}

Step 3: Enable Events

Enable the events you want to monitor:

{
  "Player death settings": {
    "Enabled?": true,
    "Enable PvP deaths": true,
    "Enable PvE deaths": false,
    "Enable suicide deaths": false,
    "Enable drowning deaths": true
  },
  "Chat settings": {
    "Enabled?": true
  },
  "User Banned settings": {
    "Enabled?": true
  }
}

๐Ÿ”‘ Steam Web API Key Setup

Obtaining Your API Key

  1. Visit Steam Web API Key Registration
  2. Log in with your Steam account
  3. Enter your domain name (can be localhost for development)
  4. Copy the generated 32-character API key
  5. Add it to your configuration

Benefits of API Key

  • Account Age Detection - Identify new/suspicious accounts
  • Profile Status - Public vs private profiles
  • Activity Tracking - Recent login information
  • Enhanced Security - Better player vetting

๐ŸŽจ Discord Message Examples

๐ŸŽฏ๐Ÿ’€ Headshot Elimination Example (NEW!)

๐ŸŽฏ๐Ÿ’€ Devastating Headshot!
**TargetPlayer** was eliminated by **SniperElite**

๐Ÿ’€ Elimination
Killer: SniperElite
Victim: TargetPlayer

๐Ÿ”ซ Combat Stats
Weapon: Bolt Action Rifle
Damage: 156.8 ๐Ÿ’€ (Head shot)
Range: 203.5m (Extreme Range)
๐Ÿ’€ HEADSHOT ELIMINATION!
๐Ÿน Long Range Snipe!

๐Ÿ“ Death Location
Grid: K22
Position: 1247.3, 89.1, -2156.7
๐Ÿš Quick Teleport: `teleportpos 1247.3 89.1 -2156.7`

โš”๏ธ Standard PvP Kill Example

โš”๏ธ Player Eliminated
**CasualVictim** was eliminated by **RifleExpert**

๐Ÿ’€ Elimination
Killer: RifleExpert  
Victim: CasualVictim

๐Ÿ”ซ Combat Stats
Weapon: AK-47
Damage: 67.2 (Chest shot)
Range: 45.2m (Medium Range)

๐Ÿ“ Death Location
Grid: H14
Position: 234.5, 15.2, -156.8
๐Ÿš Quick Teleport: `teleportpos 234.5 15.2 -156.8`

Connection Message Example

๐Ÿ”— Player Connected

๐Ÿ‘ค Player Details
Name: NewPlayer
Steam ID: 76561198000000000
IP Address: 192.168.1.100
Account Age: 2 years 3 months
Profile: Public
Location: ๐Ÿ‡บ๐Ÿ‡ธ United States

Team Chat Example

๐Ÿ‘ฅ Team Chat

๐Ÿ‘ค Player Info
Player: TeamPlayer
Steam ID: 76561198000000000
Location: G15
Teleport: teleportpos 123.4 56.7 -890.1

๐Ÿ’ฌ Message
Need backup at my base, under attack!

๐Ÿ›ก๏ธ Team Information
Team ID: 1234567890
Team Size: 4
Team Members:
โ€ข TeamLeader - ๐ŸŸข Online
โ€ข TeamPlayer - ๐ŸŸข Online
โ€ข TeamMate1 - ๐Ÿ’ค Sleeping
โ€ข TeamMate2 - ๐Ÿ”ด Offline
Status Summary: 2 Online, 1 Sleeping, 1 Offline

RCON Command Example

๐Ÿ›ฐ๏ธ RCON Command - Admin Action

๐Ÿ’ป Command Executed
kick "BadPlayer" "Cheating"

๐ŸŒ Source IP
192.168.1.50

โš ๏ธ Severity
Critical Admin Action

๐Ÿ“ Location
๐Ÿ‡บ๐Ÿ‡ธ United States

๐Ÿ”„ Queue Management System

Smart Message Batching

  • Combines similar messages to reduce Discord API calls
  • Prevents rate limiting with intelligent delays
  • Maintains message order for chronological accuracy

Error Recovery

  • Automatic retries with exponential backoff (max 5 attempts)
  • Queue cooldown during connection issues
  • Graceful degradation when Discord is unavailable

Rate Limiting Protection

{
  "Queue interval (1 message per ? seconds)": 1.0,
  "Queue cooldown if connection error (seconds)": 60.0
}

๐Ÿ”ง Customization Options

Message Filtering

  • Admin Activity Hiding - Hide admin connections/disconnections
  • NPC Death Filtering - Hide non-player entity deaths
  • Chat Integration - Filter spam and profanity
  • Zero Value Hiding - Cleaner displays

Visual Customization

  • Embed Colors - Different colors for event types
  • Custom Icons - Emoji and icon customization
  • Field Organization - Structured information display
  • Timestamp Formatting - Consistent time display

Performance Tuning

For PvP-Focused Servers:

{
  "Player death settings": {
    "Enabled?": true,
    "Enable PvP deaths": true,
    "Enable PvE deaths": false,
    "Enable suicide deaths": false,
    "Enable drowning deaths": false
  },
  "High damage threshold for special kills": 60.0,
  "RCON trusted IPs (hide connections from these)": [
    "127.0.0.1", "::1", "YOUR_ADMIN_PANEL_IP"
  ]
}

For High Population Servers (100+ players):

{
  "Queue interval (1 message per ? seconds)": 2.0,
  "Queue cooldown if connection error (seconds)": 120.0,
  "High damage threshold for special kills": 85.0
}

For Roleplay/PvE Servers:

{
  "Player death settings": {
    "Enable PvP deaths": true,
    "Enable PvE deaths": true,
    "Enable suicide deaths": false,
    "Enable drowning deaths": true
  }
}

๐Ÿ› Troubleshooting

Discord Integration Issues

Messages Not Sending:

  1. Verify webhook URLs are valid
  2. Check webhook permissions in Discord
  3. Ensure events are enabled in configuration
  4. Monitor console for error messages

Rate Limiting:

Error: You are being rate limited
Solution: Increase "Queue interval" in configuration

Invalid Webhook:

Error: Invalid Webhook (404: Not Found)
Solution: Regenerate webhook URL in Discord

Steam API Issues

Invalid API Key:

Warning: Steam Web API Key appears to be invalid
Solution: Verify 32-character API key from Steam

Profile Data Missing:

  • Ensure API key is configured
  • Check internet connectivity
  • Verify Steam API service status

Plugin Conflicts

Chat Plugin Conflicts:

  • Configure AntiSpam integration settings
  • Adjust UFilter and BetterChatMute compatibility
  • Check plugin loading order

Performance Issues:

  • Reduce queue interval frequency
  • Disable unused event categories
  • Monitor server console for errors

Configuration Problems

Missing Event Categories:

# Reload plugin to regenerate missing settings
oxide.reload rServerMessages

Invalid JSON:

  • Use online JSON validator
  • Check for syntax errors
  • Verify quotation marks and commas

๐Ÿ“ˆ Performance Impact

Resource Usage

  • CPU Impact: < 0.5% on modern hardware
  • Memory Footprint: ~3-8 MB RAM usage
  • Network Overhead: Optimized Discord API usage
  • Disk I/O: Minimal configuration file access

Optimization Features

  • Event Filtering - Only process enabled events
  • Message Batching - Reduce API calls
  • Smart Caching - Efficient data reuse
  • Graceful Degradation - Handle errors without crashes

๐Ÿ”— Premium Plugin Compatibility

Verified Compatible Plugins

  • Air Event - Helicopter and airdrop events
  • Airfield Event - Military base activities
  • Arctic Base Event - Cold environment challenges
  • Armored Train Event - Train heist tracking
  • Gas Station Event - Fuel station activities
  • Supermarket Event - Shopping center events
  • Sputnik Event - Satellite activities
  • Raidable Bases - Base raid system with difficulty tracking
  • BetterChatMute - Advanced chat moderation
  • AntiSpam - Chat spam prevention
  • UFilter - Profanity filtering

Plugin Integration Benefits

  • Automatic Detection - Events are captured automatically
  • Rich Information - Detailed event data and context
  • Difficulty Tracking - Easy/Medium/Hard/Expert/Nightmare ratings
  • Winner Announcements - Holiday event completion tracking
  • Location Data - Grid coordinates for events

๐Ÿ“ž Support & Community

๐ŸŽฎ Development & Testing Server

Darktidia Solo Only - See rServerMessages and other custom plugins in action! All players are welcome to join our development server where plugins are tested and refined in a live environment.

  • Server: Darktidia Solo Only | Monthly | 2x | 50% Upkeep | No BP Wipes
  • Find Server: View on BattleMetrics

Experience the plugin live, test configurations, and provide feedback in a real gameplay setting.

๐Ÿค Contributing

We welcome contributions! Here's how to get started:

  1. Fork the Repository

    git clone https://github.com/FtuoilXelrash/rServerMessages.git
  2. Create Feature Branch

    git checkout -b feature/your-feature-name
  3. Follow Coding Standards

    • Use Umod Approval Guidelines
    • Add comprehensive error handling
    • Include configuration validation
    • Test with multiple plugins
  4. Submit Pull Request

    • Include detailed description
    • Test all event types
    • Update documentation if needed

Development Guidelines

  • Event Hook Testing - Verify all event categories
  • Discord Integration - Test webhook functionality
  • Queue Management - Verify message batching
  • Error Handling - Test network failure scenarios

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ‘จโ€๐Ÿ’ป Author

Ftuoil Xelrash

๐Ÿ†˜ Support

Getting Help

  1. Check Configuration: Verify all webhook URLs and settings
  2. Console Output: Monitor for error messages and warnings
  3. Event Testing: Enable individual event categories for testing
  4. Discord Permissions: Ensure webhook has message sending permissions

Issue Template

When reporting bugs, please include:

**Plugin Version:** 1.0.17
**Umod Version:** [Your Version]
**Server Population:** [Typical player count]
**Event Category:** [Which events are affected]
**Error Message:** [Full console output]
**Configuration:** [Relevant webhook and event settings]
**Premium Plugins:** [List any premium plugins installed]
**Steps to Reproduce:** [Detailed steps]

๐Ÿ”— Links

๐Ÿ† Recognition

Special thanks to:

  • Umod Team - For the excellent modding framework
  • Rust Community - For extensive testing and feedback
  • Premium Plugin Developers - For event integration support
  • Discord Community - For webhook testing and validation

๐Ÿ“Š Statistics

GitHub Downloads GitHub Stars GitHub Issues GitHub License

โญ Star this repository if you find it useful! โญ

About

Oxide plug-in for the Rust game server that tracks Server Messages and Events

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages