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

announcements = {
-- {
-- From = "_K", -- userId or "_K"
-- Duration = 30, -- seconds, 0 = no auto-hide
-- Text = "Hi!",
-- },
},

notifications = {
-- {
-- From = "_K", -- userId or "_K"
-- Duration = 30, -- seconds, 0 = no auto-hide
-- Text = "Hi!",
-- },
},

-- 🔧 SYSTEM SETTINGS
prefix = { ";", ":" }, -- Command trigger characters
splitKey = "%s", -- Command/argument separator

commandBarRank = 0, -- Minimum rank for Command Bar (false = disable)
dashboardRank = 0, -- Minimum rank for Dashboard (false = disable)
dashboardButtonRank = 0, -- Minimum rank for Dashboard button (false = disable)
joinNotificationRank = 1, -- Minimum rank for join notifications (false = disable)

welcomeBadgeId = 0, -- Badge for new players (0 = none)

addToCharts = true, -- Add this game to the Kohl's Admin Charts (⚠️ Requires "Allow HTTP Requests" in File > Game Settings > Security) https://roblox.com/games/17873329124/Kohls-Admin-Charts
vip = true, -- Enable VIP features (⚠️ Required if addToCharts is true)

chatCommands = true, -- Enable commands via chat
commandRequests = true, -- Request commands on same/higher rank
onlyShowUsableCommands = false, -- Show only purchasable/usable commands
getKohlsAdminPopup = true, -- Show the Get Kohl's Admin popup
wrongPrefixWarning = true, -- Warn on incorrect prefix
saveLogs = true, -- Save/sync command logs across servers
saveChatLogs = false, -- Save/sync chat logs across servers

theme = "Default", -- Initial theme (customize in Config.Themes)
changeThemeAuthority = "Client", -- "Client", "Server", or "Studio"

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

🎭 ROLE CONFIGURATION

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

	roles = {
{ -- Default Role
_key = "everyone", -- ⚠️ DO NOT CHANGE

name = "Player",
color = "#aaa", -- Hex color only

groups = {
-- "creator", -- clearlogs, hidelogs, script, localscript, etc.
-- "superadmin", -- badge, clearterrain, reserve, shutdown, global, etc.
-- "administration", -- announce, role, btools, gear, insert, place, serverlock, etc.
-- "moderation", -- ban, kick, jail, teleport, mute, warnings, etc.
-- "environment", -- fix, lighting, gravity, wind, water, atmosphere, etc.
-- "general", -- respawn, refresh, spectate, view, vote, xray, etc.
-- "fun", -- disco, explode, clone, punish, zombie, etc. (abusive)
-- "vip", -- appearance, accessories, animations, particles, etc.
"utility", -- help, version, info, logs, etc. (safe basics)
},

limits = {
cooldown = 4, -- Cooldown period in seconds
commands = 4, -- Max commands per cooldown
targets = 1, -- Max targets per command
},

permissions = {
admin = false, -- ⚠️ Bypasses all permissions
banasync = false, -- Saved bans
saveRoles = false, -- Saved roles
settings = false, -- Saved settings
serverlogs = false, -- Server logs
},

onlyTargetSelf = true, -- Can only use commands on self
},

{ -- VIP Role
_key = "vip", -- ⚠️ DO NOT CHANGE
name = "VIP",
color = "#0ff",
groups = { "vip" },
limits = { cooldown = 4, commands = 16, targets = 1 },
permissions = {},
onlyTargetSelf = true,
},

-- 🎭 Create as many roles as you want!
-- Use the _key in other settings like friendRoles to auto give the role
-- Helper would be higher rank than VIP, and lower than moderator

-- {
-- _key = "helper",
-- name = "Helper",
-- color = "#080",
-- groups = { "general" },
-- limits = { cooldown = 4, commands = 32, targets = math.huge },
-- permissions = { serverlogs = true },
-- },

{ -- Moderator Role
_key = "mod", -- ⚠️ DO NOT CHANGE
name = "Moderator",
color = "#0f0",
groups = { "moderation", "general", "environment", "fun", "vip" },
limits = { cooldown = 4, commands = 32, targets = math.huge },
permissions = { serverlogs = true },
},

{ -- Administrator Role
_key = "admin", -- ⚠️ DO NOT CHANGE
name = "Administrator",
color = "#fc0",
groups = { "administration", "moderation", "general", "environment", "fun", "vip" },
limits = { cooldown = 4, commands = 64, targets = math.huge },
permissions = { banasync = true, serverlogs = true },
},

{ -- SuperAdmin Role
_key = "superadmin", -- ⚠️ DO NOT CHANGE
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
name = "Game Creator",
color = "#f00",
permissions = { admin = true },
},
},
},

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!