The Console's main use is for manipulation of the server and enables access to more administrative functions such as kicking and banning people, unbanning people, accessing a gametype to play, overriding the time limit, etc.
The Console was supposed to be provided exclusively for the full version of Halo but has now been enabled for the Demo via HConsEnabler.
To get into the console, run that program while in the main menu of Halo Demo and wait for it to finish. When it eventually quits itself, press the tilde (~) key to get into the console at almost any time while in Halo Demo.
|Command and Syntax||Explanation|
|cls||Clear the Console|
|connect IP:PORT PASSWORD||Connect to a Server. It requires the password argument even if the server you want to connect to has no password. If that is the case, have the password be something less than 8 characters such as "halo".|
|disconnect||Disconnect from a Server|
|help COMMAND||Get Help on a Command (Doesn't work for all)|
|mouse_acceleration NUMBER||Modify Mouse Acceleration|
|rasterizer_fps BOOLEAN||Toggle the FPS|
|rcon PASSWORD COMMAND||Sends a command for a server to execute at a console. Use \" to send quotes.|
|should_play_multiplayer_hit_sound BOOLEAN||Toggles the beep you get whenever you damage a person|
|sv_ban PLAYER||Bans a player for a certain amount of time. PLAYER can be their name or their index. This is marked red because it's not very usable in the demo version of Halo as the banned client could rejoin by only changing their client port. The full version of Halo bans their CD-key. Yummy's Halo Banning is more effective but usually involves guessing at the IP address.|
|sv_ban_penalty [(PENALTY)(MIN,HRS,DAYS), 0=infinite]||Set the ban penalty (up to 4). This is marked red because it's not very usable as the banned client could rejoin by only changing their client port. The full version of Halo (version 2) bans their CD-key.|
|sv_banlist||Get a list of all of the banned people, their index, their penalties, and IP.|
|sv_end_game||End the current game and starts a new one with the newest settings. This command must NEVER be used as it temporarily halts mapcycle and the mapcycle timeout, stalling dedicated servers. A better alternative is the sv_map command.|
|sv_friendly_fire INT||Sets preferences for friendly fire. 0=default, 1=off, 2=shields, 3=on|
|sv_gamelist||Lists all available gametypes|
|sv_kick PLAYER||Kicks a player off the game (they can rejoin). PLAYER can be their name or their index|
|sv_map MAP VARIANTNAME||Abort current game and playlist to start specified game. It does not stop the mapcycle timeout, so, dedicated servers will not stall from sv_map. An alternative to this command for Halo Demo is HDemoLauncher, which can perform all of the tasks that sv_map could do.|
|sv_map_reset||Resets current game. Same as "RESTART GAME" in "SERVER SETTINGS".|
|sv_maplist||List all maps.|
|sv_mapcycle_timeout SECONDS||Set delay between each game.|
|sv_maxplayers PLAYERS||Set maximum players in a server. 0-16|
|sv_players||View list of players, their index, scores, tk's, IP's, etc.|
|sv_rcon_password PASSWORD||Set rcon password for executing commands without being host|
|sv_single_flag_force_reset BOOLEAN||Set whether or not the flag resets when the timer expires.|
|sv_status||View status of server.|
|sv_timelimit MINUTES||Sets time limit for games.|
|sv_tk_ban TEAM_KILLS_TO_BE_BANNED||Sets how many team kills it takes for the annoying auto-banner to take action. Red because it's as defective as sv_ban because the client could easily change their client port.|
|sv_tk_cooldown SECONDS,MINUTES||Time to wait for Team Kill points to decrease by 1 for all players.|
|sv_tk_grace SECONDS,MINUTES||Specify grace period in which Team Kill points don't apply.|
|sv_unban PLAYERINDEX||Unban a player in the banlist. You can get player indices from the banlist. This is red because there is no need to do this in demo, as the banned player could change their client port.|
Dedicated Server Commands Not Usable in Halo Demo
|sv_mapcycle||View current mapcycle. (Dedicated server only)|
|sv_mapcycle_add MAP VARIANTNAME||Add new game to end of current mapcycle. (Dedicated server only)|
|sv_mapcycle_begin||Load mapcycle. (Dedicated server only)|
|sv_mapcycle_del INDEX||Removes game at INDEX. Will not affect running games. (Dedicated server only)|
|sv_map_next||Abort game to begin the next game in the playlist. (Dedicated server only)|
|sv_name NAME||Set name of server before starting it. (Dedicated server only; this can be done alternatively with HServerChanger)|
|sv_password PASSWORD||Set password of server before starting it. (Dedicated server only; this can be done alternatively with HServerChanger)|
|sv_public BOOLEAN||Sets whether or not server should be public. (Dedicated server only)|
Bold = Information available via the help command
Some commands can be automated to execute when Halo Demo starts up. For instance, you can have "sv_mapcycle_timeout 5" execute when Halo Demo launches, which is quite convenient. A simple plain text file named init.txt needs to be created in the Halo Demo folder. Console commands can then be inserted in the file to be executed. Note: if you want Halo Demo to parse multiple commands, you will need to make sure to use CRLF line breaks between each command.
HDemoLauncher has a feature that is able to create a template init.txt file for the user with proper line breaks, and, upon startup of HDemoLauncher, it also alerts the user if his init.txt file is broken (improper line breaks) and is able to fix the file.
Dedicated servers are servers that run via a console. These servers are only available in the full version of Halo for the Mac in the Universal Binary version. They are also available for Halo for the PC in the full version. A commonly used Halo Dedicated Server is a Windows tool known as haloded.exe (1.9).
(this list of pros and cons to running the dedicated server is not complete. add more)
• These servers do not require a person to be in the server.
• Multiple people can act as an administrator.
• Most server providers provide hosting for a reasonable price.
• If someone were to find the rcon password, it can simply be changed.
• Mapcycles have the server flow and not be stuck on the CARNAGE REPORT screen.
• Using an rcon command returns the result instead of "rcon command finished".
• You can do everything you normally could have done without a dedicated server. You just need to use the console, instead of the menu of your server.
• Dedicated servers usually have less lag.
• sv_end_game causes the server to end the game and stall until it is eventually shut down. Never use this command, ever. There's no need for it. Instead, use "sv_map_restart" to restart a game or use "sv_map <mapname> <gametype>" to end the game and move to this next gametype.
• quit causes the server to shut down. Some server providers will automatically bring it back up. Just don't use this command, ever.
• Bad connections to the server can delay commands.