Skip to main content

Configuration

note

Kohl's Admin is currently in development. Everything in these docs is subject to change.

This shows you how to configure Kohl's Admin to your liking, and how to continue setting it up.

This will show you the location between the 2 settings scripts for both the New and Legacy Loaders.

Kohl's Admin > Settings

Prerequisites

Make sure you already have KA installed in your game before continuing.

  • KA Installation Guide: Click here to go to the setup guide.

Also ensure that you have both the Explorer and Properties tabs open.

  • You can do this by going to View on the menu of Roblox Studio, and toggle Explorer and Properties which is on the top left.
danger

There will be 2 Settings scripts, one inside the Legacy_Loader script and the other in the model, it is DIFFERENT and will not save with one another.

Hierarchy of Admin Powers

Legacy Loader:

        Admin Powers

0 Player
1 VIP Can use nonabusive commands only on self
2 Moderator Can kick, mute, & use most commands
3 Administrator Can ban, crash, & set Moderators/VIP
4 SuperAdmin Can grant permanent powers, & shutdown the game
5 Owner Can set SuperAdmins, & use all the commands
6 Game Creator Can set owners & use all the commands

New Loader:

The new loader does not stack admin perks, they are now separated by default.

        0   defaultRole
1 vip
2 mod
3 admin
4 superadmin
5 creator

Types of Identifiers

UserID: 44391621 (Example)

You can find the UserID from a profile link on Roblox. Example: https://www.roblox.com/users/44391621/profile

Username: Scripth (Example)

You can find the Username from a profile on Roblox.

GroupID: 3403354 (Example)

You can find the GroupID from a group link on Roblox. Example: https://www.roblox.com/groups/3403354/Kohl

Group Rank: 0-255

You can find the Group Ranks in your group's configuration page by selecting Configure Group on your group page then Roles > Role > Rank

ItemID: 18966788838 (Example)

You can find the ItemID from marketplace items such as hats, shirts, pants, etc, using the link. Example: https://www.roblox.com/catalog/18966788838/Light-Crown

GamepassID: 5411126 (Example)

You can find the GamepassID from a game that has gamepasses, using the link. Example: https://www.roblox.com/game-pass/5411126/Premium-Donation

Configuring the Legacy Loader

Banning Someone from Joining

Unedited Script:

local Banned = { "someoneyoudislike" } -- For those who have wronged you, & this guy

You can add more people or a single player by adding their Username or UserID. The list is endless.

local Banned = { "someoneyoudislike", "Roblox", 1234567 } -- For those who have wronged you, & this guy

Adding Someone to your Admin List

Unedited Script:

local Owners = {} -- Can set SuperAdmins, & use all the commands
local SuperAdmins = {} -- Can set permanent admins, & shutdown the game
local Admins = {} -- Can ban, crash, & set Moderators/VIP
local Mods = {} -- Can kick, mute, & use most commands
local VIP = {} -- Can use nonabusive commands only on self

You can add more people or a single player by adding their Username or UserID. The list is endless.

local Owners = {"someoneyoudislike", "Roblox", 1234567} -- Can set SuperAdmins, & use all the commands
...

Settings

This part should be pretty self explantory. The things they do are noted next to them.

local Settings = {

-- Style Options
Flat = true, -- Enables Flat theme / Disables Aero theme
ForcedColor = false, -- Forces everyone to have set color & transparency
Color = Color3.new(0, 0, 0), -- Changes the Color of the user interface
ColorTransparency = 0.75, -- Changes the Transparency of the user interface
Chat = false, -- Enables the custom chat
BubbleChat = false, -- Enables the custom bubble chat

-- Basic Settings
AdminCredit = true, -- Enables the credit GUI for that appears in the bottom right
AutoClean = false, -- Enables automatic cleaning of hats & tools in the Workspace
AutoCleanDelay = 60, -- The delay between each AutoClean routine
CommandBar = true, -- Enables the Command Bar | GLOBAL KEYBIND: \
FunCommands = true, -- Enables fun yet unnecessary commands
FreeAdmin = false, -- Set to 1-5 to grant admin powers to all, otherwise set to false
JoinMessage = true, -- Shows an admin message on join with the prefix and your current rank
PublicLogs = false, -- Allows all users to see the command & chat logs
Prefix = ";", -- Character to begin a command
}

