Rudimentary | A new way to do server administration

Introduction

What is Rudimentary?

Rudimentary is a Server Administration Software meant to make moderating & controlling your games easier.

Cool, but I want to use it, how do I?

Step 1. Get the model

Step 2. Insert the model into your game.

image

image

Step 3. Edit the settings to your liking.

Step 4. Enjoy your new admin system.

image

Now that I’ve added it, how do I run commands?

Commands can be run 3 ways: in the panel itself, the command bar, or chat.

To run commands in the panel do the following:

Step 1. Click/Tap the “R” icon on the bottom right corner of your screen.

image

Step 2. Select the “Commands” tab.
image

Step 3. Click on one of the Commands.
image

Step 4. Respond to the prompts the admin gives you.
image

To run commands in the command bar do the following:

Step 1. Press your command bar key.

Step 2. Type the command you want to do into the command bar with the correct arguments. (Note: You do not have to specify a prefix, as the admin will automatically figure that out)

Step 3. Press Enter.

Example: warn CodedJimmy Testing

To run commands in chat do the following:

Step 1. Type the command you want to run with the correct prefix and arguments in the chat.

Step 2. Press Enter.

Example: :warn CodedJimmy Testing

How do I change Settings?

Step 1. Click on the “Settings” tab.

image

Step 2. Click on the right portion of your desired setting.

image

Step 3. Follow the instructions below for setting settings based on type.

How to set a text setting:

Step 1. Enter the new setting value.

Step 2. Press Enter.

How to set a key-based setting:

Step 1. Press a Key.

How to set a dropdown setting

Step 1. Select an option from the dropdown menu.

I want to make plugins, how do I do that?

To make plugins you can follow our plugin-making guide.

I’d also suggest looking into Rudimentary’s env guide.

I’m having problems and I need help, what do I do?

Don’t fret, just join our community, and create a support ticket.

Why should I use this over other Administration Systems?

Rudimentary provides an in-Admin settings panel, the ability to run commands directly from the admin through dialog popups, the ability to create themes for your games to make the system better fit your game, and an easy-to-use plugin architecture.

Rudimentary also has commands which other administration systems simply don’t have such as:

banhistory - Fetches the ban history of a specified user.
trelloban - Trello bans the specified user.

And many more to come.

Who made this?

Rudimentary was created by the following:

@CodedJimmy - Programming
@noxopic - Various Assets & The Interface

26 Likes

Question:

Why should we use this over the other Admin systems that exist?

1 Like

Rudimentary offers some features that other Administration Systems don’t, such as a Settings panel, and commands built directly into the panel itself, It also provides a way to create custom themes for your games, not just change the color.

1 Like

Well, Admin Systems like you described do have the features that you listed, but this is a cool resource.

1 Like

I thank you for your appreciation of the system.

1 Like

Version 0.9.1.1

Additions:

  • Added a Music Command
  • Added a Place Command
  • Added a DisableCommandTargetNotifications Setting

Fixes:

  • Fixed a bug with the Admin & Unadmin Command
  • Fixed a bug with the Private Message Command
  • Fixed a bug where lists would take a long time to load large amounts of content
1 Like

Cool new admin system! Keep up the great work!

3 Likes

Version 0.9.2

