Requirements
- Lethal's ServerEvents Plugin - This plugin requires Lethal's ServerEvents to work
- mcrcon - RCON client for sending commands to servers
Features
- Random Event Scheduling - Automatically triggers random events at configurable intervals
- Multi-Server Support - Manage events across multiple maps/servers from a single config
- Random Spawn Locations - Specify multiple CCC coordinates for each event type
- Discord Notifications - Logs event starts to Discord via webhook
- Cross-Server Broadcasts - Notify players on other maps when events start
- Configurable Timings - Set min/max times for startup delays and event intervals
Configuration
Code:
{
"Debug": true, // Enable debug logging
"MCRconPath": "C:\\path\\to\\mcrcon.exe", // Path to mcrcon executable
"DiscordWebhook": "", // Discord webhook URL for notifications
"ServerEventsCommand": "ServerEvents.start", // RCON command prefix for ServerEvents plugin
// Server Configuration - Add one entry per server
"ServerKey": { // Unique identifier for this server (e.g., "ZA_The_Island_1")
"Serverlabel": "Display Name", // Friendly name shown in broadcasts
"StartEventOnBootSettings": {
"MinimumTimeToWait": 10, // Minimum minutes to wait after boot before first event
"MaximumTimeToWait": 30 // Maximum minutes to wait after boot before first event
},
"TimeBetweenEvents": {
"MinimumTimeToNextEvent": 120, // Minimum minutes between events
"MaximumTimeToNextEvent": 180 // Maximum minutes between events
},
"RconSettings": {
"RconIP": "server.ip.address", // Server IP address
"RconPort": 12345, // RCON port
"RconPassword": "your_password" // RCON password
},
"RandomEvents": { // Events that can spawn on this server (leave empty for broadcast-only servers)
"GammaBroodmother": { // Event key - must match ServerEvents plugin config
"Eventlabel": "Gamma Broodmother", // Display name for the event
"RandomCCCs": [ // Array of spawn locations (X Y Z) - one picked randomly
"-210327 89761 -10435",
"-250062 101503 -11507",
"-278973 208831 -12197"
]
},
"BetaBroodmother": {
"Eventlabel": "Beta Broodmother",
"RandomCCCs": [
"-210327 89761 -10435",
"-250062 101503 -11507"
]
}
// Add more events as needed...
}
},
// Message Templates
"BroadcastStartEventMessage": "broadcast <RichColor Color=\"0, 1, 0, 1\">Event {Eventlabel} Will start in 60 Min</>\n<RichColor Color=\"0, 1, 0, 1\">Server: {Serverlabel}</>\n<RichColor Color=\"0, 1, 0, 1\">Location: {Lon} - {Lat}</>", // In-game broadcast (supports RichColor)
"DiscordBroadcastMessage": "Event: {Eventlabel} Will Start in 60 Min\nServer: {Serverlabel}\nLocation: {Lon} - {Lat}", // Discord notification message
"DiscordBroadcastHeader": "**{Serverlabel}** __Events__", // Header for Discord embed
"DiscordWebhookColor": "16711680" // Discord embed color (decimal)
}
Message Placeholders
| Placeholder | Value ||-------------|-------|
|
{Eventlabel} | The event's display name ||
{Serverlabel} | The server's display name ||
{Lon} | Longitude coordinate ||
{Lat} | Latitude coordinate |
How It Works
1. On server boot, waits a random time between
MinimumTimeToWait and MaximumTimeToWait minutes2. Picks a random event from the server's
RandomEvents list3. Picks a random location from that event's
RandomCCCs array4. Sends RCON command to start the event via ServerEvents plugin
5. Broadcasts notification to all configured servers
6. Posts to Discord webhook
7. Waits a random time between
MinimumTimeToNextEvent and MaximumTimeToNextEvent minutes8. Repeats from step 2
Notes
- Servers with empty
RandomEventswill not trigger any events but can still receive broadcast notifications - The event key (e.g.,
GammaBroodmother) must match the event name configured in the ServerEvents plugin - CCC coordinates are in Unreal Engine units (not GPS coordinates)
- Plugin SHould only be loaded on the Servers That have Event Configured