- Required Dependencies
-
https://umod.org/plugins/rust-kits
https://umod.org/plugins/zone-manager
https://umod.org/plugins/spawns-database
https://umod.org/plugins/image-library
https://chaoscode.io/resources/chaosnpc.216/ - For NPC Survival event
A multi-arena plugin capable of running many instances of various events at the same time.
Features
- Run multiple events of various types at the same time
- Run events as single or round based games
- Event statistics and leader boards
- Optional event access from a lobby area, or anywhere on the map
- Restores player back to their prior state when leaving a event
- Customizable UI colors and images
Events
Free for All
Team Deathmatch
Survival
Team Survival
Gun Game
One in the Chamber
Capture the Flag
NPC Survival
Slasher
Infected
About the plugin
This plugin collection contains into 3 core pieces, and individual plugins for each event
Arena.cs - This is the backbone of the plugin that manages the events
ArenaUI.cs - This is for the UI side of things and manages everything UI related
ArenaStatistics.cs - This manages the database of player scores and event statistics for leader boards and such
The first thing players see when opening the menu is the event mode selection screen. Here they can select which event mode they would like to player.
In this screenshot all the available events are shown, however you can hide unused event types in this menu via the ArenaUI configuration file.
Inside the event menu players will be able to see all the events for the selected mode that are currently running. When they view a individual event additional details about the event and the current game scores will be shown. If a player wishes to join an event they simply click the "Enter Event" button.
Upon entering an event the player will be able to move around freely until the minimum amount of players needed to start the event has been reached. Once that happens a UI countdown will begin.
When the countdown expires players will be respawned with gear and the event will begin.
There is a small UI scoreboard in the top right hand corner and a message notifying players they can access the in-game menu by typing /menu. This menu contains 2-3 buttons (depending on the game type) and a small logo
When a player dies they will be presented with a death screen which has a respawn button (with the amount of time left before they can respawn), a toggle button to allow them to auto-respawn when they die, and if enabled a class selection section for them to pick a new class.
There are options in the config to drop the ammunition from the players held weapon, or the weapon itself upon death. This will be useful for enemy players to re-stock their ammo during an event.
This is also tied into the RotatingPickups plugin (if you have it) to make those items hover and allow collision pickup, without enabling all items on the server or in that zone to hover
Once the event has ended the players be teleported back to either the lobby (if enabled) or back to the position they were when they joined the event and they can view the scoreboard via the menu
Event Lobby
You can create a lobby area and enforce players use the lobby to access events. This is a optional feature.
To create a lobby you will need to create a zone around the lobby area, and create a spawnfile for the lobby spawn points.
In the Arena configuration file there is a section for the lobby, in here you can enable/disable the lobby feature and set the zone and spawn file.
Players can also teleport to the lobby using the command /lobby
Creating Events
Creating events is a simple. Prior to opening the event creation menu you first must create your zone, kits, and spawn file(s).
Once you have the necessary pieces ready to go you can create the event by typing /menu and opening the "Admin" section.
This will open the event creation menu where you can select your event type, set a name and basically fill out all the fields needed to create an event.
There are 3 types of entries in the creation menu;
Text input fields - Click on the field to start editing, when you are done hit the enter key on your keyboard. To clear the field click the "X" button on the end
Selection fields - Opens another panel and presents you with options to select from a list of values
Toggle fields - Simple on/off toggle
When creating a event some of these values are required and others are not. If you have not filled out all the required information you will be prompted to do so when you attempt to save the event.
The fields shown will vary between each event type.
A couple of notable fields are;
"Event Name" - This is the name of the event players will see
"Permission" - If you assign a permission to this field players will require said permission to be able to enter the event. Event permissions should be prefixed with "arena."
"Event Icon" - This should be a URL to a image. By setting a value in this field you will display a custom event icon in the event selection menu.
* Be aware that any background plugins that have UI that is refreshing (such as LustyMap or InfoPanel) cause the input fields to reset. To stop this simply disable any refreshing UI before entering the creation menu!
Creating GunGame Events
GunGame is a little different then the other events. It uses one kit that will be the players clothing and gear (with no weapons). It also requires that you create a "weapon set".
A Weapon Set is a list of weapons that correlate to the ranks of GunGame.
To create a weapon set you use the command "/aggset" for usage instructions
Event Statistics
The statistic menu provides an abundance of score related information. It is broken into 3 categories.
Personal - These are statistics related to the player only. It shows counts for their total kills, deaths, assists, head shots, melee kills, wins, losses, and games played. It also shows how many times they have played each available game mode.
Global - These are global statistics, exactly the same as the personal section how ever its a total count from every player who has played an event
Leaderboard - This is the leaderboard for every player who has played an event. Each player is assigned a ranked score based on the combination of all their score counts. They are then moved into order and the player is assigned a rank. On this page you can view stats for every player who has played in the events and their current rank.
You can sort the leader boards by clicking on any score title
Arena Teleporters
You can setup teleporter triggers that players can simply walk in to to join an event.
These triggers can be placed anywhere on the map.
These triggers are event specific, and show information about the event as the player approaches it. When the player walks into the trigger it enters them in to that event.
To setup a arena teleporter for a event simply use the command "/teleporter add "Event Name"'. This will create a teleporter on your current position and is saved to that event.
Every time that event loads it will automatically restore the teleporter.
To remove a arena teleporter use the command "/teleporter remove "Event Name""
Commands
/menu - Open the event menu
/teleporter add "Event Name" - Create an arena teleporter for the specified event on your position
/teleporter remove "Event Name" - Remove the arena teleporter for the specified event
/lobby - Allows players to teleport to the event lobby (if setup)
/lobbyc - Cancel a pending lobby TP request
Weapon Set Commands
/aggset- Show help creating weapon sets
/aggset new - Start creating a new weapon set
/aggset edit <name> - Edits the specified weapon set
/aggset delete <name> - Deletes the specified weapon set
/aggset list - Lists all available weapon sets
/aggset add <opt:rank> - Adds the weapon you are holding to the weapon set. If you specify a rank the weapon will be inserted at that position
/aggset remove <number> - Removes the specified rank from the weapon set
/aggset ranks - List the weapons and ranks in the weapon set
/aggset save <name> - Saves the weapon set you are currently editing
Permissions
arena.admin - Required to access the event creation menu
Arena Config
ArenaUI Config
Features
- Run multiple events of various types at the same time
- Run events as single or round based games
- Event statistics and leader boards
- Optional event access from a lobby area, or anywhere on the map
- Restores player back to their prior state when leaving a event
- Customizable UI colors and images
Events
Free for All
Team Deathmatch
Survival
Team Survival
Gun Game
One in the Chamber
Capture the Flag
NPC Survival
Slasher
Infected
About the plugin
This plugin collection contains into 3 core pieces, and individual plugins for each event
Arena.cs - This is the backbone of the plugin that manages the events
ArenaUI.cs - This is for the UI side of things and manages everything UI related
ArenaStatistics.cs - This manages the database of player scores and event statistics for leader boards and such
The first thing players see when opening the menu is the event mode selection screen. Here they can select which event mode they would like to player.
In this screenshot all the available events are shown, however you can hide unused event types in this menu via the ArenaUI configuration file.
Inside the event menu players will be able to see all the events for the selected mode that are currently running. When they view a individual event additional details about the event and the current game scores will be shown. If a player wishes to join an event they simply click the "Enter Event" button.
Upon entering an event the player will be able to move around freely until the minimum amount of players needed to start the event has been reached. Once that happens a UI countdown will begin.
When the countdown expires players will be respawned with gear and the event will begin.
There is a small UI scoreboard in the top right hand corner and a message notifying players they can access the in-game menu by typing /menu. This menu contains 2-3 buttons (depending on the game type) and a small logo
When a player dies they will be presented with a death screen which has a respawn button (with the amount of time left before they can respawn), a toggle button to allow them to auto-respawn when they die, and if enabled a class selection section for them to pick a new class.
There are options in the config to drop the ammunition from the players held weapon, or the weapon itself upon death. This will be useful for enemy players to re-stock their ammo during an event.
This is also tied into the RotatingPickups plugin (if you have it) to make those items hover and allow collision pickup, without enabling all items on the server or in that zone to hover
Once the event has ended the players be teleported back to either the lobby (if enabled) or back to the position they were when they joined the event and they can view the scoreboard via the menu
Event Lobby
You can create a lobby area and enforce players use the lobby to access events. This is a optional feature.
To create a lobby you will need to create a zone around the lobby area, and create a spawnfile for the lobby spawn points.
In the Arena configuration file there is a section for the lobby, in here you can enable/disable the lobby feature and set the zone and spawn file.
Players can also teleport to the lobby using the command /lobby
JSON:
"Lobby Options": {
"Force event access from a physical lobby": false,
"Lobby spawnfile": "",
"Lobby zone ID": "",
"Lobby kit (only applies if event only server)": "",
"Lobby teleportation options": {
"Allow teleportation to the lobby (Requires a lobby spawn file)": false,
"Allow teleportation if Raid Blocked (NoEscape)": false,
"Allow teleportation if Combat Blocked (NoEscape)": false,
"Allow teleportation if bleeding": false,
"Allow teleportation if building blocked": false,
"Allow teleportation if on the CargoShip": false,
"Allow teleportation if in a HotAirBalloon": false,
"Allow teleportation if on the OilRig": false,
"Allow teleportation if mounted": false,
"Teleportation countdown timer": 10,
"Teleportation cooldown timer": 60
}
},
Creating Events
Creating events is a simple. Prior to opening the event creation menu you first must create your zone, kits, and spawn file(s).
Once you have the necessary pieces ready to go you can create the event by typing /menu and opening the "Admin" section.
This will open the event creation menu where you can select your event type, set a name and basically fill out all the fields needed to create an event.
There are 3 types of entries in the creation menu;
Text input fields - Click on the field to start editing, when you are done hit the enter key on your keyboard. To clear the field click the "X" button on the end
Selection fields - Opens another panel and presents you with options to select from a list of values
Toggle fields - Simple on/off toggle
When creating a event some of these values are required and others are not. If you have not filled out all the required information you will be prompted to do so when you attempt to save the event.
The fields shown will vary between each event type.
A couple of notable fields are;
"Event Name" - This is the name of the event players will see
"Permission" - If you assign a permission to this field players will require said permission to be able to enter the event. Event permissions should be prefixed with "arena."
"Event Icon" - This should be a URL to a image. By setting a value in this field you will display a custom event icon in the event selection menu.
* Be aware that any background plugins that have UI that is refreshing (such as LustyMap or InfoPanel) cause the input fields to reset. To stop this simply disable any refreshing UI before entering the creation menu!
Creating GunGame Events
GunGame is a little different then the other events. It uses one kit that will be the players clothing and gear (with no weapons). It also requires that you create a "weapon set".
A Weapon Set is a list of weapons that correlate to the ranks of GunGame.
To create a weapon set you use the command "/aggset" for usage instructions
Event Statistics
The statistic menu provides an abundance of score related information. It is broken into 3 categories.
Personal - These are statistics related to the player only. It shows counts for their total kills, deaths, assists, head shots, melee kills, wins, losses, and games played. It also shows how many times they have played each available game mode.
Global - These are global statistics, exactly the same as the personal section how ever its a total count from every player who has played an event
Leaderboard - This is the leaderboard for every player who has played an event. Each player is assigned a ranked score based on the combination of all their score counts. They are then moved into order and the player is assigned a rank. On this page you can view stats for every player who has played in the events and their current rank.
You can sort the leader boards by clicking on any score title
Arena Teleporters
You can setup teleporter triggers that players can simply walk in to to join an event.
These triggers can be placed anywhere on the map.
These triggers are event specific, and show information about the event as the player approaches it. When the player walks into the trigger it enters them in to that event.
To setup a arena teleporter for a event simply use the command "/teleporter add "Event Name"'. This will create a teleporter on your current position and is saved to that event.
Every time that event loads it will automatically restore the teleporter.
To remove a arena teleporter use the command "/teleporter remove "Event Name""
Commands
/menu - Open the event menu
/teleporter add "Event Name" - Create an arena teleporter for the specified event on your position
/teleporter remove "Event Name" - Remove the arena teleporter for the specified event
/lobby - Allows players to teleport to the event lobby (if setup)
/lobbyc - Cancel a pending lobby TP request
Weapon Set Commands
/aggset- Show help creating weapon sets
/aggset new - Start creating a new weapon set
/aggset edit <name> - Edits the specified weapon set
/aggset delete <name> - Deletes the specified weapon set
/aggset list - Lists all available weapon sets
/aggset add <opt:rank> - Adds the weapon you are holding to the weapon set. If you specify a rank the weapon will be inserted at that position
/aggset remove <number> - Removes the specified rank from the weapon set
/aggset ranks - List the weapons and ranks in the weapon set
/aggset save <name> - Saves the weapon set you are currently editing
Permissions
Arena uses Oxides permission system
To assign a user permission use oxide.grant user "username|steam id" "permission" in console.
To assign a group permission use oxide.grant group "groupname" "permission" in console.
You can read more about how to use the permission system here : uMod - Permissions
To assign a user permission use oxide.grant user "username|steam id" "permission" in console.
To assign a group permission use oxide.grant group "groupname" "permission" in console.
You can read more about how to use the permission system here : uMod - Permissions
Arena Config
JSON:
{
"Server Settings": {
"Restore players when they leave an event": true,
"Disable server events (Patrol Helicopter, Cargo Ship, Airdrops etc)": false,
"Use inbuilt chat manager": false
},
"Event Options": {
"Create and add players to Rusts team system for team based events": true,
"Drop on death (Nothing, Ammo, Backpack, Corpse, Weapon)": 2,
"Add rotator to dropped items (Requires RotatingPickups)": false,
"Invincibility time after respawn (seconds)": 3.0,
"Blacklisted commands for event players": [
"s",
"tp"
],
"Restart the event when it finishes": false,
"Automatic Health Restore Options": {
"Enable automatic health restoration": false,
"Start restoring if no damage taken for x seconds": 5.0,
"Amount of health to restore every second": 2.5
}
},
"Lobby Options": {
"Force event access from a physical lobby": false,
"Lobby spawnfile": "",
"Lobby zone ID": "",
"Lobby kit (only applies if event only server)": "",
"Lobby teleportation options": {
"Allow teleportation to the lobby (Requires a lobby spawn file)": false,
"Allow teleportation if Raid Blocked (NoEscape)": false,
"Allow teleportation if Combat Blocked (NoEscape)": false,
"Allow teleportation if bleeding": false,
"Allow teleportation if building blocked": false,
"Allow teleportation if on the CargoShip": false,
"Allow teleportation if in a HotAirBalloon": false,
"Allow teleportation if on the OilRig": false,
"Allow teleportation if mounted": false,
"Teleportation countdown timer": 10,
"Teleportation cooldown timer": 60
}
},
"Timer Options": {
"Match pre-start timer (seconds)": 10,
"Round interval timer (seconds)": 10,
"Backpack/corpse despawn timer (seconds)": 30
},
"Message Options": {
"Broadcast when a player joins an event to event players": true,
"Broadcast when a player leaves an event to event players": true,
"Broadcast the name(s) of the winning player(s) to chat": true,
"Broadcast kills to event players": true,
"Chat icon Steam ID": 76561198403299915
},
"Version": {
"Major": 2,
"Minor": 0,
"Patch": 0
}
}
ArenaUI Config
JSON:
{
"Commands": {
"Chat command to open the event menu": "menu",
"Chat command to open the statistics menu": "stats",
"Chat command to open the admin menu": "menu.admin"
},
"Images": {
"Death screen background image": "https://www.rustedit.io/images/arena/arena_death_screen.png",
"Default event icon image": "https://www.rustedit.io/images/arena/arena_event_placeholder.png",
"Server banner image": "https://www.rustedit.io/images/arena/arena_server_banner.png",
"Server logo image": "https://www.rustedit.io/images/arena/arena_logo_small.png",
"Exit icon": "https://www.rustedit.io/images/arena/arena_exit.png",
"Return icon": "https://www.rustedit.io/images/arena/arena_return.png",
"Respawn icon": "https://www.rustedit.io/images/arena/arena_respawn.png",
"Statistics icon": "https://www.rustedit.io/images/arena/arena_statistics.png",
"Events icon": "https://www.rustedit.io/images/arena/arena_events.png",
"Admin icon": "https://www.rustedit.io/images/arena/arena_admin.png"
},
"Hide unused event types": false,
"Menu Colors": {
"Background Color": {
"Hex": "#000000",
"Alpha": 0.9
},
"Panel Color": {
"Hex": "#2c2c2c",
"Alpha": 1.0
},
"Button Color": {
"Hex": "#222222",
"Alpha": 1.0
},
"Highlight Color": {
"Hex": "#9b2021",
"Alpha": 1.0
}
},
"Scoreboard Colors": {
"Background Color": {
"Hex": "#000000",
"Alpha": 0.9
},
"Foreground Color": {
"Hex": "#252526",
"Alpha": 0.8
},
"Panel Color": {
"Hex": "#2d2d30",
"Alpha": 0.8
},
"Highlight Color": {
"Hex": "#9c2021",
"Alpha": 0.8
},
"Screen Position": {
"Center Position X (0.0 - 1.0)": 0.9325,
"Center Position Y (0.0 - 1.0)": 0.98,
"Panel Width": 0.125,
"Panel Height": 0.02,
"UI4": {
"xMin": 0.87,
"yMin": 0.97,
"xMax": 0.995,
"yMax": 0.99
}
}
},
"Version": {
"Major": 2,
"Minor": 0,
"Patch": 0
}
}