Admin Menu

Admin Menu 2.1.1

This plugin requires the Chaos extension -> https://chaoscode.io/resources/chaos.321/



Normal UI
60a8795f0f8b286439107da3b3f5b45a.jpg
e9167bb9d71bb3fd9fd9274093076e90.jpg
9e59cdcf49c3158c8340767cc40ee3a7.jpg
99c9033cbcc7667aec5c847bf8e49547.jpg
5b51aeeb7d63a1ac2986bb902a3c2abb.jpg
c4acda7d735192634cee53920244bac0.jpg
5da7592a1cbf6a745d2df1ecfc6261c9.jpg
c038a16ae606dff94f8352238d058b90.jpg
fbeeb2769b3a4b2da3a362fe632da1b4.jpg
2533c1198e8e33a308e8b850f5f2881f.jpg
3ee03879607c5a3a1955f5eb5560bbd1.jpg
21d70a05c3674cf4b07534209687a445.jpg
6aa8e450530680dc86b1c922b925f110.jpg



Rust styled UI (can be enabled in the config with the "Use alternate UI style" option)
efc31d755ee900f9cdcf33f1f6fa0f43.jpg
cfad4786a137761269419b0a74770d89.jpg
8933fac4af94065f0213d970cece1247.jpg
32584b431a333a3d69b556517ad43a40.jpg
607cc01958e6f0770374e641bd3213cd.jpg
dd2d2b5b2d7f0bb62d8d45231a910c42.jpg
d4dc58d37ea365ee06a8bafa81c7f984.jpg



Features
Admin menu is a ingame UI based menu that can be used for;
  • Managing permissions for both groups and individual players
  • Creating and removing Oxide usergroups
  • Clone Oxide usergroups while maintaining its permissions, and optionally clone group members
  • View users in usergroups
  • Add/remove users from usergroups
  • Edit server ConVars
  • Easily run chat or console command by the click of a button
  • Giving items to players
  • All permission based so you can give limited power to your admins
  • Search bars and character filters are provided on almost every page for quick access
  • Option to log all actions performed to a Discord webhook


Chat Command
/admin - Opens the menu. (Requires permission adminmenu.use)


Permissions
AdminMenu 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
adminmenu.use - Required to open the menu and access the commands section
adminmenu.permissions - Required to access the permission section
adminmenu.groups - Required to access the groups section
adminmenu.give - Required to access the Give menu
adminmenu.convars - Required to access the Convar menu
adminmenu.players - Required to access the Player Info menu

adminmenu.give.selfonly - Used to restrict the give menu to only allow users to give items to themselves



Commands Menu
60a8795f0f8b286439107da3b3f5b45a.jpg

(Requires permission adminmenu.use)
The commands menu is used to easily run plugin or server commands.

You can set up chat and console commands that can be run via the menu.

These commands are run as if the user is typing it themselves so any commands will need the relevant permission/authlevel to be run.

** NOTE ** The commands provided in the default config are only an example of how to set them up. It is up to you to customize this to suit your own needs

There are currently 4 variables you can put into the commands to make them target specific. They are;
Code:
{target1_name}
{target2_name}
{target1_id}
{target2_id}
By using the variable "{target1_name}" or "{target1_id}" in a command will trigger the player selection menu allowing you to select a target player for the command.
By using the variable {target2_name}" or "{target2_id}" in a command will trigger a second player selection menu allowing you to select a additional target player for the command.
The name variables will be replaced with the targets display name, and in-turn the ID variables will be replaced with the targets user ID.

An example of usage for 2 target players:
Teleporting Player1 to Player2 using the /tp command.
Code:
"/tp {target1_name} {target2_name}"

An example of usage for 1 player:
Teleporting to the target player using the /tp command.
Code:
"/tp {target1_name}"

An example of a command that does not require any targets:
Toggling god mode on yourself.
Code:
"/god"

I am happy to expand upon this with additional variables if you can think of any alternative use-cases



Permissions Menu
9e59cdcf49c3158c8340767cc40ee3a7.jpg
99c9033cbcc7667aec5c847bf8e49547.jpg

