Rust Fireworks Show

EXCLUSIVE RUST PLUGIN Rust Fireworks Show 1.0.7

Upgrade or register to download
Advanced fireworks show system plugin for Rust game servers - Customizable scheduling, loot drops, and intelligent spawn placement.

Rust Fireworks Show​


โœจ Features​

๐ŸŽฏ Core Functionality​

  • ๐ŸŒ™ Two Independent Schedulers - Time-based shows (specific hours) + Automatic shows (fixed intervals)
  • ๐ŸŽจ Random Colors - Each firework randomly selects from 5 vibrant colors (Champagne, Green, Blue, Violet, Red)
  • ๐Ÿ“ Smart Spawn Placement - Spawn near players, at monuments, or fully random map locations
  • ๐Ÿ—บ๏ธ Monument Support - 29 whitelisted safe, above-ground monuments (airfield, harbor, radtown, etc.)
  • โš™๏ธ Flexible Positioning - Manual player location, specific coordinates, or automatic placement
  • ๐Ÿ’ฐ Loot Drops - Configurable probability and item quantities that fall from explosions
  • ๐ŸŽช Visual Feedback - Green map markers show show locations in real-time
  • ๐Ÿ”„ Dual Firing Modes - Cumulative staggered delays (natural) or independent random (chaotic)

โšก Advanced Options​

  • ๐Ÿšซ Water Detection - Prevent spawning in water bodies (optional)
  • โฐ Time Window Support - Overnight time windows (e.g., 7:50 PM to 7:50 AM)
  • ๐ŸŽฒ Probability Control - Independent dice roll chances for each scheduler type
  • ๐Ÿ‘ฅ Player Proximity - Shows can spawn around active players or completely random
  • ๐Ÿ“Š Grid References - Console logging with Rust map grid coordinates
  • ๐ŸŽ›๏ธ Server Time - Uses server game time (not local machine time)



๐Ÿ“ฆ Installation​

Installation Steps​

  1. Download rFireworkShow.cs from the latest release
  2. Place in your Rust server's oxide/plugins/ directory
  3. Reload the plugin or restart your server
  4. Configure settings in the generated oxide/config/rFireworksShow.json
Note: This plugin has no external dependencies. Monument data uses native Rust APIs (TerrainMeta.Path.Monuments) and works on vanilla and custom maps.


โš™๏ธ Configuration​

The plugin auto-generates a configuration file at oxide/config/rFireworksShow.json. Below is the complete default config:
{
"Minimum online players required to spawn a show (0 = disabled)": 0,
"EnableMapMarkers": true,
"EnableStaggeredFireMode": true,
"EnableLootDrops": false,
"LootDropChance": 50.0,
"LootDropItems": {
"gunpowder": { "min": 3, "max": 5 },
"cloth": { "min": 3, "max": 5 },
"charcoal": { "min": 3, "max": 5 },
"metal.fragments": { "min": 3, "max": 5 }
},
"SpawnAtRandomPlayersMapLocation": false,
"OnlySpawnOnLand": true,
"AllowWaterMonuments": true,
"OnlySpawnAtMonuments": false,
"SpreadRadius": 30.0,
"HeightOffset": 30.0,
"PlayerSelectionRadius": 500.0,
"AutomaticShowsEnabled": false,
"AutomaticShowsIntervalMinSeconds": 3600.0,
"AutomaticShowsIntervalMaxSeconds": 7200.0,
"AutomaticShowsFireworksMin": 1,
"AutomaticShowsFireworksMax": 6,
"AutomaticShowsDiceRollChancePercent": 50,
"TimeBasedShowsEnabled": true,
"TimeBasedShowsFireworksMin": 6,
"TimeBasedShowsFireworksMax": 60,
"TimeBasedStartHour": 19.50,
"TimeBasedShowEndHour": 7.50,
"TimedShowIntervalMinSeconds": 15.0,
"TimedShowIntervalMaxSeconds": 30.0,
"TimeBasedShowsDiceRollChancePercent": 75
}



๐ŸŽจ Display & Effect Settings​


