Essential | Modern Administration Yet Finest (Coming soon this February)

Around the end of November or beginning of December this year. I’ll update the title again to avoid the confusion. I forgot that it’s already the mid of Q4. my apologies!

1 Like

it looks great and seems to have a lot of promising features, if you can deliver then you have defo outdone yourself

1 Like

Looks nice, but how come it’s releasing at the end of November? I happen to be… impatient at times.

because projects like this require tons of work, I can speak from experience
“rome wasn’t built in a day” ahhh

1 Like

Yep! I’ve worked on it for more than 3 years. I can’t wait to make it open source for everyone. I hope with the help of you guys, we can add the fly command, which I have been having a hard time digesting from other admin systems. Plus I got loads of features to make like the TerminalX.

1 Like

._. Oh… okay. (and honestly the DevForum requiring me to use more than thirty whole characters to make a simple reply is kind of… weird)

Because the time it takes to work to code and set up git repository (with the learning time + import process) + school time (sometimes it’s a challenge with my Physics class). And last but not least, common apps + UC apps I gotta finish… :scream:

Oh yeah, I have school too. It’s the weekend though, and I am really happy it is! :smile:

Update 18-11-2024

I finished making the demonstration game of Essential. The game is open for everyone to interact with Essential. However, you will need the handbook prior joining the game, which explains how the system of Essential really works. I am currently working on the handbook right now and this might take a couple days for me to finish.

Here’s the demonstration game

