BAP — Bikker's Admin Panel


Dear developers! I want to present my project, which was originally created for my community.

Idea

A lot of panels have been created for moderation all the time. But according to statistics, people use chat commands more often. And I decided to try it in the form of buttons. Yes, HD Admin also has interactive content. But I decided to turn it completely into an interactive system. This is quite convenient, and may be suitable even for mobile users.

Main

This panel was created by me alone. Only my employees helped me in testing.

My system is quite conveniently configured through the module script. Also, developers can easily add their own commands or delete the main ones.
The panel has a good design, which is similar to the new Roblox style.
The panel has four tabs for working with different areas — Home for server statistics, Admin for basic moderation, Character for changing character characteristics and Fun… for fun.
It is important that the system already uses a new API for blocking users, which may also be of interest to you.
To open the panel, you must write the command /open bap in the chat. In the future, the button F8 will also be used.

Design

The panel style is presented in the form of a new website for Roblox developers. In my opinion, it looks pretty good and comfortable.
изображение
Open Button


Home Page

Command options

Palette

Installation

This panel cannot be published in the Roblox store, as it contains interactions with InsertService. Therefore, you can download the .rbxm file below. Just drag it with the cursor from the file explorer to the studio.
BAP.rbxm (7.0 KB)

Now, you can move it to the ServerScriptService so that there are no restrictions.
When you open the model, you will see this:
изображение
Most likely, you will only edit the “Settings” script. In “CustomCommands” you will be able to customize your commands. A manual on custom commands will be created in the coming days.
Open Settings.

local Settings = {}

Settings.DataStore = "AdminStore"

Settings.Ranks = {
	["Owner"] = {
		Level = 1000;
		Users = {
			""
		};
	};
	
	["Head Admin"] = {
		Level = 900;
		Users = {
			""
		};
	};
	
	["Admin"] = {
		Level = 750;
		Users = {
			""
		};
	};
	
	["Moderator"] = {
		Level = 500;
		Users = {
			""
		};
	};
}

Settings.Banned = {}
Settings.BanStore = "BanStore1"