Adding a Group to your Admin List

This part should also be pretty self explantory as well, the required information is stated below the spot where you are supposed to fill them.

    GroupAdmin = {
[12345] = { [254] = 4, [253] = 3 };
[GROUP_ID] = { [RANK] = ADMIN_POWER };
}

To add on more groups or ranks, just add on this line under.

[12345] = { [254] = 4, [253] = 3 };

Adding VIP Perks to your Game

This part should also be self explantory, the required information is stated under.

    VIPAdmin = {
[-12345] = 3; -- negative item_id (-12345) indicates a GamePass
[12345] = 3; -- positive is every other catalog asset (shirts, pants, hats, etc)
[54321] = 4;
[ITEM_ID] = ADMIN_POWER;
}

To add on more assets for VIP, just add a line under.

[54321] = 4;

Command Limits

This should be self explantory too, the required information is stated above.

-- Command Limits
-- COMMAND_LIMIT - How many commands can be used at once to prevent abuse.
-- COOLDOWN_SECONDS - How long to wait between commands to prevent abuse.
-- [ADMIN_POWER]= { COMMAND_LIMIT, COOLDOWN_SECONDS }
CommandLimits = {
[0] = { 1, 10 }, -- Player (rank 0) can use 1 command every 10 seconds
[1] = { 16, 5 }, -- VIP (rank 1) can use 10 commands every 5 seconds
[2] = { 32, 1 }, -- Moderator (rank 2) can use 16 commands every 1 second
[3] = { 64, 1 }, -- Administrator (rank 3) can use 32 commands every 1 second
[4] = { 128, 1 }, -- SuperAdmin (rank 4) can use 64 commands every 1 second
[5] = { math.huge, 0 }, -- Owner (rank 5) can use infinite commands every 0 seconds
[6] = { math.huge, 0 }, -- Game Creator (rank 6) can use infinite commands every 0 seconds
[7] = { math.huge, 0 }, -- True Game Creator (rank 7) can use infinite commands every 0 seconds
},

Command Permissions

You can refer to the admin permissions table to set up permissions, commands can be found by using the :cmds command in chat, or cmd in the commandbar.

    Permissions = {
-- fly = 0; -- uncomment this line to allow everyone to fly!
},

Configuring the New Loader

Settings

This should be self explantory, as it has the required information. The game hub is a place to advertise that your game is using Kohl's, which can attract players. The VIP features is a way to show appreciation to us and our donors for supporting us, although it is optional, I recommend you to keep it, pretty please.

    -- Automatic updates from the latest official version of the MainModule
-- Disable to use the included MainModule
autoUpdate = true,

-- Changes the default command prefix
prefix = ";",

--[[
Enables participation in the Kohl's Admin Games Hub, showcasing
your game to users looking for games with benefits from Kohl's Admin.
https://www.roblox.com/games/17873329124/Kohls-Admin-Games-Hub

⚠️ Requires Allowing HTTP Requests in File > Game Settings > Security
]]
gameHubEnabled = true,

-- Enables Kohl's Admin VIP donation features (required for games hub)
vip = true,

Banning Someone from Joining

This should be self explantory, but the duration is in seconds.

    [[
[UserId] = {Username, Reason, Duration, fromUserId}

Ban duration
-1 forever
0 server session
>0 UTC time in seconds
]]
bans = {
["2"] = { "John Doe", "He been noob.", nil, 44391621 },
["3"] = { "Jane Doe", "She was noob.", 1720922623, 44391621 },
["5"] = { nil, "Deleted account", -1, 44391621 },
},

To add more bans, just add this line under.

        ["5"] = { nil, "Deleted account", -1, 44391621 },

Free Admin

If you plan to give everyone admin, just remove the -- based on the permission level/s you wish to give.

    -- Gives everyone access to the uncommented roles
freeAdmin = {
-- "creator",
-- "superadmin",
-- "admin",
-- "mod",
-- "vip",
},

Gamepass Admin

If you plan to give a specific gamepass admin, this would help. Just remove the -- based on the permission level/s you wish to give.

    gamePassRoles = {
-- [gamePassId] = { "mod", "vip" },
},

Group Admin

If you plan to give a specific group admin, this would help. Just remove the -- based on the permission level/s you wish to give.

    groupRoles = {
-- [groupId] = {
-- { rank = 200, roles = { "admin", "vip" }, exactRank = false },
-- },
},

User Admin

This should be self explantory, it accepts UserIDs and private server placeid.

    [[
Accepts a list of UserIds, sourced from a Roblox profile
For example;
https://www.roblox.com/users/44391621/profile
Has a UserId of 44391621
Use "game.PrivateServerOwnerId" for private servers!
]]
userRoles = {
creator = {},
superadmin = {},
admin = {},
mod = {},
vip = { 1, 156, PRIVATE_SERVER_OWNER },
},

Visibility of Kohl's Dashboard and Join Notifications

This should be pretty self explantory, if you put 1 for the dashboard, only VIPs and higher can see the dashboard button.

    --[[
Toggles visibility of the Kohl's Admin Dashboard Button in the Topbar.
0 defaultRole
1 vip
2 mod
3 admin
4 superadmin
5 creator
]]
dashboardButtonRank = 0,

-- Toggles visibility of the Kohl's Admin Join Notification.
joinNotificationRank = 1,

Admin Roles

This should be self explantory, you can add more ranks and set up how the admin roles work.

    roles = {
default = {
-- role "_rank" determines hierarchy
-- 0 is reserved for the default role
_rank = 0,
name = "Player",
color = "#0ff",

-- when enabled only allows their player to be used with the player argument
-- WARN: doesn't affect commands that use userids!
onlyTargetSelf = true,

permissions = {
-- this permission bypasses all restrictions (danger!)
admin = false,
-- can ban users via banasync, otherwise only per server session if has ban command
banasync = false,
-- allows the user to manage saved roles of other users with a lesser role
saveRoles = false,
-- can configure the global admin settings
settings = false,
-- can view server-side logs
serverlogs = false,
},

-- allowed command groups
groups = {
-- "creator",
-- "administration",
-- "moderation",
-- "environment",
-- "general",
-- "fun",
-- "vip",
"utility",
},

-- command overrides
commands = {
-- allow the help command
help = true,
-- disable the shutdown command if given to role by a command group
shutdown = false,
},
},
vip = {
_rank = 1,
name = "VIP",
groups = { "vip" },
permissions = {},
color = "#0f8",
onlyTargetSelf = true,
},
mod = {
_rank = 2,
name = "Moderator",
groups = { "moderation", "general", "environment", "fun", "vip" },
permissions = { serverlogs = true },
color = "#0f0",
},
admin = {
_rank = 3,
name = "Administrator",
groups = { "administration", "moderation", "general", "environment", "fun", "vip" },
permissions = { banasync = true, serverlogs = true },
color = "#ff0",
},
superadmin = {
_rank = 4,
name = "SuperAdmin",
groups = { "superadmin", "administration", "moderation", "general", "environment", "fun", "vip" },
permissions = { banasync = true, saveRoles = true, settings = true, serverlogs = true },
color = "#f80",
},
creator = {
_rank = math.huge,
name = "Game Creator",
permissions = { admin = true },
color = "#f00",
},
}

Verify Installation

  1. Open and play the experience that you've imported the model into.
  2. Test some basic commands to make sure the admin commands are functioning as expected.

tip

Still need help? Feel free to join the Kohl's Admin Discord!