(Requires permission adminmenu.permissions)
The are 3 categories in the permissions menu.
View - This is just a list of all currently registered permissions

Player Permissions - This will open a player selection menu, once you have selected a player it will display all currently available permissions, with permissions that the player has being highlighted in green. You can then toggle permissions for the selected player by clicking the permission button.

Group Permissions - This will open a group selection menu, once you have selected a group it will display all currently available permissions, with permissions that the group has being highlighted in green. You can then toggle permissions for the selected group by clicking the permission button.



Groups Menu
5b51aeeb7d63a1ac2986bb902a3c2abb.jpg
c4acda7d735192634cee53920244bac0.jpg
5da7592a1cbf6a745d2df1ecfc6261c9.jpg
c038a16ae606dff94f8352238d058b90.jpg
fbeeb2769b3a4b2da3a362fe632da1b4.jpg

(Requires permission adminmenu.groups)
There are 4 categories in the groups menu.

List - This is a list of all groups, from here you can clone and delete usergroups

Create Group - This menu is used to create new groups. It has 3 input boxes (Name, Title and Rank). Upon filling in a box you must hit "ENTER" to register your input.
At the very least you need to specify a group name to create a new group.
Once you have filled in the details you can press the "Create" button to create the new group.

User Groups - This menu allows you to select a player and view all the usergroups they are in. You can also toggle the users groups

Group Users - This menu allows you to select a user group and view all the players in it. You can also remove users from the selected group

User Groups - This will open a player selection menu, once you have selected a player it will display all available groups, with groups that the player is in being highlighted in green. You can then toggle groups for the selected player by clicking the group button



Player Info Menu
e9167bb9d71bb3fd9fd9274093076e90.jpg

(Requires permission adminmenu.players)
The player info menu allows you to view current information about any player, and perform a number of predefined commands/actions on them.

This menu's permission system can optionally be broken down further to restrict user access to the functionality provided
To enable this feature set "Use different permissions for each section of the player administration tab" to true in the config.

The permissions for each element in the player info menu are;
adminmenu.players.kickban
adminmenu.players.mute
adminmenu.players.blueprints
adminmenu.players.hurt
adminmenu.players.heal
adminmenu.players.kill
adminmenu.players.strip
adminmenu.players.teleport



You can also customize this menu with additional commands that you set up in the config.
Each entry in this config is applied to a new row of buttons, and each command in those entries places that button on the next column.

This section of the config specifies a new row of buttons;
Code:
"Name": "Freeze", - This name is only for you benefit when editing the config. This name is not used in the plugin

"Commands" - This is the list of buttons to place on this row

Each command consists of a few options;

Code:
"RequiredPlugin" - If this field has a value the button will only appear in the menu if this plugin is present. If this field is empty there will be no check for the plugin. This name should be the file name of the plugin, the same name used when typing "o.reload xxx"

"RequiredPermission" - This is the permission the user needs to be able to run this command. You can set it to the required permission of the plugin you are targeting, or you can create your own permission prefixed with "adminmenu." which will register that new permission.
ex. "adminmenu.usefreeze"

"Command Type ( Chat, Console )" - Dictates whether this is a chat or console command

"Name" - This is what will be shown on the button

"Command" - This is the command that will be run. If it is a chat command make sure it starts with a slash. Commands here have the same arguments as the commands menu (see above)

"Description" - Is not used (only there due to class inheritance)

"CloseOnRun" - Closes the menu after running the command

Example of this in the config. This is 1 row with 2 buttons
JSON:
{
      "Name": "Freeze",
      "Commands": [
        {
          "RequiredPlugin": "Freeze",
          "RequiredPermission": "freeze.use",
          "Command Type ( Chat, Console )": "Chat",
          "Name": "Freeze",
          "Command": "/freeze {target1_id}",
          "Description": null,
          "CloseOnRun": false
        },
        {
          "RequiredPlugin": "Freeze",
          "RequiredPermission": "freeze.use",
          "Command Type ( Chat, Console )": "Chat",
          "Name": "Unfreeze",
          "Command": "/unfreeze {target1_id}",
          "Description": null,
          "CloseOnRun": false
        }
      ]
    }



ConVars Menu
2533c1198e8e33a308e8b850f5f2881f.jpg

(requires permission adminmenu.convars)
The convars menu is a list of all the server variables available. From here you can view, search and edit their current value



3ee03879607c5a3a1955f5eb5560bbd1.jpg
21d70a05c3674cf4b07534209687a445.jpg

Give Menu (requires permission adminmenu.give)
The give menu allows you to give items to any player

You can restrict this menu to only allow giving items to the user that is using the menu by granting them the permission adminmenu.give.selfonly



Config
The configuration file can be found in your server directory at .../oxide/config/AdminMenu.json
The use of an editor and validator is recommended to avoid formatting issues
JSON:
{
  "Chat Command List": [
    {
      "Name": "These are examples",
      "Command": "/example",
      "Description": "To show how to create your own",
      "CloseOnRun": false,
      "RequiredPermission": "adminmenu.example"
    },
    {
      "Name": "TP to 0 0 0",
      "Command": "/tp 0 0 0",
      "Description": "Teleport self to 0 0 0",
      "CloseOnRun": false,
      "RequiredPermission": "adminmenu.tp000"
    },
    {
      "Name": "TP to player",
      "Command": "/tp {target1_name}",
      "Description": "Teleport self to player",
      "CloseOnRun": false,
      "RequiredPermission": ""
    },
    {
      "Name": "TP P2P",
      "Command": "/tp {target1_name} {target2_name}",
      "Description": "Teleport player to player",
      "CloseOnRun": false,
      "RequiredPermission": ""
    },
    {
      "Name": "God",
      "Command": "/god",
      "Description": "Toggle god mode",
      "CloseOnRun": false,
      "RequiredPermission": ""
    }
  ],
  "Console Command List": [
    {
      "Name": "These are examples",
      "Command": "example",
      "Description": "To show how to create your own",
      "CloseOnRun": false,
      "RequiredPermission": ""
    },
    {
      "Name": "Set time to 9",
      "Command": "env.time 9",
      "Description": "Set the time to 9am",
      "CloseOnRun": false,
      "RequiredPermission": ""
    },
    {
      "Name": "Set to to 22",
      "Command": "env.time 22",
      "Description": "Set the time to 10pm",
      "CloseOnRun": false,
      "RequiredPermission": ""
    },
    {
      "Name": "TP P2P",
      "Command": "teleport.topos {target1_name} {target2_name}",
      "Description": "Teleport player to player",
      "CloseOnRun": false,
      "RequiredPermission": ""
    },
    {
      "Name": "Call random strike",
      "Command": "airstrike strike random",
      "Description": "Call a random Airstrike",
      "CloseOnRun": false,
      "RequiredPermission": ""
    }
  ],
  "Player Info Custom Commands": [
    {
      "Name": "Backpacks",
      "Commands": [
        {
          "RequiredPlugin": "Backpacks",
          "Command Type ( Chat, Console )": "Chat",
          "Name": "View Backpack",
          "Command": "/viewbackpack {target1_id}",
          "Description": null,
          "CloseOnRun": true,
          "RequiredPermission": "backpacks.admin"
        }
      ]
    },
    {
      "Name": "InventoryViewer",
      "Commands": [
        {
          "RequiredPlugin": "InventoryViewer",
          "Command Type ( Chat, Console )": "Chat",
          "Name": "View Inventory",
          "Command": "/viewinv {target1_id}",
          "Description": null,
          "CloseOnRun": true,
          "RequiredPermission": "inventoryviewer.allowed"
        }
      ]
    },
    {
      "Name": "Freeze",
      "Commands": [
        {
          "RequiredPlugin": "Freeze",
          "Command Type ( Chat, Console )": "Chat",
          "Name": "Freeze",
          "Command": "/freeze {target1_id}",
          "Description": null,
          "CloseOnRun": false,
          "RequiredPermission": "freeze.use"
        },
        {
          "RequiredPlugin": "Freeze",
          "Command Type ( Chat, Console )": "Chat",
          "Name": "Unfreeze",
          "Command": "/unfreeze {target1_id}",
          "Description": null,
          "CloseOnRun": false,
          "RequiredPermission": "freeze.use"
        }
      ]
    }
  ],
  "Use different permissions for each section of the player administration tab": false,
  "Log menu actions to Discord webhook (webhook URL)": "",
  "Recent players purge time (days)": 7,
  "Version": {
    "Major": 2,
    "Minor": 0,
    "Patch": 19
  }
}

