Note: Commands are accessible via rcon and chat text (place \ or / [or w/e u set with cmdstart command, see misc Commands for more info] before each command) if you have the appropriate admin rights/level, console and from the init.txt (both).
|load||Loads server plugin (sapp.dll), commands listed below are available only if ‘load’ had been issued before.|
|unload||Unloads server app, useful when new version of sapp.dll is released 🙂 and you want to perform update without restarting server.|
|reload||Reload all sapp files.|
|refresh_ipbans||Refresh IP-banlist and ipbans.txt.|
|v1||Change server’s version to 01.00.00.0609 on CE and to 01.00.04.607 on PC|
|v2||Changes version to 01.00.09.0620 (1.09 – official version)|
|v||Display current version of server.|
|vspec||You can set a special version number, use the “xx.xx.xx.xxxx” format, only for advanced users.|
|pl||= sv_players + players/max slot|
|map||= sv_map with an extra feature that it will cancels mapvote for that round|
|maplist||= sv_maplist just with 3 columns|
|balance_teams||This command will try to make the most equal teams based on kills, assists, deaths and TKs, with a two pass scoring system. 😉
Players, whos got team switched, won’t get +1 death.
|k player_expr “reason”||Player will be kicked with a reason noticing the other players. Ex:
k 4 moron
** server ** New 001 was kicked by the admin. Reason: moron
|b player_expr [time] “reason”||Player will be banned with a reason noticing the other players. Ex:
b 4 h4x0r
** server ** New 001 was banned by the admin. Reason: h4x0r
|say player_expr msg||Sends server messages to players matching player_expr. say “message” = say * “message”
\n will be replaced with name of player that receives message.
\o will be replaced with name of opposite team.
|setcmd <command> <name/level>||Set the name/level of the given command. Example: setcmd k
kick this will change ‘k’ command to ‘kick’setcmd k 3 this will change ‘k’ (kick) command’s level to
|anticheat [enabled]||Enables anticheat mode, when only clients with anticheat can play
in the server. Only possible to use it from sapp’s init.txt, once it
enabled, can’t be disabled until you restart the server.
|custom_sleep [value]||Set the amount that the Halo thread Sleeps every cycle, to use the
default speed set it to 0 (with the “33 pings”), default value is 8.
Changing this value can improve reg, but very low values like 1 can
cause low ping players desync. Note that this has no
effect on physics processing or network traffic rate.
|say_prefix [enabled]||Enable / Disable “** SERVER **” prefix on server messages|
|msg_prefix <string>||You can set a custom prefix instead of ** SERVER **. Ex:
msg_prefix “** SAPP ** ” (default), msg_prefix “” = no prefix
|cmdstart [character]||This will set the character that used to run admin commands from
the chat (if you have admin rights ofc), default is ‘\’For ex in the chat: \pl, \sv_kick 4, or \k 4 noob
|cmdstart1 [character]||Secondary cmdstart, default is ‘/’|
|sapp_rcon [enabled]||If enabled, only sapp admins can use the rcon, v1 admins with the
default rcon password, v2 admins with their own password. Bruteforce
protection is always active even if this function is disabled.
|sapp_mapcycle [enabled]||If enabled, sapp will use the mapcycle you specified in the
mapcycle.txt, read more on the “Sapp Mapcycle” page.
|collect_aliases [enabled]||If this function is enabled Sapp will track what other names a
player used in your server, IF he/she has valid CD-Key. This function
is NOT enabled by default.
|alias <player_expr>||Displays all the names that the player used in your server. Note
that you have to enable collecting aliases first with the
collect_aliases 1 command (put it to the sapp’s init.txt)
otherwise this function won’t work.
|ping_kick [ping]||If player’s ping is higher than [ping] for about 20 seconds, he’s
kicked. However, player who just joined the game and his ping is high
for a while is not punished by this feature. Admins are not kicked, if
[ping] is 0 then ping kicking is disabled.
|afk_kick [time]||AFK players (unless they are admins) are kicked after a given
period of inactivity (in seconds), if [time] is 0 then afk kicking is
|afks||Displays inactivity periods (in seconds) of the players.|
|disable_sj [enabled]||Disables the usage of SightJacker for HAC users like in
|scrim_mode [enabled]||If enabled, no one can execute any naughty
commands.Server sends a message to every player if this status is changed.
You can also check it’s status with the info command.
|no_lead [enabled]||Enables/disables the no_lead mode for everyone. You can check and
change the state of leading with the lead
command.If the admins didn’t enable
no-lead mode, you can’t turn it on for yourself, but if they
enabled it, everyone can
disable this mod for themselves by typing lead
1 to the chat. Also, you can re-enable it with the
lead 0 command.
|adminban [type]||Type:0 Admin can kick/ban another admin. (default)Type:1 Admin can’t kick/ban another admin with higher level.
Type:2 Admin can’t kick/ban another admin with higher or equal
|adminadd_samelevel [value]||The value is 0 by default, if set to 1, admins can add other
players as admin with the adminadd command with lower level
than them, if value is set to 2, admins can add others as admin with
lower or equal level.
|admindel_samelevel [value]||The value is 0 by default, if set to 1, admins can delete other
players as admin with the admindel command with lower level
than them, if value is set to 2, admins can delete others as admin
with lower or equal level.
|anticaps [enabled]||OVERUSING CAPS LOCK IS PUNISHED WITH lowercase text|
|antispam [type]||Players, who spam the chat usually with spam-bot, will get type: 1
– textban (cd-key based), type: 2 – mute
|antihalofp [enabled]||IP trying to connect to the server more than 8 times in a short
time period will be added to IP banlist for 5 minutes.
|anticamp [time(s)] [distance(m)]||Raises event_camp <killnumber> ‘command’ event.
For ex. anticamp 30 5 : if the distance between the
player’s coordinates is less than 5m in the last 30 sec, it will raise
event_camp event with the number of the kills he did while he was
in this “camping stage”.Note: You walk about 3 Meter per second when moving forward at
event_camp 3 ‘say $n “$name
event_camp 4 ‘say $n “$name stop
event_camp 5 ‘say * “Warning!
event_camp 6 ‘k $n
|antiwarp [warp_num]||Raises an event_warp after the player warped
“warp_num” times. Recommended value: 5, 0 means this function
event_warp ‘kill $n;say $n “You were killed because you are
|c4_ag [enabled]||Players trying to C4 switch glitching will be kicked.|
|map_skip [value]||Players can type ‘skip’ to the chat to skip to the next map. The
value is the % of the required votes to skip.Value can be between 40 and 100 or 0 to disable map skipping.
|skips||Displays a list about players who voted for skip the current
|spawn_protection [time]||Spawn Protection. For Example with spawn_protection 5
players will be invincible in the first 5 seconds (or till the
first shot) after spawning.Value can be between 1 and 10 (and 0 to disable spawn
|aimbot_ban [value] [type]||Players will get scores for “suspect” movements. If a players
score is higher than the aimbot_ban value, he/she will be banned
=)Type -> 0 – Normal Ban, 1 – IP Ban (default), 2 – both, 3 – kick
Note that you WON’T get banned if you are shaking your camera like a
Value is between 2000 and 100000, recommended is 5000-10000. (The less
|aimbot_scores||Displays aimbot scores of all players in the server.|
|mapvote [enabled]||Enables/disables map voting. See “Map Vote” page for more
|max_votes [number]||Specify the amount of displayed mapvotes / round, default value is
5.Sapp now cycling the mapvotes, instead of showing all the 8-12+ in the
same time. For ex. if the “max_votes” is 5, then the players only can
vote for the first 5 options, and after the voted game ended, they can
choose from the next 5 option in the end of the next round etc.
|change_password <old> <new>||With this, v2 admins can change their own password.|
|save_scores [enabled]||If enabled, SAPP will save the player’s score of the current game,
in case if he/she is lag out etc., the player wont lose his/her
|log [enabled]||Enable / Disable SAPP logging.|
|log rotation [kb]||Sets the size of the log file after it gets archived. Default
value is 4096 (kb).
|log_name [name]||You can specify custom log name. Note that name is
without the “.log” file extension.
|log_note <string>||Writes a note into the SAPP log.|
|gs_ping_fix [enabled]||Fixes the bug that the servers behind a router didn’t have ping on
|packet_limit [amount]||Gives basic DoS protection to the server. If the server receives
more packets in 1 second than specified with “amount” Sapp
automatically bans the IP. Minimum value is 256, default is 1024, 0 =
|full_ipban [enabled]||If enabled, all packets from the banned IPs will be blocked,
otherwise only join requests and server queries. This function is
disabled by default, enabling it with a huge ipban list can cause the
server lag and the pings increase.
|block_tc [enabled]||If enabled players are always blocked from changing their
|sapp_console [enabled]||Disables the sv_status spam and instead displays when a player
joins/leaves or a new game starts
|unlock_console_log <enabled>||If enabled, unlock some stuff in the memory and console will be
more “chatty” 😛 It will inform you from everything like player join,
kill, betray, flag capture etc. (CE version only)
|chat_console_echo [enabled]||If enabled, chat messages will shown in the console window.|
|set_ccolor [value]||Set the color of the console text (0-255), 0-15 with black
background. Default is 7 (grey text on black)
|max_idle [time]||If the server is idle for more than “time” seconds Sapp
automatically restarts the mapcycle. Default is 60, 0 = disabled.
|inf <player_expr>||Displays PlayerIndex, Name, IP and CD-Key Hash of the given
|ip <player_number>||Displays player’s IP, Rev DNS and CD-Key hash.|
|d <player_number>||Displays some shitty info about the player.|
|cpu||Displays Processor brand string, and operating system version
|uptime||Displays uptime of sapp.dll and operating system.|
|beep||Beeepp!!! (beep <hz> <ms> 😉|
|timelimit [amount]||Changes the timelimit on the fly, value smaller than 1 means
|scorelimit [amount]||Changes the scorelimit on the fly. Works with all gametypes, both
FFA and Team games. Note that in special gametypes like KingOfTheHill
or OddBall, amount is in minutes.
|s <player_expr> [amount]||Changes speed of given player, default speed is 1. Example:s 4 6 will changes speed of player 4 to
|st <player_expr> [red|blue]||Changes team of player, if no team is given then team is switched
to opposite. Player won’t get +1 death. 🙂
|kill <player_expr>||Kills the player.|
|kills <player_expr> [amount]||Sets the kills of the player.|
|assist <player_expr> [amount]||Sets the assists of the player.|
|deaths <player_expr> [amount]||Sets the deaths of the player.|
|ctf_score <player_expr> [amount]||Sets the ctf score of the player.|
|slayer_score <player_expr>[amount]||Sets the slayer / team slayer score of the player.|
|ctf_score_team <team_expr>[amount]||Sets the ctf scores of the team. Ex: ctf_scores_team red 20,
ctf_scores_team * 4
|slayer_score_team <team_expr> [amount]||Sets the team slayer scores of the team.|
|god <player_expr>||Player will be invincible. =)|
|ungod <player_expr>||Player can be killed.|
|lag <player_expr>||Lag given player.|
|unlag <player_expr>||Unlag given player.|
|camo <player_expr> [time]||Makes the player invisible for the given time, if no time was
specified, the player will be invisible until death.
|coord <player_expr>||Displays the coordinates of the given players.|
|loc add <location_name> <x> <y>
|Adds new location to list. Example:t add red_base 546.4 3.3 24.3|
|loc add <location_name>||Adds current player position to location list. Example:t add red_base|
|loc del <location_name>||Remove location from list. Example:t del red_base|
|loc list||Lists locations from current map.|
|loc listall||Lists locations from all maps. Locations are stored in the halo
|area add_sphere <name> <x> <y>
|Adds a new sphere to the current map. x,y,z are the coordinates of
the center of the sphere, r is the radius in world units.
|area add_cuboid <name> <a_x> <a_y>
<a_z> <b_x> <b_y> <b_z>
|Adds a new cuboid to the current map. The cuboid will between the
given ‘a’-‘b’ coordinates.
|area del <name>||Deletes an area from the current map.|
|area list||Lists all the areas for the current map.|
|area listall||Lists all the areas. Areas are stored in the halo
|t <player_expr> <x> <y>
|Teleports player to position (x,y,z). Example:t 3 100.4 74.2 36|
|t <player_expr> <location_name>||Teleports player to previously added location. Example:t 3 red_base|
|m <player_expr> <x> <y>
|Same usage as t, this command teleports player to location
relative to his current position. For examplem me 0 0 100 moves admin 100 units
|tp <player_expr> <player_number>||Teleports given player(s) to another player. For example tp me
5 teleports me to player 5, tp * 1 teleports all player
to player 1. tp 8 2 teleports player 8 to player 2.
|boost <player_expr>||Teleports the given player to the location where he/she
|hp <player_expr> [amount]||Displays / sets the given player(s) health.|
|sh <player_expr> [amount]||Displays / sets the given player(s) shield.|
|nades <player_expr> [amount] [type]||Displays / sets the amount of nades of the given players, type;
0/ungiven: both, 1: frag nades, 2: plasma nades
|ammo <player_expr> [amount] [type]||Displays / sets the amount of the ammo of the given players, type;
0/ungiven: current weapon, 1: primary, 2: secondary, 3 tertiary, 4:quaternary, 5: all
|battery <player_expr> [amount] [type]||Works the same way as ammo, you can set the battery of the
covenant weapons (in %), sync after you switch weapon and switch
|mag <player_expr> [amount] [type]||Set the loaded bullets in the given weapon(s), set it to 32000 for
“infinitive” bullets, type same as at ammo/battery commands.
|spawn <type> <name>||Ex: spawn weap “weapons\sniper rifle\sniper rifle” will
spawn a sniper to you. Scroll down to the bottom of the page for the
names of all classic object.
|spawn <type> <name> [player_number]||Will spawn the object to the given player.|
|spawn <type> <name> <x> <y>
|Will spawn the object to the given coords.|
|spawn <type> <name>
|Will spawn the object to a previously added location.|
|olist [g/w/v]||List the spawned objects: g – general, w – weapons, v –
|despawn [g/w/v] [id]||Despawn the selected object from the olist.|
|wadd <player_expr>||Assign the last spawned weapon to the given player. You can assign
up to 4 weapons. Note that if the player has 4 weapons, he/she can’t
pick up the flag/oddball.
|wdel <player_expr> <weapon_number>||Removes the weapon from the player’s hand, weapon_number: 0 – all,
1-4 the selected one.
|venter <player_expr> [seat]||Enters the player to the last spawned vehicle. Note that you can
enter a player to more vehicles and/or more seats in one vehicle.
|vexit <player_expr>||Ejects player from the vehicle(s).|
|vdel <player_number>||Deletes the vehicles assigned to the player (with spawn), if the
player_number is 0, it will delete the ones which aren’t assigned to
anyone, if it’s “all”, it will delete every spawned vehicle.
|disable_object <object_name> [team]||It will deny the usage of the given objects. You can get the
object names from the bottom of this page.team : 0/unset – both, 1 – only players of the red team, 2 – only
players of the blue team.
Ex.: disable shotgun for the blue team: disable_object
|disabled_objects||Displays the disabled objects and their IDs.|
|enable_object <ID>||Allows the usage of the given object. You can get the ID from
|disable_all_objects <team> <disable>||team: 0 – both, 1 – red, 2 – blue; disable: 0 – the team can
interact with any object (default), 1 – the given team(s) can’t
interact with any object (weapons, vehicles, etc.).
|color <player_expr> [index]||Changes the color of the given players (after respawn, only in not
team games). Index is a number from 0 to 17, where: 0 – white, 1 –
black, 2 – red, 3 – blue, 4 – gray, 5 – yellow, 6 – green, 7 – pink, 8
– purple, 9 – cyan, 10 – cobalt, 11 – orange, 12 – teal, 13 – sage, 14
– brown, 15 – tan, 16 – maroon, 17 or above – salmon.
|Real Name||Object Name||Type|
|Covenant Gun turret||vehicles\c gun turret\c gun turret_mp||vehi|
|Assault Rifle||weapons\assault rifle\assault rifle||weap|
|Fuel rod gun||weapons\plasma_cannon\plasma_cannon||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|
|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|