Thursday, May 1, 2008

RCon in Halo MP

H. Controlling Team Killing and Banning undesirable players
Halo Dedicated Server v1.03 introduces a new system to control team killing in online games.
At its core, the system is very simple. It's also very flexible and allows server administrators to tweak servers to reflect settings they deem appropriate to provide the best game experience to their users. Here's how it works:
Every time a player kills someone on their team, they are awarded a "team killing point" (let's call them TKP). If a player is awarded a certain number of TKP, they isare automatically kicked and banned from the server. To set the number of TKP required for a user to be kicked and banned, server administrators use the sv_tk_ban console command. For example:
sv_tk_ban 4
sets the number of TKP required for a player to be kicked and banned to 4.
When a player reaches the number of TKP necessary to be kicked and banned, they are automatically expulsed from the server. They will remain banned from the server for a period of time specified using the sv_tk_penalty console command. In addition to this, this period of time can also be set to take into account repeated offenses. This means if a player gets enough TKP to be kicked and banned for 5 minutes, then comes back and misbehaves again, their banned period can be larger. It's possible to set as many as 4 different levels of punition. Upon the fifth offense on the same server, a user is banned indefinitely. Of course, the server administrators can always consciously choose to unban the player.
sv_tk_penalty 5m 1d 0sv_tk_penalty 5m 1h 8h 1d
The first example above will, for a server, set the first offense punition to 5 minutes, the second offense to 1 day and the third one to an indefinite ban (0 means indefinite). The second example will set the offense punition to 5 minutes, the second to 1 hour, the third to 8 hours, and the fourth to 1 day. On the fifth offense, the player will be indefinitely banned from the server.
Because team kills can be accidental, we also introduce a "cool down" period. If a player gets a TKP accidentally and doesn't kill another teammate for the duration of the cool down period, the TKP will be forgiven. For example:
sv_tk_cooldown 5m
will set this cool down period to 5 minutes.
The last aspect of the team killing system is that, once again, by accident, a rocket explosion or a grenade can kill three of your teammates. This poses the risk of registering three TKP instantly, improving the chances of improperly banning an accidental team kill. To address this, the concept of a "team kill grace" period exists. This period is the delay (in seconds) that must expire before a player can be credited with an additional TKP.
sv_tk_grace 3s
sets this period to 3 seconds. Once again, this means that if a player kills 4 teammates within a 3 seconds period, he will only be credited with 1 TKP.
Finally, as with v1.02, it is possible to ban players individually using their player index. The sv_tk_players console command has been updated to display players' TKPs and their cool down period timers.I. Console Commands
The following commands are server specific console commands:
clsClear the console text.
help [command]Tell you about the command.
quitQuit Halo for the PC dedicated server.
sv_ban [player name or index]Ban the player with the given name or index. However, this doesn't kick them out of the game however.
sv_ban_penalty [time1] [time2] [time3] [time4]Specifies the levels of punishment for repeat offenders. The first offense will be punished for [time1], the second offense for [time2], the third offense for [time3], the fourth offense [time4] and the fifth offense for an indefinite period of time (the administrator has to unban the user). The format of time is n s, n m, n h, n d or 0. n is a digit in the 1-9 range and 0 is infinite.
sv_banlistShow the list of the banned players.
sv_banlist_fileSpecifies the file to store and load the ban list to and from. Note: this file's name is restricted to banlist ## .txt where ## is a two digit number. This allows multiple instances to use different ban lists while still restricting the name of the ban list (for security purposes).
sv_end_gameEnd the currently running game. This will proceed to the next game in the map cycling game entries list.
sv_kick [player index or name]Kick the player with the given name or index out of the game.
sv_map [map name] [game variant]Start a game with the indicated map and game variant. When the game is over, this game will restart itself. This command supersedes any map cycle the server has.
sv_mapcycleShow game list.
sv_mapcycle_add [map name] [game variant]Append this game entry (map name and game type) to the end of the game list.
sv_mapcycle_beginStart the map cycling with the specified game entries.
sv_mapcycle_del [index]Delete the game entry from the map cycling game list (use sv_mapcycle to get game IDs).
sv_mapcycle_timeout nTime in seconds to restart the next game in the game list after game is finished (this determines how long clients are sitting at the post carnage report screen).
sv_map_nextEnd the current game and skip to the next game in the map cycling game entries list.
sv_map_restartRestart the game.
sv_maxplayers n (Default value is 16)Set the maximum number players. This should be done in the init.txt file, before map cycling begins.
sv_name [string] (Default value is "Halo")Set the server name (64 characters max). This should be done in the init.txt file, before map cycling begins. With the 1.03 update, the set of characters allowed for server names is no longer limited to alphanumeric characters.
sv_password [string]Set password for server. This should be done in the init.txt file, before map cycling begins.
sv_playersList the players and their indices for reference in banning and kicking players from the dedicated server. With v1.03, sv_players also shows the number of TKP per players and their cool down period (as appropriate).
sv_public [1, 0] (Default value is 1)Determine if the server will be listed in the GameSpy Master Server list (1) or not (0). This should be done in the init.txt file, before map cycling begins. Note: setting this to false is equivalent to hosting a LAN game.
sv_rcon_password [string]Set the RCon password. To remove the password, thus disabling RCon, specify an empty string "" as the password.
sv_status [1, 0]Displays the current status of the dedicated server in the console.
sv_tk_ban nSpecifies the number of "team kill points" required for a player to be kicked and banned from a server. See section H for additional information about Controlling Team Killing and Banning undesirable players.
sv_tk_grace [time]Set the grace period during which a player can only be credited with one TKP. For example, if set to 3s, a player can only be credited for one team kill every 3 seconds, preventing an accidental grenade explosion from crediting multiple TKP to a player.
sv_tk_cooldown [time]Set the cool down period after which a player will be forgiven one TKP if they have not committed another team kill.
sv_unban [player name]Allow the player with the given name to join the server again.

My XFire