Information

Author
k1lly0u
First release
Last update
Rating
4.88 star(s) 58 ratings

Latest Release v2.1.1

Released
Feb 13, 2024 at 11:53 AM
Rating
2.00 star(s) 1 ratings


More resources from k1lly0u

  • AirbourneSpawn
    AirbourneSpawn
    Give players the option to spawn from a various aircraft and parachute to the island
  • FiringRange
    FiringRange
    Create COD style firing range time trial's for players to compete in
  • PreferredEnvironment
    PreferredEnvironment
    Allows players to customize their environment settings
  • TrainHeist
    TrainHeist
    A event where a train with scientists drives around the above or below rail ring
  • UberTool - Admin's new Friend
    UberTool - Admin's new Friend
    The ultimative build'n'place solution without any borders or other known limits

Admin Menu by k1lly0u
© chaoscode.io Jul 4, 2017

Latest reviews

I have an issue with this plugin and for some reason wont work

22:32:18) | Oxide.Ext.Chaos is referenced by AdminMenu plugin but is not loaded

(22:32:18) | [CSharp] Started Oxide.Compiler v1.0.26.0 successfully

(22:32:25) | Ignored unexpected plugin compilation failure: AdminMenu

(22:32:25) | Error while compiling AdminMenu: The type or namespace name 'Chaos' does not exist in the namespace 'Oxide.Ext' (are you missing an assembly reference?) | Line: 21, Pos: 41





IS there a reason that this failed?
intuitive ui, simple to use, fast setup!

k1lly0u does it again! thank you for another great plugin!

10/10
It performs admirably, but unfortunately, it doesn't support Carbon, which my server is currently running on. I wasn't aware of this limitation, and it's a bit frustrating. However, I used it seamlessly before switching to Carbon, and it worked exceptionally well. Despite this setback, I still recommend it for its prior reliability.
k1lly0u
k1lly0u
There is nothing in the plugin that requires specific Carbon support. The Chaos extension is not built for Carbon, however Carbon provides a compatibility loader to load Oxide extensions which is available on their website
love this make's life ez in game to fined or do things :) keep up the good work
Great great . A lot of options. I would still have a suggestion ... it would be very good if the permissions were with submenus ... not all with many pages. It would be nice if there was a page with all the plugins, click on the respective plugin and see its permissions... that's a bit of a pain in the eyes, something like PermissionManager... (this is much easier to configure) Anyway in finally a great plugin!!!
Not going to lie - I'm NEW new to RUST admin, and I needed something to simplify it. When I first downloaded this, I was like... Uhh, only 4 options?!

Then when I went and read the comments and added

o.grant group GROUPNAME adminmenu.use
o.grant group GROUPNAME adminmenu.permissions
o.grant group GROUPNAME adminmenu.groups
o.grant group GROUPNAME adminmenu.give
o.grant group GROUPNAME adminmenu.convars
o.grant group GROUPNAME adminmenu.players

To my F1 console, I was like. Ooooohhhh Sweet baby money pots covered in honey with a cool breeze.

Definitely worth the money, just make sure you add those permissions!
Lifesaver for me as a newer server owner
Great Admin Menu, a lot of options including changing server settings, highly recommended it.
Honestly, the BEST permission plugin I've ever used, it's easy to use and totally worth the $15. Setting up groups is a breeze with this and super easy to assign permissions with just a click of a button! No pesky commands into the console (other than the permissions to use the menu) 10/10 would buy again
Great Support!