OptionDefaultDescription
Minimum online players required to spawn a show (0 = disabled)0Skip shows if online player count is below this threshold; 0 disables the check (applies to both schedulers)
EnableMapMarkerstrueDisplay green map markers at firework show locations
EnableStaggeredFireModetrueCumulative staggered delays (natural) vs independent random delays (chaotic)
EnableLootDropsfalseDrop loot items when fireworks explode
LootDropChance50.0Percentage chance (0-100) for loot per firework
LootDropItemsSee JSONDictionary of item names with min/max quantities
SpawnAtRandomPlayersMapLocationfalseSpawn near random players (true) or fully random map (false)
OnlySpawnOnLandtruePrevent spawning in water bodies
AllowWaterMonumentstrueAllow water monuments (oil rigs, fishing villages) to spawn - 50% chance in random mode
OnlySpawnAtMonumentsfalseOnly spawn at whitelisted monuments
SpreadRadius30.0Radius around center point for firework spread
HeightOffset30.0Height above ground to spawn fireworks
PlayerSelectionRadius500.0Radius around player to center show


๐Ÿค– Automatic Show Settings​


OptionDefaultDescription
AutomaticShowsEnabledfalseEnable traditional scheduled shows
AutomaticShowsIntervalMinSeconds3600.0Minimum seconds between automatic shows (1 hour)
AutomaticShowsIntervalMaxSeconds7200.0Maximum seconds between automatic shows (2 hours)
AutomaticShowsFireworksMin1Minimum fireworks per show
AutomaticShowsFireworksMax6Maximum fireworks per show
AutomaticShowsDiceRollChancePercent50Spawn probability (0-100%)


๐ŸŒ™ Time-Based Show Settings​


OptionDefaultDescription
TimeBasedShowsEnabledtrueEnable time-based shows
TimeBasedShowsFireworksMin6Minimum fireworks per show
TimeBasedShowsFireworksMax60Maximum fireworks per show
TimeBasedStartHour19.50Start time (19:50 = 7:50 PM) - format: HH.MM
TimeBasedShowEndHour7.50End time (07:50 = 7:50 AM) - format: HH.MM
TimedShowIntervalMinSeconds15.0Minimum seconds between attempts
TimedShowIntervalMaxSeconds30.0Maximum seconds between attempts
TimeBasedShowsDiceRollChancePercent75Spawn probability during time window (0-100%)


๐ŸŽช Available Firework Colors​

The plugin randomly selects one color per firework from:
ColorPrefab
๐ŸŸจ Champagnemortarchampagne.prefab
๐ŸŸฉ Greenmortargreen.prefab
๐ŸŸฆ Bluemortarblue.prefab
๐ŸŸช Violetmortarviolet.prefab
๐ŸŸฅ Redmortarred.prefab



๐Ÿ’ฌ Commands​

๐ŸŽฎ Chat Commands​

/fs [count] - Manual Show Trigger​

Code:
Spawn fireworks at your player location
Requires: Admin
Optional: Firework count (default: config value)
Example: /fs 10 โ†’ Spawns 10 fireworks


/fs x y z [count] - Show at Coordinates​

Code:
Spawn fireworks at specific map coordinates
Requires: Admin
Example: /fs 1000 100 2000 15 โ†’ Spawns 15 fireworks at those coords


/fsrand - Random Show (Test Mode)​

Code:
Test automatic show behavior with random center point
Requires: Admin
Uses same logic as scheduled automatic shows
Picks random player proximity or random map location


/fsrand local - Show at Your Feet​

Code:
Spawn fireworks at your current location (for testing)
Requires: Admin
Useful for testing effects and positioning


/fsrand x y z - Random Show at Coordinates​

Code:
Spawn fireworks with show logic at specific coordinates
Requires: Admin
Example: /fsrand 1000 100 2000 โ†’ Random show at those coords


/fstoggle - Toggle Automatic Shows​

Code:
Enable/disable automatic scheduled shows on-the-fly
Requires: Admin
Toggles: AutomaticShowsEnabled setting
Messages: "automatic shows are now ENABLED" or "DISABLED"
Saves config and restarts scheduler


