Naughty commands

These commands can be used to directly modify various attributes of players, which may be useful for events, custom commands, and Lua scripts. These commands cannot be used when scrim_mode is enabled, and all of them require the player to have level 4 admin access in order to use them

Command Effect
ammo <player_expr> [int_expr] [weapon]

Change a player’s weapon’s unloaded ammo.

Weapon is the weapon with:
0 or unspecified = Current weapon
1 = Primary weapon
2 = Secondary weapon
3 = Tertiary weapon
4 = Quaternary weapon
5 = All weapons

area_add_cuboid <name> <a_x> <a_y> <a_z> <b_x> <b_y> <b_z> Add a custom rectangular area.
area_add_sphere <name> <x> <y> <z> <r> Add a custom spherical area.
area_del <name> Remove an area.
area_list List all areas for the loaded map.
area_listall List all areas for all maps.
assist <player_expr> [int_expr] Change a player’s assist count.
battery <player_expr> [decimal_expr] [weapon] Change a player’s weapon’s battery, with the value. Weapon is the same as at the ammo command.
boost <player_expr> Moves a player to the location the player is looking at.
camo <player_expr> [time] Apply a camo to a player for an amount of seconds. This will have no effect if the player already has a camo.
color <player_expr> [index] Change a player’s FFA color.
coord <player_expr> Return the player’s coordinates.
deaths <player_expr> [amount] Change a player’s death count
disable_all_objects <team> <disable> Disable all objects for a team, preventing all players on a team from using any objects.
disable_all_vehicles <team> <disable> Disable all vehicles for a team, preventing all players on a team from using any vehicles.
disable_object <tag_path> [team] Disable an object, optionally disabling for a specific team. Use tools like HMT or Eschaton to retrieve tag paths, or use the tag paths listed in the table below.
disabled_objects List all disabled objects.
enable_object <index or tag_path> Enable an object based on ID retrieved from disabled_objects, or based on a tag path. Use tools like HMT or Eschaton to retrieve tag paths, or use the tag paths listed in the table below.
gamespeed [speed]

Change the ticks-per-second of the game. A tick normally lasts 1/30 of a second, but this command can change this to make the server faster or slower.

This setting requires that clients have HAC2 or Anticheat installed to sync automatically.
Values greater than 35 may result in networking issues for clients where the value has synced.

Values lower than 30 will result in unsynced clients visibly warping according to synced clients, effectively making all unsynced clients run at 30 ticks per second while everyone else runs at the slower speed of the server.

Default: 30.0

god <player_expr> Enable invulnerability for a player. Use ungod to remove.
ungod <player_expr> Remove god mode from a player, if it’s enabled.
gravity <float> Set the server gravity in world units/tick2. By default, this is 0.003656.

This setting requires clients have Anticheat to sync automatically.
hp <player_expr> [decimal_expr] Get or set the health for a player.
kill <player_expr> Kill the player.
kills <player_expr> [int_expr] Get or set the kills for a player.
lag <player_expr> Prevent the player from moving, resulting in them appearing to lag and warp back to a single spot. Use the unlag command to remove this effect from a player.
unlag <player_expr> Disable lag on a player.
loc_add <location_name> Add a location to the location of the player.
loc_add <location_name> <x> <y> <z> Add a location to an X/Y/Z coordinate.
loc_del <location_name> Delete a location.
loc_list List locations for the currently loaded map.
loc_listall List all locations for all maps.
m <player_expr> <x> <y> <z> Teleport the player to a location relative to that player.
mag <player_expr> [int_expr] [weapon] Get or edit the ammo loaded in the player’s weapon. Weapon is the same as at the ammo command.
nades <player_expr> [int_expr] [type]

Get or edit the amount of grenades that the player is holding. Type is the grenade type, with 1 being primary and 2 being secondary.  If no grenade is specified, then both types of grenades are affected.

Although a player may have up to 127 grenades, grenade counts greater than 7 will not sync properly with clients. This may prevent the grenade counter from being displayed properly. Avoid using more than 7 grenades.

s <player_expr> [decimal_expr] Get or edit the speed of the player.
score <player_expr> [int_expr] Get or edit the player’s score.
sh <player_expr> [decimal_expr] Get or edit the player’s shield.
spawn <type> <tag_path> [player_number] [rotation] Spawn an object at a player’s location. Type is the tag class. Use tools like HMT or Eschaton to retrieve tag paths. Rotation is in radians.
spawn <type> <tag_path> [location_name] [rotation] Spawn an object at a location.  Type is the tag class. Use tools like HMT or Eschaton to retrieve tag paths. Rotation is in radians.
spawn <type> <tag_path> [<x> <y> <z>] [rotation] Spawn an object at an X/Y/Z coordinate, optionally providing rotation in radians.  Type is the tag class. Use tools like HMT or Eschaton to retrieve tag paths. Rotation is in radians.
st <player_expr> [red/blue] Change the team of the player. Providing a team name will only change the player if they are on the team opposite to the provided team name.
t <player_expr> <location_name> Teleport the player to a location.
t <player_expr> <x> <y> <z> Teleport the player to an X/Y/Z coordinate.
team_score [red/blue/both] [int_expr] Get or edit the score of a team or all teams.
tp <player_expr> <player_number> Move the player to another player.
vdel <player_expr> Delete all vehicle(s) that were assigned to the targeted player with the spawn command.
vdel_all Delete all vehicles that have been spawned with SAPP.
venter <player_expr> [seat] Force the player to enter the previously spawned vehicle. A player can be in multiple vehicles/seats. Seat is the index of the seat, with 1 usually being the driver’s seat.
vexit <player_expr> Force the player to exit all vehicles.
wadd <player_expr> Add the previously spawned weapon to the player’s inventory.
wdel <player_expr> <weapon>

