Skip to content

Commands

Chat commands

You can run commands in chat. The default prefix is ;:

;fly me
;paint all red

Your prefix is personal to you and can be changed in the panel under You Settings (unless the game owner has locked it). To run a command without it appearing in the chat window, put /e in front:

/e ;fly me

Panel commands

image The Commands page in the panel lists every command you can use, and clicking into each one opens its own run page where you can easily fill in its arguments. This is essential for players who can't chat, and also handy when you can't remember what a command expects.


Command bar

image There's also an on-screen command bar with live suggestions and autocompletes to rapidly run commands. Your recent commands are also saved so re-running one takes a couple of keypresses. Press the Quote (') or Semicolon (;) key to open it. It can only be opened if your role(s) grant Command Bar permission.


Targeting players

Most commands take a player. Part of a name is enough (;fly ben finds Benjamin), or put @ in front to search by username instead of display name, like ;fly @ForeverHD (partial usernames match too). You can also swap the name for a qualifier:

Qualifier Targets
me you
all every player in the server
others everyone except you
random one random player
role(mod) players with those roles
friends players who are friends with you
radius(20) players within that many studs of you
amount(5) that many random players
percent(50) that percentage of the server
team(red) players on those teams
group(123456) players in those Roblox groups
premium players with Roblox Premium
;jump others
;kill radius(20)
;give team(red) sword

Qualifiers chain with commas, so ;fly me,role(admin) targets you and every admin. Targeting anyone other than yourself, and targeting several players at once, are role permissions too (Targeting Others and Multiple Targets). See Roles for granting these.


Modifiers

image Modifiers attach to the front of a command name and change how it runs:

;unfly me
;globalMessage hello
;permMusic 123456
Modifier Effect Permission
undo (or un) ends all tasks of this command and/or player Neutral
preview opens the command's Run page instead of running it Neutral
random picks one command at random from the statement Neutral
loop(10,2) repeatedly re-runs, here 10 times with 2 seconds between runs Abusive
spawn runs now and every time the player respawns Abusive
delay(5) waits that many seconds before running Abusive
schedule(1767225600) runs at the given epoch time Abusive
expire(30) (or until) ends after that many seconds Abusive
join runs on players when they join this server Global
global runs once on all servers Global
perm runs on every server and future servers Global
permSpawn runs now and every time the players respawn, on this server and every future server they join Global
permJoin runs on players when they join, on every server and future servers Global
permLoop repeatedly re-runs, on every server and future servers Global
permDelay waits then runs, on every server and future servers Global
permSchedule runs at the given epoch time, on every server and future servers Global
unperm ends all permanent tasks of this command and/or player Global

Important

Abusive and Global modifiers require the Modifiers Abusive and Modifiers Global role permissions to be used. Be VERY careful who you grant these to, since a single global command can reach every server in your experience.


Limits

image Commands are rate and size limited so that players can't overwhelm your server. Each role contains a Commands Per Minute and Requests Per Second and your highest value across the ones you own wins. A single request is also capped at the RequestSizeLimit game setting, 1000 characters by default.

Important

Roles with Bypass Limits skip these checks so be careful who you grant it to.


Decide what loads

You decide exactly which commands load into your game. Your loader's ConfigCommands contains seven default modules (Owner, Dev, etc) that pull in pre-built collections of commands through Internal.loadCommands:

image

-- Config/Commands/Admin
local modules = script:FindFirstAncestor("HD Admin").Core.MainModule.Value.Modules
local Internal = require(modules.Internal)
return Internal.loadCommands({
    modules = {"AdminPack"}, -- what collection to load (e.g. "AdminPack", "ModUtility", etc)
    exclude = {"LoadMap", "SaveMap"}, -- commands to be skipped from loading
    onlyInclude = {}, -- when not-empty, ONLY these commands load
    tag = script.Name, -- the tag added to every command loaded here which is then used in the 'From Tags' selector in role settings
    modify = { -- a way to change how a command is defined before it loads, keyed by command name
        map = function(command)
            command.config.loadMapOnStart = true
        end,
    },
})

You can find these pre-built collections under MainModuleValueModulesInternalCommands (e.g. "AdminPack" or "DevPack") and can even specify smaller collections like "ModUtility", "Movement", etc.

If a module is never referenced via loadCommands, its code is never required, client modules never loaded, and assets never replicated to clients.

Warning

Removing commands that a page depends on will disable its features. For example, if the ban command is never loaded, then the Ban page's 'Add Ban' features stop working.


Vet commands

We frequently add new commands to HD Admin, and although these get grouped under the most appropriate pack (therefore roles), developers have often asked for a second-say in what commands get added to their experience. To solve this, we've created a new Vet Commands section:

Roles with the Vet Commands edit permission will see a new Vet button at the top of the Commands page. This opens the Vet section with three tabs:

Tab What it holds
Pending New commands awaiting a decision. Only vetters can run these, so you can safely test before approving
Approved Commands everyone with access can use
Disabled Commands nobody can run, not even the Owner. Like Pending, they're also hidden from the Commands page

Tip

image By default, "Auto Approve New" is set to true, so you must toggle this in-game to false if you'd like new commands to always enter Pending.

Info

A majority of future commands will be published under ExtraPack, meaning even if "Auto Approve New" is set to true, you won't need to worry about these new commands being added randomly to your commands page, as the "Extra" tag is not by default used in any roles. Instead, you'll be notified anytime a new command is added, then you can decide to add it to an existing or new role or not.