Nameless Admin Docs, commands, plugins
Roblox admin utility

Docs for Nameless Admin.

Load the script, understand the split/offline cache, find commands, build .na/.iy plugins with Plugin Maker, check manual plugin examples, and copy useful stuff without digging through walls of text.

Loaders

These launchers prefer GitHub, save a validated local loader, and fall back to that copy when GitHub cannot be reached.

Luau
Main · resilient
local url = "https://raw.githubusercontent.com/ltseverydayyou/Nameless-Admin/main/Source.lua"
local cache = "NA-split/Source.lua"
local ok, source = pcall(game.HttpGet, game, url)
local chunk, compileError

if ok and type(source) == "string" and source ~= "" then
    chunk, compileError = loadstring(source)
    if chunk and type(writefile) == "function" then
        if type(makefolder) == "function" then pcall(makefolder, "NA-split") end
        pcall(writefile, cache, source)
    end
end

if not chunk and type(readfile) == "function" then
    local readOk, cached = pcall(readfile, cache)
    if readOk and type(cached) == "string" and cached ~= "" then
        chunk, compileError = loadstring(cached)
    end
end

assert(chunk, compileError or "Nameless Admin loader unavailable and no local cache exists")
chunk()
Testing · resilient
local url = "https://raw.githubusercontent.com/ltseverydayyou/Nameless-Admin/main/NA%20testing.lua"
local cache = "NA-split/NA testing.lua"
local ok, source = pcall(game.HttpGet, game, url)
local chunk, compileError

if ok and type(source) == "string" and source ~= "" then
    chunk, compileError = loadstring(source)
    if chunk and type(writefile) == "function" then
        if type(makefolder) == "function" then pcall(makefolder, "NA-split") end
        pcall(writefile, cache, source)
    end
end

if not chunk and type(readfile) == "function" then
    local readOk, cached = pcall(readfile, cache)
    if readOk and type(cached) == "string" and cached ~= "" then
        chunk, compileError = loadstring(cached)
    end
end

assert(chunk, compileError or "Nameless Admin testing loader unavailable and no local cache exists")
chunk()

Split runtime & offline cache

Nameless Admin no longer ships its entire runtime as one huge source unit. The small loader coordinates ordered chunks, version checks, local caching, and outage fallback.

NA-split

Why it is split

Source.lua and NA testing.lua are small bootstraps. They compile and execute the ordered part-XXX.lua files independently in the same private runtime environment instead of feeding the executor one multi-megabyte source unit.

Chunk manifest

NA-split/common/manifest.lua carries the runtime build version and chunk count. On startup NA fetches the small remote manifest and compares it with the complete local cache.

Chunk cache

If the remote runtime version is newer, NA downloads the required chunks, runs them, then writes the chunk files and finally the new manifest. If versions match, it loads the local chunks instead of redownloading them.

Loader cache

The active bootstrap is cached too: NA-split/Source.lua or NA-split/NA testing.lua. The manifest exposes a separate loader_version, so loader updates do not require pointless redownloads on every run.

GitHub outage fallback

The resilient launcher first tries the remote loader. If that request or compile fails, it reads the matching local loader. That cached loader can then use the already-cached manifest and runtime chunks when the remote manifest is unavailable.

First-run rule

Offline fallback cannot exist before anything has been cached. A user needs one successful online run (or a manually supplied local loader + complete chunk cache) before NA can survive a GitHub outage.

Workspace layout

The normal cache lives in the executor workspace. NA also recognizes the older nested chunk-cache roots for compatibility.

Files
NA-split/
├── Source.lua
├── .Source_lua.version
├── NA testing.lua
├── .NA_testing_lua.version
└── common/
    ├── manifest.lua
    ├── part-001.lua
    ├── part-002.lua
    └── ...

1. Loader

Try GitHub. Compile-check the response. Save a usable loader locally.

2. Manifest

Read any complete local cache, then check the remote manifest when available.

3. Runtime

Use matching local chunks, or fetch the newer remote set when the runtime version changed.

4. Commit cache

After a successful remote load, write chunk files first and the new manifest last so an interrupted update does not advertise an incomplete cache.

Recognized chunk-cache roots

NA-split/common/, Nameless-Admin/NA-split/common/, and Nameless Admin/NA-split/common/. The matching loader cache is stored one directory above common/ for the selected root.

What it covers

Short version of what Nameless Admin is built around.

Features

Commands

Admin command workflow with aliases, arguments, patched commands and quick search.

Players

Player selectors support aliases, exact UserId/name/display targeting, unions, include/exclude filters, teams, radius checks, cursor targeting, and persistent loop targets.

Plugins

Native .na and Infinite Yield-style .iy support, plus a built-in Plugin Maker with visual actions, code editors, ServiceResolver service selection, preview and installation.

UI tools

Command bar, settings, notifications, user buttons and mobile-aware controls.

Split runtime

Versioned runtime chunks plus a persistent loader/chunk cache reduce giant compile units and provide a local fallback when GitHub is unavailable.

Integrations

Webhook helpers, teleport scripts, server info copying and Bloxstrap RPC text.

Basic use

No long guide. Just the normal flow.

Start

1. Execute

Run the main loader from your executor.

2. Open command bar

Press the prefix key. Default is ;.

3. Run command

Try fly 3, noclip or view random.

4. Add plugins

Run pluginmaker to build one visually, or drop an existing .na/.iy file in the right plugin folder and reload it.

Player selectors

Use these anywhere a command accepts a player argument. Examples: fling nearest, view alive+closest, hitbox all-me 8, bring %red, and tp userid:123456.

Targets

Basic

selectors

Common direct target groups and their aliases.