Remove a weapon from the player’s inventory and delete it.

Weapon is the weapon with:
0 = Current weapon
1 = Primary weapon
2 = Secondary weapon
3 = Tertiary weapon
4 = Quaternary weapon
5 or unspecified = All weapons

wdrop <player_expr> Drop the player’s currently held weapon.

List of the object names and types:

These are the default object's in Halo: Combat Evolved and Halo: Custom Edition.
To get a complete list of all the objects on a map you can use a tool like HMT (Halo Map Tools) or Eschaton

Real Name Object Name Type
Banshee vehicles\banshee\banshee_mp

vehi

Covenant Gun turret vehicles\c gun turret\c gun turret_mp

vehi

Ghost vehicles\ghost\ghost_mp vehi
Rocket Warthog vehicles\rwarthog\rwarthog vehi
Warthog vehicles\warthog\mp_warthog vehi
Scorpion vehicles\scorpion\scorpion_mp vehi
     
Assault Rifle weapons\assault rifle\assault rifle weap
Oddball weapons\ball\ball weap
Flag weapons\flag\flag weap
Flamethrower weapons\flamethrower\flamethrower weap
Fuel rod gun weapons\plasma_cannon\plasma_cannon weap
Needler weapons\needler\mp_needler weap
Pistol weapons\pistol\pistol weap
Plasma Pistol weapons\plasma pistol\plasma pistol weap
Plasma Rifle weapons\plasma rifle\plasma rifle weap
Rocket Laucher weapons\rocket launcher\rocket launcher weap
Shotgun weapons\shotgun\shotgun weap
Sniper Rifle weapons\sniper rifle\sniper rifle weap
     
Frag Grenade weapons\frag grenade\frag grenade eqip
Plasma Grenade weapons\plasma grenade\plasma grenade eqip
Healt Pack powerups\health pack eqip
Over Shield powerups\over shield eqip
Camouflage powerups\active camouflage eqip

Player Commands

Most of these commands are available to all players. Commands in ​blue​ cannot have their levels or names modified with setcmd, nor can they be scripted with the ​execute_command function.

Command usage Effect Level

about

This command displays the current version.

-1

afk

This command marks the player as AFK, disabling the  player’s future respawns

0

clead [ping]

This command has player lead at a certain ping rather than at 0 ping. ​no_lead has to be enabled and ​lead has to be disabled.

-1

info

This command displays the server name, the number of players, the current map, and if scrim mode is enabled.

-1

lead [enabled]

This command toggles leading when no-lead mode is enabled.

Default: false

-1

list [“generic/player/custom”]

Log into a V2 admin account.

-1

login <password>

Matches all regular players (non-admins).

-1

report [message]

Report with a message. This command requires anticheat to be enabled.

-1

stats

Show the player’s kills, deaths, and kill/death decimal.

-1

sv_stats

Displays stats about the server, including query count, join attempts, executed command count, executed events count, games played, flags captured, kills, betrays, suicides, and chat message count.

 

The data is cleared when SAPP is unloaded.

-1

stfu

Block messages received from the say command as well as scripted rcon messages.

-1

unstfu

Disables stfu. The reason for this command existing instead of just toggling stfu with /stfu 0 is unclear. -1
usage <command>

Get the usage for a specified command.

-1
whatsnext Get the next game in the mapcycle. -1

 

General Commands

Loading SAPP

These commands are used for loading, unloading, and reloading SAPP.

Command Effect
load

This command is used for loading SAPP and is immediately available when strings.dll is enabled. This command will fail if sapp.dll is not present.

This command cannot be used while SAPP is loaded.

unload

This command will unload SAPP, essentially reverting the game back to stock. This is useful if you want to manually update.

This command can only be executed from the server console or from rcon.

reload This command will reload SAPP’s configuration settings and any SAPP scripts from the SAPP folder. This is faster than using unload and then load.

General Commands

These commands are intended to be used by administrators to moderate the server or otherwise don’t fall under the other categories.

Command usage Effect Level
afks

Display a list of AFK players.

0

b <player_expr> [reason] [time]