๐Ÿ–ฅ๏ธ Console Commands​

rf.reload - Reload Configuration​

Code:
Reload plugin settings without restarting server
Usage: Can be run from server console or by admins in-game
Effect: Restarts show scheduler with new settings



๐Ÿ” Permissions​

Admin-Only - All commands and features require server admin status (IsAdmin check).


๐Ÿ“– How It Works​

๐ŸŒ™ Time-Based Shows​

When TimeBasedShowsEnabled is enabled:
  1. Check Time Window - Continuously monitors if current time is between TimeBasedStartHour and TimeBasedShowEndHour
  2. Wait Outside Window - If outside time range, scheduler pauses and checks again
  3. Roll Dice Inside Window - When inside time window, rolls dice with TimeBasedShowsDiceRollChancePercent chance
  4. Spawn Show - If dice succeeds, spawns show at configured location type
  5. Repeat - Tries again every TimedShowIntervalMinSeconds to TimedShowIntervalMaxSeconds (randomized)
Example: With defaults (19:50-7:50, 75% chance, 15-30 second intervals):
  • Between 7:50 PM and 7:50 AM: attempts every 15-30 seconds with 75% success rate
  • Between 7:50 AM and 7:50 PM: scheduler sleeps (no attempts)

๐Ÿค– Automatic Shows​

When AutomaticShowsEnabled is enabled:

  1. Check Players - If Minimum online players required to spawn a show is > 0, skips if online count is below threshold
  2. Wait Interval - Pauses for AutomaticShowsIntervalMinSeconds to AutomaticShowsIntervalMaxSeconds (randomized)
  3. Roll Dice - Rolls dice with AutomaticShowsDiceRollChancePercent chance
  4. Spawn Show - If dice succeeds, spawns show at configured location type
  5. Repeat - Cycle continues indefinitely
Note: Both schedulers run independently and simultaneously. You can enable/disable either one without affecting the other.

๐Ÿ“ Spawn Location Logic​

The plugin determines spawn locations based on these settings (in order):

  1. Monument Spawning - If OnlySpawnAtMonuments is true, randomly picks one of 29 whitelisted monuments
  2. Player Proximity - If SpawnAtRandomPlayersMapLocation is true, spawns near a random active player
  3. Random Map - Falls back to random map location
  4. Water Check - If OnlySpawnOnLand is true, validates location isn't in water (retries up to 40 times)
  5. Final Fallback - Uses center of map if all else fails


๐Ÿ“Š Console Output​

The plugin logs all shows to server console with helpful information:
Code:
Local Show[21.82]: Grid(R13) - Location(782.99, 51.10, 168.09) with 6 fireworks.[/FONT][/COLOR][/FONT][/FONT][/COLOR][/FONT][/FONT][/COLOR][/FONT][/FONT][/COLOR][/FONT]
[FONT=Mona Sans VF][COLOR=rgb(240, 246, 252)][FONT=Monaspace Neon][FONT=Mona Sans VF][COLOR=rgb(240, 246, 252)][FONT=Monaspace Neon][FONT=Mona Sans VF][COLOR=rgb(240, 246, 252)][FONT=Monaspace Neon][FONT=Mona Sans VF][COLOR=rgb(240, 246, 252)][FONT=Monaspace Neon]Random Show: Grid(H5) - Monument(Airfield) with 15 fireworks.
AutomaticShow: Grid(A1) - Location(50.00, 80.00, 120.00) with 3 fireworks.
TimeBasedShow[19.50]: Monument(Harbor) - Grid(M8) with 12 fireworks.


Format Breakdown​


ComponentDescription
Show TypeLocal Show, Random Show, AutomaticShow, or TimeBasedShow
[Time]Server game time in brackets (TimeBasedShow only)
Grid(XY)Rust map grid reference (A-Z columns, 0-25+ rows)
Monument(Name)Monument name (only when OnlySpawnAtMonuments enabled)
Location(x,y,z)Precise coordinates (only when monuments disabled)
FireworksTotal fireworks in this show

Technical Details:
  • Grid calculations use Rust's MapHelper API for accuracy
  • Times use server game time (TOD_Sky.Instance.Cycle.Hour) not local machine time
  • Times match the in-game time shown to players for precise scheduling


๐Ÿ’ก Tips & Configuration Guide​

๐ŸŽจ Loot Drop System​

How It Works:
  • Each firework has an independent LootDropChance roll
  • On success, randomly picks one item type from LootDropItems dictionary
  • Rolls quantity between min/max for that item
  • Loot spawns 200 feet above firework location and falls naturally to ground
Configuration Examples:
Conservative (rare drops):
"LootDropChance": 25.0,

"LootDropItems": {
"gunpowder": { "min": 1, "max": 2 },
"cloth": { "min": 1, "max": 2 }
}

Generous (common drops):
"LootDropChance": 100.0,

"LootDropItems": {
"gunpowder": { "min": 5, "max": 10 },
"cloth": { "min": 5, "max": 10 },
"charcoal": { "min": 5, "max": 10 },
"metal.fragments": { "min": 10, "max": 20 }
}



โฐ Firing Modes​

Staggered Mode (Enabled by Default):

  • Fireworks fire with cumulative delays of 0.1-1.5 seconds between each
  • Creates natural, chaotic rhythm (more realistic)
  • Show duration varies based on cumulative delays
  • Better for immersion and visual appeal
Independent Mode:

  • Each firework fires with independent random delay (0-2 seconds)
  • Creates unpredictable pattern
  • All fireworks complete in ~2 seconds
  • Better for rapid-fire effects

๐Ÿ—บ๏ธ Monument Spawning​

Whitelisted Safe Monuments (29 total):

  • Large: airfield_1, excavator_1, launch_site_1, military_tunnel_1, powerplant_1, trainyard_1, water_treatment_plant_1
  • Medium: bandit_town, compound, junkyard_1, nuclear_missile_silo, radtown_small_3
  • Small: fishing_village_a/b/c, gas_station_1, harbor_1/2, lighthouse, mining_quarry_a/b/c, oilrig_1/2, satellite_dish, sphere_tank, stables_a/b, supermarket_1, warehouse
  • Special: arctic_research_base_a, desert_military_base_a/b/c/d, ferry_terminal_1
Note: These monuments were selected to prevent underground spawns (excludes caves, bunkers, power substations, etc.)
Water Monuments: The following monuments are on water and require AllowWaterMonuments: true to spawn (default: true):

  • fishing_village_a, fishing_village_b, fishing_village_c (coastal villages)
  • oilrig_1, oilrig_2 (oil platforms)
  • During random spawning (/fsrand), water monuments have a 50% chance to be selected when enabled

๐Ÿ‘ฅ Player Proximity Spawning​

When SpawnAtRandomPlayersMapLocation is enabled:

  • Randomly picks one active player
  • Generates random angle around player (0-360ยฐ)
  • Random distance from player (0 to PlayerSelectionRadius units)
  • Creates shows near players for better engagement

โณ Time Format​

Time values use decimal HH.MM format:
TimeValue
7:50 AM7.50
12:00 PM12.00
7:50 PM19.50
11:59 PM23.59

Overnight Windows: The plugin correctly handles overnight time windows (e.g., 19:50-7:50 spans across midnight):

  • 7:50 PM to midnight โœ“
  • Midnight to 7:50 AM โœ“


๐Ÿ“ž Support & Community​



๐ŸŽฎ Development & Testing Server​

Darktidia Solo Only - See Rust Fireworks Show 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.
Author
Ftuoil
First release
Last update

Ratings

0.00 star(s) 0 ratings

More downloads from Ftuoil

Latest Updates

  1. Rust Fireworks Show

    Updated for the July Rust update.

Similar resources

Rust Always Day Ftuoil
Rust Always Day is a lightweight Rust server plugin that automatically skips nighttime periods
Rust Raid Protection Ftuoil
Configurable raid protection at the cost of a resource charged periodically
Back
Top