all · everyone · * · others · other · me · self · random · nearest · closest · farthest · furthest
all/everyone/* = every playerothers/other = everyone except youme/self = your playerrandom = one random other playernearest/closest = closest playerfarthest/furthest = most distant player

Team-aware

teams

Target teammates or players outside your team. Neutral/no-team players are treated as nonteam.

team · teammate · teammates · allies · ally · nonteam · nonteams · noteam · noteams · notteam · enemies · enemy
team/teammates/allies = same teamnonteam/enemies = outside your teamlocal player is excluded from team groupsneutral players count as nonteam

Team prefix

prefix

Target players by team name prefix.

%<team prefix>
%red%blue%survivormatches Team.Name from the start

State filters

status

Target by character state, rig type, or basic avatar checks.

alive · dead · seated · sat · stood · standing · r6 · r15 · invisible · bacon · slenders · short
alive/dead = humanoid healthseated/sat = sittingstood/standing = not sittingr6/r15 = rig type

Social

filters

Target friends or non-friends.

friends · friend · nonfriends · nonfriend
friends/friend = Roblox friendsnonfriends/nonfriend = not friends

Pattern selectors

patterns

Selectors that carry a number or query inside the argument.

#3 · 3 · age30 · group123456 · rad50 · cursor
#N / N = N random playersageN = account age at or below N daysgroupID = group membersradN = players within N studscursor = player under your mouse

NPC selectors

npc

Use NPC selectors for supported NPC-aware commands. A selector may be placed after npc:, npcs:, or inside brackets.

npc · npcs · npc:nearest · npc:[alive] · npcs:rad50 · npc:[nearest,farthest]
NPC names and humanoid display names use prefix matchingrandom/nearest/farthestalive/dead/seated/stood#N and radNcomma or | joins NPC results

Name matching

players

Plain text matches usernames or display names by prefix. Prefixing the query with @ restricts it to usernames.

ghost · displaynameprefix · @usernameprefix
plain text = username or DisplayName prefix@name = username prefix onlycase-insensitive

Explicit player fields

exact

Choose which player field is searched instead of relying on normal username/display-name matching.

userid:<id> · id:<id> · username:<prefix> · name:<prefix> · display:<prefix>
userid/id = exact numeric UserIdusername/name = username prefix onlydisplay = DisplayName prefix onlyuse UserId when names may change

Combine and filter

syntax

Join separate result groups with a comma or pipe. Within one group, use + to narrow the current results and - to remove matches.

nearest,farthest · nearest|farthest · alive+nearest · all-me · others-dead · team+rad50
comma / | = union of result groups+ = intersect/narrow- = excludeoperations run from left to rightduplicates are removed

Persistent loop targets

rejoin

Long-running target commands resolve the selector first, then remember each matched player by UserId.

loopfling nearest · bang random · glue username:player
dynamic selector chooses the initial targetleaving pauses that targetrejoining reacquires the new Player instancedoes not switch to a new nearest/random player

ESP / Chams targeting commands

Dedicated ESP commands for all players, enemies/nonteam, allies, and specific teams.

ESP

Player ESP

players

Normal player ESP plus explicit all-player reset.

esp · espplayers · playeresp · espall · allesp · espallplayers
espall clears team filteringexcludes local player

Enemy / nonteam ESP

teams

Targets players outside your team. In no-team games, it targets all other players.

espenemies · espenemy · espnonteam · espnonteams · espnoteam · espnoteams
enemyespenemiesespnonteamespnoteamesp

Ally / teammate ESP

teams

Targets only your current team.

espallies · espally · espteammates · espteamates
allyespalliesespteammateesp

Specific team ESP

prefix

Targets players whose team name starts with the given text.

espteam <team prefix> · teamesp · espteamname · espbyteam · locateteam
espteam redespteam survivorno args = current team/allies

Chams team variants

chams

Same targeting modes as ESP, but without the text labels.

chamsenemies · chamsnonteam · chamsallies · chamsteammates · chamsteam <team prefix>
enemychamsnonteamchamsallychamsteamchams

Disable ESP / Chams

off

Turns off player ESP/chams modes.

unesp · unchams · unespteam · unespenemies · unespallies · unchamsteam
also disables team-filtered player ESP

Other command systems worth documenting

These are useful but easy to miss when only browsing the raw command list.

Extras

Part / model ESP

pesp, pespfind, folderesp, modelesp, unanchored, collisionesp, nocollisionesp, and matching un... commands.

Aura tools

aura [distance] and npcaura [distance] repeatedly touch nearby targets with your equipped tool. unaura and unnpcaura stop them.

Hitbox targeting

hitbox <player/selector> {size} supports selectors like nonteam, enemies, %red, and rad50. unhitbox removes it.

Command automation

loop, unloop, repeat, propertychanged, and unpropertychanged can rerun commands or react to instance changes.

Custom aliases/buttons

addalias, removealias, clearaliases, addbutton, and removebutton let users make shortcuts and mobile buttons.

Command UI helpers

cmdbar2 opens the HD Admin-style command bar. The docs still pull commands.json for searchable command cards.

Plugin Maker

pluginmaker / makeplugin opens the visual .na/.iy builder with actions, custom code, ServiceResolver services, preview and install support.

Plugin Maker

Build native .na or Infinite Yield-style .iy plugins inside Nameless Admin. The builder is aimed at users who do not want to write the entire plugin by hand, but it still exposes raw startup and command code when needed.

Builder

Open it

command

The command opens the resizable Plugin Maker window.

pluginmaker
makepluginpluginbuilderplugmakerpmaker

Output format

.na / .iy

Switch the top-right format button between native NA and Infinite Yield-style output.

.NA ⇄ .IY
.na → Nameless-Admin/Plugins.iy → Nameless-Admin/PluginsIY

Multiple commands

Add, duplicate, remove and select commands. Each command can have aliases, an argument hint, description, Requires Args, Override Alias, and an optional user button.

Visual actions

Stack actions in order without writing the command body yourself. Actions can be moved up/down or removed.

Startup + command code

Plugin Startup Code runs when the generated plugin loads. Command Code runs inside the selected command after its visual actions.

Service picker

Select only the Roblox services the plugin needs. The picker is searchable, supports Common / All / Clear presets and custom service names, and generated service locals resolve through NA's ServiceResolver.

Preview + compile check

Preview the complete generated source or copy it before saving. Save operations compile-check the generated Lua/Luau without executing the generated plugin first.

Save + install

Save to the executor workspace or write directly to the correct NA plugin folder and reload plugins. Existing filenames prompt for overwrite, copy, backup-and-replace, or cancel.

Edit existing plugins

The Edit button lists installed .na/.iy files with search. Existing raw source can be edited, compile-checked, written back and reloaded.

Plugins shortcut

The Plugins button opens NA's normal plugin manager so enabled state, reloads and file management stay in the main plugin system.

Visual action types
Notify
Run NA Command
Load URL / loadstring
Wait
Print
Copy Text
Run Command - Mobile Only
Run Command - PC Only
Notify - Mobile Only
Notify - PC Only
Add User Button
Remove User Button
Stop Command
Custom Lua

Action placeholders

Text/command actions can insert command arguments and player/session values without manual string concatenation.

{1} · {2} · {args} · {user} · {display} · {placeid} · {jobid}

User buttons

Commands can create a plugin user button and choose whether the button remembers typed arguments. Actions can also add or remove buttons at runtime.

Load a script URL
loadstring(game:HttpGet("https://raw.githubusercontent.com/username/repository/main/script.lua"))()
ServiceResolver-backed custom code
-- Select Players, Workspace and TweenService in the Services picker.
-- Plugin Maker creates these locals through NA's ServiceResolver:
print(LocalPlayer and LocalPlayer.Name)
print(Workspace)
print(TweenService)

-- Lazy access is also available:
local HttpService = Services.HttpService

-- Native .na command code can access the resolver/context directly:
local PlayersRaw = ctx.ServiceResolver.gs("Players")
local PlayersResolved = ctx.ServiceResolver.cs("Players")
local PlayersFromContext = ctx.Services.Players

Plugins

Manual native .na plugin API reference. If you do not want to write the file from scratch, use the Plugin Maker above.

Luau
full-example.na
local plugin = Plugin.new("Example", "Manual plugin example")

plugin:cmd("hello", "hi")
    -- :args(text) shows the usage hint in command lists and autofill.
    :args("<name>")
    -- :info(text) is the command description.
    :info("Say hi")
    -- :requiresArgs() blocks empty command input.
    :requiresArgs()
    -- :userButton(...) creates a temporary plugin button when the plugin loads.
    :userButton({ Label = "Hello", SaveArgs = true })
    -- :run(function(ctx, ...)) is the command code.
    :run(function(ctx, name)
        ctx:notify("Hello " .. tostring(name), 3)
    end)

-- OverrideAliases is opt-in. Use it only when this plugin intentionally
-- needs to take a base NA alias that already exists.
-- Without it, the conflict is remapped to plugin:<alias>.
-- Another plugin alias or a saved user alias is not replaced.
-- The original base alias returns when the plugin is disabled, unloaded, or reloaded.
--
-- plugin:cmd("fly", "customfly")
--     :OverrideAliases()
--     :args("[speed]")
--     :info("Custom replacement for the base fly command")
--     :run(function(ctx, speed)
--         ctx:notify("Custom fly speed: " .. tostring(speed or "default"), 3)
--     end)

plugin:cmd("fastfly")
    :info("Starts fly at speed 50")
    :run(function(ctx)
        ctx:run("fly 50")
    end)

plugin:cmd("torandom")
    :info("Teleports to a random player")
    :run(function(ctx)
        ctx:run("to", "random")
    end)

plugin:cmd("clipagain")
    :info("Runs noclip from a table command call")
    :run(function(ctx)
        ctx:run({"noclip"})
    end)

plugin:cmd("note")
    :args("<text>")
    :info("Shows a notification")
    :requiresArgs()
    :userButton({ Label = "Note", SaveArgs = true })
    :run(function(ctx, ...)
        ctx:notify(table.concat({...}, " "), 3)
    end)

PluginUI.addUserButton("Noclip", "noclip")
PluginUI.addToggleButton("Clip", "noclip", "clip")
PluginUI.addUserButton({ Label = "Fly", Command = "fly", SaveArgs = true })
PluginUI.removeUserButton("Fly")

plugin:cmd("panelon")
    :info("Creates a mobile-only panel button")
    :buttonOnRun({
        Id = "panel-toggle",
        Label = "Panel",
        Command = "panelon",
        Command2 = "paneloff",
        MobileOnly = true
    })
    :run(function(ctx)
        if ctx.IsOnMobile then
            ctx:notify("Panel button ready", 2)
        end
    end)

plugin:cmd("paneloff")
    :info("Removes the panel button")
    :removeButtonOnRun("panel-toggle")
    :run(function(ctx)
        ctx:notify("Panel button removed", 2)
    end)

plugin:cmd("makenotebutton")
    :info("Creates the Note button when this command is run")
    :run(function(ctx)
        ctx:addUserButton({
            Label = "Note",
            Command = "note",
            SaveArgs = true
        })
    end)

-- Useful ctx values inside :run(...):
-- ctx:notify("message", 3)
-- ctx:run("fly 50")
-- ctx:run("to", "random")
-- ctx:run({"noclip"})
-- ctx:addUserButton({ Label = "Fly", Command = "fly", SaveArgs = true })
-- ctx:removeUserButton("Fly")
-- ctx.IsOnMobile / ctx.IsOnPC / ctx.IsMobile / ctx.IsPC
-- IsOnMobile / IsOnPC / IsMobile / IsPC
-- NA_GRAB_BODY
-- getRoot(character), getChar(), getHum(character)
-- ctx.Services.Players
-- ctx.ServiceResolver.cs("Players") -- resolved/cloneref service
-- ctx.ServiceResolver.gs("Players") -- raw service
-- ctx.LocalPlayer
-- ctx.UI
-- ctx.File
-- ctx.Path

Native folder

Nameless-Admin/Plugins
.na plugins use Plugin.new(...).

IY folder

Nameless-Admin/PluginsIY
.iy plugins stay in the Infinite Yield style folder.

Buttons

Plugins can create temporary user buttons, toggle buttons and command-run buttons.

Context

ctx gives helpers for notifications, command calls, user buttons, UI/file data, device flags, LocalPlayer, Services and ServiceResolver.

ServiceResolver

Plugin service access is routed through NA's resolver. Use ctx.Services.Name, ctx.ServiceResolver.cs(name) for the resolved/cloneref service, or ctx.ServiceResolver.gs(name) for the raw service.

Plugin Maker

Run pluginmaker for the built-in visual/low-code builder, service picker, source preview, installation and existing-plugin editor.

Native alias override

Add :OverrideAliases() after plugin:cmd(...) to claim conflicting base NA aliases. Without it, conflicts are renamed to plugin:<alias>.

Table / IY override

Table and Infinite Yield-style commands use OverrideAliases = true. Plugin-owned aliases and saved user aliases remain protected.

Automatic restoration

Overridden base aliases are restored when the plugin is disabled, unloaded, removed, or reloaded.

OverrideAliases forms
-- Native .na builder form
plugin:cmd("fly", "customfly")
    :OverrideAliases()
    :info("Custom replacement for the base fly command")
    :run(function(ctx, speed)
        ctx:notify("Custom fly speed: " .. tostring(speed or "default"), 3)
    end)

-- Table / Infinite Yield-style command form
return {
    PluginName = "Override Example",
    Commands = {
        fly = {
            ListName = "fly",
            Aliases = {"customfly"},
            OverrideAliases = true,
            Description = "Custom replacement for the base fly command",
            Function = function(args, speaker)
                print("Custom fly speed:", args[1] or "default")
            end
        }
    }
}

Commands

The commands Nameless Admin has.

Core

Patched commands

Command overrides and fixes Nameless Admin includes.

Patched