For now, feel free to interact with the mechanics and look around. Before joining the game, I want you guys to consider some notes:

  • The game uses : for action commands (in Essential homepage and usage command, this is called an action prefix) and ! for player commands (same situation, but it’s called a player prefix for commands targeting oneself)
  • Using the command [actionPrefix]universalban will not work on everyone else because everyone will have an equal priority level
  • Essential supports multi-space arguments with the use of quotation marks "argument here" Use \ to escape the quotation mark match.
  • TerminalX currently has an issue with the quotation mark filter. Use command bar V1 in Quick Actions or by pressing [ on your keyboard.

Disclaimer: You may encounter bugs in the demonstration game. Report any bugs you encountered in this Devforum post.

2 Likes

woah that looks really good, what did you use to build the handbook?

I use Gitbook for the handbook and documentations I make.

1 Like

Another update of the handbook I’m still working on:

1 Like

(Bump) It’s been past the end of November, what’s going on that it’s not public?

2 Likes

Here’s the update. Sorry for the long wait! Realistically I’m bad at deadlines because of school and sometimes boredom when I try to finish a lot of things at once.

Update 27-1-2025

Public Demonstration

I finished the documentation of how to get started with Essential. Take a look at it to get familiar with Essential. It goes over the basic fundamentals such as User Interfaces, Quick Actions, Incognito Mode, Notifications, and more.

Before joining the demonstration game, here are the friendly reminders of the game:

  • The game uses : for action commands (in Essential homepage and usage command, this is called an action prefix) and ! for player commands (same situation, but it’s called a player prefix for commands targeting oneself)
  • Using the command [actionPrefix]universalban will not work on everyone else because everyone will have an equal priority level
  • Essential supports multi-space arguments with the use of quotation marks "argument here" Use \ to escape the quotation mark match.
  • TerminalX currently has an issue with the quotation mark filter. Use command bar V1 in Quick Actions or by pressing [ on your keyboard.

Github (80% progress finished, 5% more for public release)

Yes! I have set up Rojo for Essential’s Github repository. There is one small feature that I need to add before public release.

TextChatService Support

Currently Essential DOES NOT support TextChatService and still relies on Legacy Chat for chat moderation and cross chat. Because of Roblox’s mandate Legacy Chat Deprecation and TextChatService Migration this month, I must make sure that Essential migrates from legacy chat to TextChat support. Otherwise, Essential will affect games without supporting TextChatService.

*For other mentions, @2jammers *

Thank you for everyone’s patience! I didn’t want to send an update progress until I was closer to the public release.

I have updated the Getting Familiar page to provide some understanding in the Keybinds section. I’ve also added a new section to it, explaining how to change the keybinds of the Console Bar.

We propose to have Six Ranks, and these range from Lowest to Highest according to this Suggestion:
Player
VIP
Moderator
Administrator
Senior Admin
Owner

Yes! You could implement that by setting up the roles with different priority levels. Here’s what it would look like:

settings.Permissions = {
	--[[ 
		["PERMISSION_NAME"] = {
			Priority = Priority; -- (number) Priority level
			Color = Color; -- Supported actions: number or Color3
			Members = { List_Of_Members }; -- (table/string) Refer to "specifying/targeting members" section above
			Permissions = {
				-- List of Permissions here. Refer to "Roles Accessibility & Management" section above.
				-- Here's an example..
				
				Use_Utility = false;
			};
		};
	]]

	--[[ This is similar to your version of "Player" rank ]]
	--[[ (ALERADY IMPLEMENTED INSIDE ESSENTIAL, DO NOT RECREATE)
		["everyone"] = {
			Priority = 0; -- (number) Priority level
			Color = nil; -- Supported actions: number or Color3
			Members = { "@everyone" }; -- (table/string) Refer to "specifying/targeting members" section above
			Permissions = {
				--// No default permissions. Configure them in settings.DefaultRolePermissions
			};
		};
	]]
	
	["VIP"] = {
		Priority = 100; -- Priority level
		Color = Color3.fromRGB(179, 0, 255); -- Supported actions: Color3 (i.g. Color3.fromRGB(255, 255, 255))
		Members = { "Roblox", "builderman", "NameWho",
			{
				Type = "Subscription";
				List = {0000000002, 000000003}; 	-- ( i.g. {"14148266", "72385", "1651667"} )
			}
		 }; -- Refer to "specifying/targeting members" section above
		Permissions = {
			-- List of Permissions here
			-- Here's an example..
		};
		Assignable = true;	
	};

	["Moderator"] = {
		Priority = 200; -- Priority level
		Color = Color3.fromRGB(73, 115, 255); -- Supported actions: Color3 (i.g. Color3.fromRGB(255, 255, 255))
		Members = { "FillInTheRest" }; -- Refer to "specifying/targeting members" section above
		Permissions = {
			-- List of Permissions here
			-- Here's an example..

			Manage_MusicPlayer = true;
			Execute_Scripts = true;
			Manage_Bans = true;
			Manage_Players = true;
			Help_Assistance = true;
			Private_Messaging = true;
			Message_Commands = true;
			Manage_Map = true;
			Deafen_Player = true;
			Mute_Player = true;
			Ban_Player = true;
			Kick_Player = true;
			Use_External_Gears = true;
			Use_Fun_Commands = true;
			Manage_Server = true;
		};
		Assignable = true;	
	};

	["Administrator"] = {
		Priority = 250; -- Priority level
		Color = Color3.fromRGB(73, 115, 255); -- Supported actions: Color3 (i.g. Color3.fromRGB(255, 255, 255))
		Members = { "FillInTheRest2" }; -- Refer to "specifying/targeting members" section above
		Permissions = {
			-- List of Permissions here
			-- Here's an example..

			Manage_Game = true;
		};
		Assignable = true;	
	};

	["Senior Admin"] = {
		--// I made this to a 100000 as a joke. There's really no limitation to the priority level as far as it is up to infinity.
		Priority = 100000; -- Priority level
		Color = Color3.fromRGB(73, 115, 255); -- Supported actions: Color3 (i.g. Color3.fromRGB(255, 255, 255))
		Members = { "TheOldestOne" }; -- Refer to "specifying/targeting members" section above
		Permissions = {
			-- List of Permissions here
			-- Here's an example..

			Manage_Game = true;
		};
		Assignable = true;	
	};

	--[[ This is similar to your version of "Owner" rank ]]
	--[[ (ALERADY IMPLEMENTED INSIDE ESSENTIAL, DO NOT RECREATE)
		["creator"] = {
			Priority = math.huge; -- (Infinity) (number) Priority level
			Color = nil; -- Supported actions: number or Color3
			Members = {
				--// This gives everyone creator if the place is local (rbxl file), to the group owner (if the game belongs to a Roblox group), or the player who owns the game
				(game.CreatorId <= 0 and "@everyone")
			or (game.CreatorType == Enum.CreatorType.Group and "Group:" .. game.CreatorId .. ":255")
			or game.CreatorId,
			 }; -- (table/string) Refer to "specifying/targeting members" section above
			Permissions = {
				Manage_Game = true;
			};
		};
	]]
}

settings.DefaultRolePermissions = {
	-- List of Permissions here. Refer to "Roles Accessibility & Management" section above.
	-- Here's an example..

	Use_Utility = true;
}

Make it so Only Administrators (or Higher Ranks) can Ban Players, Use External Gears, Manage the Map and Server, and Manage the Music Player. Also make Admins Unban Players (New Permission that Removes a Player from Banland, allowing the Player to Visit the Place again. Command: Unban_Player), Temporarily Ban (For a Set Amount of Time. Suffixes include: s for Seconds, m for Minutes, h for Hours, and d for Days.).

Also Make it that Only Senior Admins (or the Owner) can Manage the Game and Permanently Ban (which means, Ban in all Places for the whole Experience.) Players, as well as Execute Various kinds of Scripts.

Also Make it so that VIPs (or Higher Ranks) can use Fun Commands that can Only be Used on Themselves.

Also Make it so that Moderators can Request Users to be Banned (Only Administrators can Review the Ban Request.).

Also Make it so that Everyone can View their Permissions and Banland. (New Permissions: View_Permissions and View_Bans)

All of that rank changes is possible through configuration.


I like your idea of ban approvals by administrators. It helps administrators review the reason behind the ban before approval. Though the only downside behind this is an administrator in the game must be present to approve OR the case approval could just remain in the server while waiting for administrators to join and approve.

Very interesting about everyone having access to view their permissions!

Banland is somewhat different in Essential because unlike admin systems that ban players individually, this is just a new feature that came out in version 0.8.0 (one version ago); Essential bans are case-by-case basis, which means that players who are banned for the same situation (at the same time) are banned together in one whole ban case. The biggest advantage behind case-by-case bans is the unique case id that can be searchable through a command ([actionPrefix]lookupban). Here’s a demonstration video that showcases the new ban system: