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 > Config > 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.
warning

There are 2 Settings scripts, one under Config > Settings and the other in Config > Legacy > Settings, these are DIFFERENT and depend on the if you are using the Legacy version or not.

Hierarchy of Admin Powers

New Loader:

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

0	everyone
1 vip
2 mod
3 admin
4 superadmin
inf creator

Legacy Loader:

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

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

AssetId: 18966788838 (Example)

You can find the AssetId 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 New Loader

Banning players from your game

Stores bans in format: ["UserId"] = {Username, Reason, Duration, BannedByUserId}

Duration values:

  • -1: Permanent ban
  • 0: Server ban
  • 0: Temporary ban (UTC timestamp in seconds for ban expiry)

bans = {
["2"] = { "John Doe", "He been noob.", nil, 44391621 },
["3"] = { "Jane Doe", "She was noob.", 1720922623, 44391621 },
["5"] = { nil, "Deleted account", -1, 44391621 },
},

Giving Admin Roles

Asset Admin

Give roles to a player if they have an asset.

assetRoles = {
-- [assetId] = { "mod", "vip" },
},

Gamepass Admin

Give roles to a player if they have a gamepass.

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

Subscription Admin

Give roles to a player if they have a subscription.

subscriptionRoles = {
-- [subscriptionId] = { "mod", "vip" },
},

Group Admin

Give roles to a player based on their rank in a group.

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

Friend Admin

Give roles to friends of the game or group creator.

friendRoles = {
-- "vip",
},

Free Admin

Give roles to everyone who joins the game.

freeAdmin = {
-- "vip",
-- "mod",
-- "admin",
},

User Admin

Give roles to players by their UserID or Username.

userRoles = {
vip = { "Roblox", 156, game.PrivateServerOwnerId },
mod = {},
admin = {},
superadmin = {},
creator = {},
},

Settings

prefix = ";", -- The prefix character used to trigger commands (e.g., ";kick")

chatCommands = true, -- Enables command execution via the Chat
commandBarRank = 0, -- Minimum rank required to view the Command Bar (Set to false to disable for everyone)
dashboardRank = 0, -- Minimum rank required to view the Dashboard (Set to false to disable for everyone)
dashboardButtonRank = 0, -- Minimum rank required to view the Dashboard button (Set to false to disable for everyone)
joinNotificationRank = 1, -- Minimum rank required to show the join notification (Set to false to disable for everyone)

onlyShowUsableCommands = false, -- Only displays commands the player can purchase or use
wrongPrefixWarning = true, -- Warns users when they use the wrong command prefix
welcomeBadgeId = 0, -- Awards a badge to new players, set to 0 for no badge
getKohlsAdminPopup = true, -- Enables the "Enjoy Kohl's Admin?" feedback popup to users

gameHubEnabled = true, -- Adds your to a list of games with Kohl's Admin | ⚠️ Requires "Allow HTTP Requests" in File > Game Settings > Security | https://www.roblox.com/games/17873329124/Kohls-Admin-Games-Hub
vip = true, -- Enables VIP-specific features and donation support | ⚠️ Required if gameHubEnabled is true

saveLogs = true, -- Saves and syncs admin logs across multiple servers

commands = { -- Configure command access per role
everyone = {
help = true, -- Enable help command
shutdown = false, -- Disable shutdown capability
},
vip = {},
mod = {},
admin = {},
superadmin = {},
creator = {},
},

announcements = {
-- {
-- From = "_K", -- Set to a userId or "_K"
-- Duration = 30, -- Duration in seconds until the announcement is hidden, set to 0 to not automatically hide
-- Text = "Hi!",
-- },
},

notifications = {
-- {
-- From = "_K", -- Set to a userId or "_K"
-- Duration = 30, -- Duration in seconds until the notification is hidden, set to 0 to not automatically hide
-- Text = "Hi!",
-- },
},

🎭 ROLE CONFIGURATION

Defines the hierarchy, permissions, and capabilities of each role, you can create as many custom roles as you want!

roles = {
{ -- Default Role (Base permissions for all users)
_key = "everyone", -- DO NOT CHANGE: System identifier

name = "Player", -- Display name
color = "#0ff", -- Role color, hex only!

-- Command Access Groups
groups = {
-- "creator", -- System-level commands
-- "administration", -- Administrative tools
-- "moderation", -- Moderation tools
-- "environment", -- World manipulation
-- "general", -- Staff utilities
-- "fun", -- Entertainment commands
-- "vip", -- Special features
"utility", -- Common utilities
},

-- Permission Flags
permissions = {
admin = false, -- ⚠️ Complete bypass of all restrictions
banasync = false, -- Permanent ban capability
saveRoles = false, -- Role management for lower ranks
settings = false, -- Global admin settings access
serverlogs = false, -- Server-side log access
},

onlyTargetSelf = true, -- Whether users can ONLY use commands on themselves
},

{ -- VIP Role
_key = "vip", -- DO NOT CHANGE: System identifier
name = "VIP",
color = "#0f8",
groups = { "vip" },
permissions = {},
onlyTargetSelf = true,
},

{ -- Moderator Role
_key = "mod", -- DO NOT CHANGE: System identifier
name = "Moderator",
color = "#0f0",
groups = { "moderation", "general", "environment", "fun", "vip" },
permissions = { serverlogs = true },
},

{ -- Administrator Role
_key = "admin", -- DO NOT CHANGE: System identifier
name = "Administrator",
color = "#ff0",
groups = { "administration", "moderation", "general", "environment", "fun", "vip" },
permissions = { banasync = true, serverlogs = true },
},

{ -- SuperAdmin Role
_key = "superadmin", -- DO NOT CHANGE: System identifier
name = "SuperAdmin",
color = "#f80",
groups = { "superadmin", "administration", "moderation", "general", "environment", "fun", "vip" },
permissions = { banasync = true, saveRoles = true, settings = true, serverlogs = true },
},

[math.huge] = { -- Creator Role (Highest Authority)
_key = "creator", -- DO NOT CHANGE: System identifier
name = "Game Creator",
color = "#f00",
permissions = { admin = true }, -- Full system access
},
},

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.

-- 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_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!
},

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!