Settings.Commands = {
	
	-----ADMIN-----
	
	{
		Name = "Kick",
		Level = 250,
		Player = true,
		Args = {
			{
				Name = "reason",
				Type = "string",
			},
		},
		Place = "ADMIN", -- "ADMIN", "CHARACTER" or "FUN"
	},
	
	{
		Name = "GameBan",
		Level = 500,
		Player = true,
		Args = {
			{
				Name = "duration",
				Type = "number",
			},
			{
				Name = "reason",
				Type = "string",
			},
			{
				Name = "note reason",
				Type = "string",
			},
			{
				Name = "game",
				Type = "boolean",
				Default = true,
			},
			{
				Name = "antiAlts",
				Type = "boolean",
				Default = true,
			},
		},
		Place = "ADMIN",
	}, --bans player in game
	
	{
		Name = "UserBan",
		Level = 500,
		Player = false,
		Args = {
			{
				Name = "user",
				Type = "string",
			},
			{
				Name = "duration (seconds)",
				Type = "number",
			},
			{
				Name = "reason",
				Type = "string",
			},
			{
				Name = "note reason",
				Type = "string",
			},
			{
				Name = "game",
				Type = "boolean",
				Default = true,
			},
			{
				Name = "antiAlts",
				Type = "boolean",
				Default = true,
			},
		},
		Place = "ADMIN",
	}, --bans player not in game
	
	{
		Name = "UnBan",
		Level = 250,
		Player = false,
		Args = {
			{
				Name = "user",
				Type = "string",
			},
		},
		Place = "ADMIN",
	},
	
	{
		Name = "ServerMessage",
		Level = 500,
		Player = false,
		Args = {
			{
				Name = "text",
				Type = "string",
			},
		},
		Place = "ADMIN",
	},
	
	{
		Name = "ChangeTeam",
		Level = 500,
		Player = true,
		Args = {
			{
				Name = "team",
				Type = "string",
				List = "teams",
			},
			{
				Name = "reset",
				Type = "boolean",
			},
		},
		Place = "ADMIN",
	},
	
	{
		Name = "CreateTeam",
		Level = 500,
		Player = false,
		Args = {
			{
				Name = "name",
				Type = "string",
			},
			{
				Name = "color",
				Type = "brickColor",
			},
		},
		Place = "ADMIN",
	},
	
	{
		Name = "ServerShutdown",
		Level = 500,
		Player = false,
		Args = {
			{
				Name = "reason",
				Type = "string",
			},
		},
		Place = "ADMIN",
	},
	
	{
		Name = "GameRank",
		Level = 750,
		Player = true,
		Args = {
			{
				Name = "rank",
				Type = "string",
				List = "ranks"
			},
		},
		Place = "ADMIN",
	},
	
	{
		Name = "UserRank",
		Level = 750,
		Player = false,
		Args = {
			{
				Name = "user",
				Type = "string",
			},
			{
				Name = "rank",
				Type = "string",
				List = "ranks"
			},
		},
		Place = "ADMIN",
	},

	{
		Name = "GameUnRank",
		Level = 750,
		Player = false,
		Args = {
			{
				Name = "player",
				Type = "player",
			},
		},
		Place = "ADMIN",
	},
	
	{
		Name = "UserUnRank",
		Level = 750,
		Player = false,
		Args = {
			{
				Name = "user",
				Type = "string",
			},
		},
		Place = "ADMIN",
	},

	{
		Name = "Teams",
		Level = 500, 
		Player = false,
		Args = {},
		Place = "ADMIN",
	},
	
	
	-----CHARACTER-----
	
	
	{
		Name = "WalkSpeed",
		Level = 250,
		Player = true,
		Args = {
			{
				Name = "value",
				Type = "number",
			},
		},
		Place = "CHARACTER",
	},
	
	{
		Name = "JumpPower",
		Level = 250,
		Player = true,
		Args = {
			{
				Name = "value",
				Type = "number",
			},
		},
		Place = "CHARACTER",
	},
	
	{
		Name = "Health",
		Level = 250,
		Player = true,
		Args = {
			{
				Name = "value",
				Type = "number",
			},
		},
		Place = "CHARACTER",
	},
	
	{
		Name = "MaxHealth",
		Level = 250,
		Player = true,
		Args = {
			{
				Name = "value",
				Type = "number",
			},
		},
		Place = "CHARACTER",
	},
	
	{
		Name = "Fly",
		Level = 250,
		Player = true,
		Args = {
			{
				Name = "speed",
				Type = "number",
			},	
			{
				Name = "noclip",
				Type = "boolean",
			},	
		},
		Place = "CHARACTER",
	},
	
	{
		Name = "UnFly",
		Level = 250,
		Player = true,
		Args = {},
		Place = "CHARACTER",
	},
	
	{
		Name = "Freeze",
		Level = 250,
		Player = true,
		Args = {},
		Place = "CHARACTER",
	},
	
	{
		Name = "UnFreeze",
		Level = 250,
		Player = true,
		Args = {},
		Place = "CHARACTER",
	},
	
	{
		Name = "Kill",
		Level = 250,
		Player = true,
		Args = {},
		Place = "CHARACTER",
	},
	
	{
		Name = "Refresh",
		Level = 250,
		Player = true,
		Args = {},
		Place = "CHARACTER",
	},
	
	{
		Name = "Teleport",
		Level = 250,
		Player = true,
		Args = {
			{
				Name = "TargetPlr",
				Type = "Player"
			}
		},
		Place = "CHARACTER",
	},
	
	
	-----FUN-----
	
	
	{
		Name = "BuildingTools",
		Level = 250,
		Player = true,
		Args = {},
		Place = "FUN",
	},
}

Settings.CustomCommands = {}

return Settings

You can change the name of the DataStore in Settings.DataStore if you want to completely reload the list of administrators.
The most important thing is in Settings.Ranks. I hope you are friends with tables and will be able to set everything up yourself. About Level I’ll tell you when we get to setting up the commands.
Now let’s move on to the commands. You can only delete any of them, or change the level. Else… Melon.
With the help of a level, you can set up restrictions on ranks. For example: you have given the team a level of 900. It can be used at least by the chief administrator or another rank that you have added with this rank.

Great! You did it.

Plans

Database management and exploit protection will be improved in the near future. Also, a lot more content will be added. If you find a bug or want to suggest an idea, don’t hesitate, I can accept your answer.

GnomeBird Studios. Not for money. :wink:

Do you have any images showing the UI of this admin panel?

изображение




Sorry! I forgot to specify the photo of the panel. Later, the topic will be updated. Thanks!

Seems alright. I see you put a lot of effort into this. I appreciate your admiration and your work put into this.
However, I’m not a fan of the UI style. It’s all a little irregular for me and not polished. Please use UIPadding, and please, scale the X buttons and everything correctly.
You’re doing well. Keep up the good work!

1 Like