Additions:

  • Added R6 Command
  • Added NoclipFly Command
  • Added Noclip Command
  • Added Track Command
  • Added Clip Command
  • Added Timeban Command
  • Added ClientLogs Command
  • Added Clickable List Elements
  • Added Freecam Command
  • Added a Tab Autocomplete for commands in the CommandBar`

Removals:

  • Removed auto refresh for Logs & ChatLogs

Fixes:

  • Fixed a bug where admins wouldn’t save
  • Made countdowns automatically close after 3 seconds of the countdown being over

Check out the Release on GitHub

Version 0.9.2.1

Additions

  • Added Freeze Command
  • Added Thaw Command
  • Added Kill Command

Fixes

  • Fixed a bug where tracking wouldn’t work if a user wasn’t on a team
  • Fixed a bug where kicking someone would always return the executing user’s name instead of the targeted user’s if a permissions failure occurred
  • Fixed a bug where the NoClip script was being fetched from the wrong location
  • Fixed the permission level for the “Place” command

Check out the Release on GitHub

Hey, can you please try to add a way to resize the GUI that pops up on our screens? Because they’re small sometimes and it’s very hard to see so it would help a lot if we were able to resize our GUIs.

1 Like

Yeah, don’t worry that’s a planned feature for the next Version.

Question:

How many Admin Commands does this Admin Panel currently have?

1 Like

Hey, thanks for this question. Rudimentary currently has around 70 commands.

1 Like

I decided to review the code out of curiosity.
Yes, I would be suggesting improvements along the way.
And yes, I will be comparing some of this to my own admin system, BaseAdmin.


I found that it spams warnings in the output, though the debugging is disabled. What if a developer had some warnings that they were watching for in the output?
image

Then the commands, and I know quite a bit about this, since I developed the BaseAdmin ENV Command format.

I can see that this format also uses the script environment to handle work:


Quite a good design in my opinion, but I would consider returning an init() function instead of returning a table (though I don’t know if that is a good design as that would take up more memory if you have more commands).


Moving on to the “ClientLoader” script, I see it being bloated with functions all over the place and it’s hard to read it all. I would consider moving functions like “makePrivateMessage” and “makeNotification” specifically.

I also see that the server uptime loop runs all the time. This isn’t great for performance and should only be ran half a second and only when the server uptime window is open.


Now, the loader. I noticed that the tables explicitly define the string as the index, and this is unnecessary.

You can replace this:
image
with this:
image
and it looks simpler to the user when configuring it.
Alternatively, you could define the table without the elements and use the dot operator to add them.

Then, there’s the lack of some equivalent to BaseAdmin rankTranslations. That’s my way of saying “you aren’t able to name ranks yourself”. Additionally, you cannot add any ranks (as far as I know), and you cannot rename them. I recommend looking into BaseAdmin’s implementations if you don’t know how to do this yourself (though I bet you could do a better job).


In the main module, I noticed some unnecessary things going on.
What exactly is line 687 doing here?
image
I didn’t think task.wait had a separate argument.

Additionally,
image
task.delay serves a purpose for waiting in a separate thread.

Though, for the most part the main server system is very well-built, except for those issues.


From the average developer’s perspective, I would recommend this system to anyone who wants to hire moderators, but I don’t think this is the best system for RP games. I think that title goes to a system like Adonis, BaseAdmin, or Basic Admin

However, if you’re casually moderating your game I would highly recommend it. And yes, I approve of the ban system even though it’s not as failproof as BaseAdmin’s, it does quite a good job.

I also like the fact that the system includes trello support (untested), since this will be able to provide command analytics and you will be able to ban users from using trello (I believe).


From my testing,

I haven’t done too much testing, but I think the UI needs to be improved upon (specifically the animations). The animations get in the way of the usability of the interface since they’re quite slow animations. It would be nice if there was a client option to disable them.

Hey, Rudimentary already has this feature, and it can be accessed through the “CustomAdminLevels” table.

1 Like

Thanks for telling me! I’m glad to hear that.

Yeah that’s a coding error on my part, has been replaced with task.wait(math.random(1,10))

1 Like

Woah, That’s alot of commands (character limit)

Just mentioning, Trello is not meant to be used as a “database” there are many free-tier databases out there like FireBase & MongoDB, which are suitable for small-scale games but also included paid-tiers that are good for large-scaled games. Many open-sourced API wrappers for these databases are also made in LUA for Roblox on the devforum. I highly recommend looking into this as you are using Trello wrong.

What are you talking about exactly, as the only thing Rudimentary uses Trello for is offsite Bans, and other admins like Adonis and Basic Admin do the same thing?