Current Event Plugins
- Required Dependencies:
- Optional Dependencies:
- Configuration File:
Event - Deathmatch for Rust | Oxide
Event - Headquarters for Rust | Oxide
Team Deathmatch for Rust | Oxide
GunGame for Rust | Oxide
Chopper Survival for Rust | Oxide
Capture The Flag for Rust | Oxide
Last Man Standing Event for Rust | Oxide
Slasher for Rust | Oxide
Event Manager is just a part of a much larger puzzle. This is the core functionality of the arena system however it requires other plugins to run.
It requires EMInterface which is the control system for all events!
Customizable event setup and saving
Custom death screens
Multiple Event games
Changeable game modes (turn any game into battlefield)
Fully automated process for player
Too much to list here!
--- Player Commands ---
/event join - Join an open event
/event leave - Leave the current event
--- Event Commands ---
/event start - Starts the currently selected event config (providing it has already been opened)
/event end - Ends the game currently being played
event - Displays the help menu with a list of available commands
event open - Open a event
event cancel - Cancel a open event
event start - Starts the currently opened event
event end - Ends the currently playing event
event launch - Launches auto events
event battlefield - Toggles battlefield mode
event classselector - Toggles the ability to use the class selector
event config "name" - Load the settings from a previously created event config
event config list - List all available event configs
event enemies <amount> - Set the amount of enemies in the event (if applicable to the event)
event game "game name" - Select the event type (tdm, gungame etc)
event kit "kit name" - Select the kit for the event (if applicable to the event)
event minplayers <amount> - Set the minimum players required for the event
event maxplayers <amount> - Set the maximum players allowed in the event
event rounds <amount> - Set the amount of rounds for this event (if applicable to the event)
event spawnfile "spawnfile name" - Set the main spawnfile for the event
event spawnfile2 "spawnfile name" - Set the secondary spawnfile for the event
event scorelimit <amount> - Set the scorelimit for the event (if applicable to the event)
event weaponset "weaponset name" - Set the weapon set for the event (if applicable to the event)
event zone <zoneid> - Set the event zone
There is a setup process you must follow prior to running an event.
What is a event config?
- Download EventManager and EMInterface and any event plugins you wish to run.
- Create the spawnfile(s) for the event you wish to run using => Spawns Database for Rust | Oxide (See below for more information)
- Create a zone around your arena => Zones Manager for Rust | Oxide (See below for more information)
- Create atleast 1 kit for your arena. (See below for more information)
- Optional: Prepare a event config using EMInterface. This is easiest done ingame via the GUI menu (further instructions in the EMInterface menu)
- Otherwise you may run events using just the console commands
- You are now ready to run an event
A event config is a premade set of game options/rules for a event. You can create as many as you wish and they will be saved for use at a later time. You can do this via the GUI menu and this is the easiest option for running any event. More information will be in the EMInterface overview
Zones are an important part of moderating events. You can find more detailed information on creating zones on the ZoneManager overview. Here I will give a brief example.
- Find the area in which you want to create an arena
- Use the command '/zone_add'. This will create a zone on your position.
- Change the size of the zone using '/zone radius XX' replacing XX with the radius of the zone (eg 30)
- Further edit the zone to manage what happens in the zone. A common zone setup for an arena would include; "/zone undestr true nobuild true notp true nocorpse true nodeploy true no kits true nobleed true". You can find out more about the various flags and what they do in ZoneManagers overview
- Take note of the ZoneID and add it to your event config/auto event config
Spawnfiles are a necessary part of events. They determine where the player will respawn after death and at the beginning of a event. Here is a brief example on how to create a spawnfile
- Type /spawns_new
- Walk to a location where you would like a spawnpoint and type '/spawns_add'
- Repeat this to create as many spawn locations as you want
- When done type '/spawns_save <filename>' be sure to remember this file name as you will need to to configure events
Kits are needed in one way or another. Use the Kits plugin to create kits for your event players to use in combat. As stated above you can use 1 kit for all, or create multiple and use the class selector. Here is a brief example on creating a kit and more information can be found on the Kits overview
Running the Event
- Spawn the items you want in the kits and have them in your inventory
- Type '/kit add <kitname>' This will create the base kit.
- You must then select the options for the kit. Some common options for an arena kit are '/kit hide true authlevel 2 items'
You can run a event in a few different ways.
Running a event via EMInterface
The easiest and most appealing is the use the GUI menu provided by EMInterface (more instructions in its overview)
Running a event via console commands
While it is possible to create events via console commands I highly recommend you use the GUI menu to create event configs, then use those event configs via console commands
Running Auto-Events (requires premade event configs)
Using the GUI menu provided by EMInterface you can set up a list of premade event configs to run on a continous loop (more information in the EMInterface overview)
Rewards and prizes
The old reward system has been removed and replaced with ServerRewards for Rust | Oxide which was made to handle the reward points (default). If you do not use server rewards there is also the option to issue coins using Economics for Rust | Oxide .
You can change between the 2 in the config, with reward amounts being changed in the individual event plugin configs
What happens to players when they join the arena?
When a player is teleported to the arena their health, hunger, thirst, location and inventory are saved. Once the event is over all players will have their stats and inventory restored and they will be teleported back to the location they were at prior to the arena
What is all this console spam about event configs when the plugin loads !?!?!
When EventManager loads it will attempt to automatically create temporary event configs using the information provided in each events config file. If the information specified is incorrect or invalid it will display what needs to be changed in order for this process to complete.
This is NOT a necessary step, it just makes it a little easier
Custom death screens
In EventManager players never actually "die", they are put in a fake death state. There are a few options regarding this.
The first and most popular is the spectate-death screen. What this does is drops a fake corpse where the player "died" and forces the player into spectate mode on the corpse whilst they are awaiting respawn. Once the player respawns the corpse is destroyed.
This mode is the default death mode, however the corpse can be de-activated if you wish, in which case the user will specatate nothing
Alternatively, you can disable those features and use the option of un-networking the player from the other players. This is the faster of the 2 methods performance wise - however - this give the player the ability to continue walking around while they wait to respawn. Other players will not see the dead players and the cannot interact with each other.
DropCorpseOnDeath - Enabled will drop a corpse on the players position
UseSpectateMode - Enabled will force the player to spectate their corpse, disabled will put them in the un-networked state
"AnnounceEvent": true, // Announce when a event has been opened
"AnnounceEvent_During": true, // Announce the event to non-event players during a event (providing entry is not closed)
"AnnounceEvent_Interval": 120, // Annoucement interval (seconds)
"AllowClassSelectionOnDeath": true, // Allows users to switch class when the death screen appears (requires a respawn type other then NONE)
"Battlefield_Timer": 1200, // Time (seconds) a battlefield game will run
"DropCorpseOnDeath": true, // More information above
"EventPrestartTimer": 30, // The time in seconds from when players are moved to the arena before it starts (requires UseEventPrestart set to true)
"LaunchAutoEventsOnStartup": false, // Automatically launch auto-events when the plugin has loaded (requires auto-events to be setup)
"UseEconomicsAsTokens": false, // Give rewards via Economics, otherwise it defaults to giving RP for ServerRewards
"UseEventPrestart": true, // Activates a pre-start timer before the event starts to allow players to spawn in properly
"UseSpectateMode": true // More information above
(void) JoinedEvent(BasePlayer player) // Called when a user joins a event
(void) LeftEvent(BasePlayer player) // Called when a user leave a event
(bool) isPlaying(BasePlayer player) // Returns true if user is in a event
(string) GetUserClass(BasePlayer player) // Returns a string with the users current class name
(JObject) GetUserStats(string userId) // Returns a JObject containing the users statistics.
//Available stats: "ChoppersKilled", "Deaths", "FlagsCaptured", "GamesLost", "GamesPlayed", "GamesWon", "Kills", "Name", "Rank", "Score", "ShotsFired"
(JObject) GetAllStats() // Returns a JObject of all user ID's as keys, with another JObject as the value containing the users statistics
(JObject) GetGameStats() // Returns a JObject containing global game statistics
//Available Stats: "ChoppersKilled", "FlagsCaptured", "TotalDeaths", "TotalGamesPlayed", "TotalKills", "TotalPlayers", "TotalShotsFired"
(JObject) GetGamesPlayed() // Returns a JObject containing event types as keys, and the amount of time's that game has been played as the value
@Reneb - He is the genius who created the original EventManager, with out him none of this would even exist!
-> Donate to Reneb <-
If you like what I have done with the plugin you can buy me a beer by hitting that 'Support The Developer' button!