This command kicks and issues a ban on a player and announces this to the server. Time uses the same format as the sv_ban command.

3

balance_teams

Balance teams based on stats. This may not always make the teams even in player count.

2

bans

This command is equivalent to sv_banlist.

3

beep [Hz] [ms] Play a beeping sound on the host. By default, this is 1000 Hz at 1000 milliseconds. 4

cpu

Display information about the server’s CPU, CPU load, memory usage, and operating system.

4

d <player_expr>

Display a player’s name, team, admin level, player table index, and machine index. If the player is alive, then also display the object address, object ID, shield, health, speed, invisibility info, as well as the player’s coordinates. If the player has a weapon, then also display the weapon address and weapon object ID, if in a vehicle then also the vehicle address and vehicle object ID.

4

files

Locate all SAPP txt files.

4

ipban <player_expr> [time] [reason]

Temporarily ban a player by IP. If ban time is 0 or no ban time is given, then the ban is indefinite.

3

ipbans

Display all IP bans and their indices. 3

iprangeban <name> <IP range> [reason] [time]

Ban an IP by range using CIDR IP addressing (X.X.X.X/YY). If no time is given, then the ban is indefinite. This may not immediately remove players from the server unless full_ipban is enabled.

3

ipunban <index>

Unban an IP. 3
inf <player_expr>

Display a player’s CD-key hash, IP address, and index.

3
k <player_expr> [reason] This command kicks a player on a player and announces this to the server. 2
kdr <player_expr> Display a player’s kill/death ratio. 0
log_note [message] Make a note in SAPP’s log. 4
map <map> <gametype> This is an alias for sv_map. 3
maplist This command is equivalent to sv_maplist, but displays maps in three columns. 3
mute <player_expr> [time] Ban a player’s IP from the chat. If time is unspecified, the ban is indefinite. Mutes are volatile and are cleared when SAPP is reloaded. 2
mutes List mutes. 2
unmute <index> Remove a mute. 2
pl This command is equivalent to sv_players. 2
skips List players who voted to skip the server. 0
teamup Group clan members together. 2
textban <player_expr> [time] Ban a player’s CD-key from the chat. If time is unspecified, the ban is indefinite. Textbans are volatile and are cleared when SAPP is reloaded. 2
textbans List textbans. 2
textunban <index> Remove a textban. 2
uptime Display how long the server and operating system have been running. 0

Command expression

Note: Commands are accessible from the console, via rcon and chat text (place \ or / [or whatever you set with cmdstart command, see Config Commands for more info] before each command) if you have the appropriate admin rights/level, and from the init.txt (both).

Command argument options:

Command Effect

<>

Required Argument

[]

Optional argument

Player Expressions
Some commands have <player_expr> as an argument. While you can use a player index here, you can also target multiple players, or players with a specific name. Stock Halo commands do not support player expressions.

Command Effect

[number]

Matches player with given number (from pl command).

*

Matches all players.

*Alan*

Matches all players with Alan in name. (Case-sensitive)

me

Matches the player who is executing the command.

rt

Matches all players on red team.

bt

Matches all players on blue team.

pl

Matches all regular players (non-admins).

admin

Matches all admins.

rand

Will pick a random player.

randred

Will pick a random player from the red team.

randblue

Will pick a random player from the blue team.

Examples:
kill me : kills you
k New* : kicks every player who's name starts with "New" (for ex. it will kick players "New001" and "New999" and "Newbie" etc.)
k N?b: kicks every player who's name is like "N?b" (for ex. it will kick players "Nub" and "Nab" and "N@b" etc.)
k *WTF* : kicks every player who's name contains "WTF" (for ex. it will kick players "[WTF] John" and "(WTF)Robert" and "xD WTF Bot" etc.)

Decimal and Integer Expressions
In certain commands, some commands have <decimal_expr> and <int_expr>. While you can simply set the value to whatever positive value you want (negative values require the : expression), using an expression can be useful depending on what the goal is.
<int_expr> is an integer value. Some integers may have lower upper-bound limits due to the size of the integer.
<decimal_expr> is a float value and is a decimal, meaning 0.0 to 1.0. One percent is equal to 0.01.

Expression Effect

[number]

Set a value to an exact value. This is not required for positive values but is required  for negative values.

+<number>

Add a value to the current value.

-<number>

Subtract a value from the current value.   

If you are intending to set a value to a negative value, use the : expression.

*<number>

Multiply the current value with a value.

/<number>

Divide the current value with a value.

Examples:
kills me +100: will add 100 kills to me
s * :-1 will set every1's speed to -1 (try this1, nice trolling :P)
deaths 4 -20: will decrease player 4's deaths by 20
ammo New001 *1.20: will increase New001's ammo by 20%
The "original" method still works, if you don't set any operator, the value will be set to the given amount;
kills me 2000: will set my kills to 2000

Copyright © 2025 SAPP: Halo and Halo Custom Edition Server App. All Rights Reserved.
SAPP is sponsored by Elite Game Servers