k1lly0u
A versitile arena event plugin

Supported Games

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!

Features

  • Automated events
  • Changeable game modes (turn any game into battlefield)
  • Class selection
  • Customizable event setup and saving
  • Custom death screens
  • Fully automated process for player
  • Multiple Event games
  • Rewards/prizes
  • ... too much to list here!

Dependencies

  • Kits (required)
  • Spawns Database (required)
  • Rust:IO Friendly Fire (optional)

Event Plugins

  • Capture The Flag for Rust
  • Chopper Survival for Rust
  • Deathmatch for Rust
  • GunGame for Rust
  • Headquarters for Rust
  • Last Man Standing Event for Rust
  • Slasher for Rust
  • Team Deathmatch for Rust

Chat Commands

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

Console Commands

  • 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 _ - 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 _ - Set the minimum players required for the event
  • _event maxplayers _ - Set the maximum players allowed in the event
  • _event rounds _ - 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 _ - 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 _ - Set the event zone

Event Setup

There is a setup process you must follow prior to running an event.

  1. Download Event Manager and EMInterface and any event plugins you wish to run.
  2. Create the spawnfile(s) for the event you wish to run using => Spawns Database for Rust (see below for more information)
  3. Create a zone around your arena => Zones Manager for Rust (see below for more information)
  4. Create atleast 1 kit for your arena (see below for more information)
  5. Optional: Prepare a event config using EMInterface. This is easiest done ingame via the GUI menu (further instructions in the EMInterface menu)
  6. Otherwise you may run events using just the console commands
  7. You are now ready to run an event

Creating Zones

Zones are an important part of moderating events. You can find more detailed information on creating zones on the Zone Manager 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 Zone Manager's overview
  • Take note of the ZoneID and add it to your event config/auto event config

Creating Spawnfiles

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

  1. Type /spawns_new
  2. Walk to a location where you would like a spawnpoint and type /spawns_add
  3. Repeat this to create as many spawn locations as you want
  4. When done type /spawns_save be sure to remember this file name as you will need to to configure events

Creating Kits

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

  1. Spawn the items you want in the kits and have them in your inventory
  2. Type /kit add, this will create the base kit.
  3. You must then select the options for the kit. Some common options for an arena kit are /kit hide true authlevel 2 items

Running the Event

You can run a event in a few different ways.

Running a event via EMInterfaceThe easiest and most appealing is the use the GUI menu provided by EMInterface (more instructions in its overview)

Running a event via console commandsWhile 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 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. You can change between the 2 in the config, with reward amounts being changed in the individual event plugin configs

Custom Death Screens

In Event Manager, 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.

In conclusion:

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

Configuration

{
  "Messaging": {
    "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)
    "MainColor": "#FF8C00",
    "MsgColor": "#939393"
  },
  "Options": {
    "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)
    "Required_AuthLevel": 1,
    "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
  }
}

Developer API

(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

FAQ

What is a event config?

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.

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.

Credits

  • Reneb, he is the genius who created the original Event Manager, without him none of this would even exist!
    Download
    Donate
    4.1K downloads
    127 watchers

    eventsapi