Halo 2 For Windows Vista Running A Dedicated Server and Creating Playlists
Halo 2 For Windows Vista Running A Dedicated Server and Creating Playlists
Halo 2 For Windows Vista Running A Dedicated Server and Creating Playlists
The second way is to set up a computer with the Halo 2 Dedicated Server application. In this
case, you don’t play on this computer, and the computer runs certain games off of a “playlist.”
Dedicated servers can run either as a log-on state or as a Windows service. As a Windows
service, a dedicated server can keep running even if you log off of the computer. If you keep your
computer connected to the Internet and logged into Games for Windows – LIVE , a dedicated
server can run on your computer 24-7.
You can host a server game that supports up to 16 players at once, on LIVE or on the local
network. Players running Halo 2 for Xbox® cannot connect to or play in Halo 2 for Windows Vista
server games.
Note: Halo 2 Dedicated Server is not supported by Microsoft support services. For information
about and help with Halo 2 Dedicated Server, see www.xbox.com/en-US/games/h/halo2/.
Server as Host
With Halo 2 Dedicated Server, the server acts as the host of the game. No one plays on the same
computer as the server, so there is no “host advantage” and everyone gets the same
performance from the host computer. Some players may still have better connectivity than others,
so a perfectly level playing field is not guaranteed.
You can run server software on computers in racks in “colo” (collocation centers) or server farms.
Doing this can help with better network access and performance speeds.
Playlist Functionality
In a peer-hosted game run by a player, one of the players acts as the leader and chooses
settings, maps, and game types before each game. In a game run by Halo 2 Dedicated Server,
these choices are preloaded in a playlist, then run in a loop over and over (or shuffled). The
playlist can be small or large, with a maximum of 100 matches.
System Requirements
Your server can run as a local area network (LAN) server or a LIVE server.
If you want to run a LAN server, you need:
• 1.7 gigahertz (GHz) 32-bit (x86) or 64-bit (x64) processor. For more information, see
http://www.microsoft.com/windows/products/windowsvista/buyorupgrade/capable.mspx.
• 1 gigabyte (GB) of system memory.
• 40 GB of hard drive capacity, with 15 GB free space.
• Network card.
• Either Windows Vista or Windows® 2003 Server.
To log on to the server, you can either log on remotely using Remote Desktop or work directly at
the server console.
To run a LIVE server, a couple of additional instructions apply. The first time you start a LIVE
server, you also need to set your product key, as shown:
h2server$ live key 12345-12345-12345-12345-12345
Your server continues running until you run the exit command or log off. For more on the exit
command, see "H2Server Commands," following.
For more on customizing your server’s playlist, see "Making a Playlist."
The LIVE server runs 24-7 and automatically restarts if the computer it runs on is rebooted. You
only need to log in to your LIVE server if you want to open the server administration console and
make changes. The server loads and uses the Example.hpl playlist by default.
If you no longer want your server to automatically start, delete your server service. For
instructions, see "H2Server Command-Line Options."
To do so, first open the Windows Services Manager. Note that this process is different when
running Vista than when running Windows 2003.
In the window displayed, find the service called Halo 2 Server. Use the Windows Services
Manager commands to start or stop the service. If you right-click the Halo 2 Server service and
choose Properties, you can change the service to start manually, or disable it completely.
The server switches to the new playlist as soon as the current match concludes.
H2server -live
Runs the server as a console application in LIVE mode.
H2server -lan
Runs the server as a console application in LAN mode.
H2admin -live
H2admin -lan
H2Server Commands
The following lists and describes commands you can give the server. Note in the following
examples that H2Server$ is the prompt you see on the command line while the server is running,
instead of C:\.
Ban
The ban command displays or adds temporary or permanent bans for players (referred to as
gamers) on LIVE dedicated servers. For non-LIVE (that is, LAN) games, it bans specific
computers specified by IP address, subnet, or network interface card (NIC) .
ban display ip
Displays the list in effect of bans of IP addresses and Classless Inter-Domain Routing (CIDR)
subnets.
Setting duration for ban is optional; a duration setting can be used to specify temporary bans.
You can specify a duration in any combination of seconds, minutes, hours, or days.
Examples:
30s is 30 seconds.
45m is 45 minutes.
12h is 12 hours.
30d is 30 days.
3m 30s is 3 minutes and 30 seconds.
2d 8h is 2 days and 8 hours.
Description
The description command sets or displays the description for the session. This command only
works in LIVE (not on a network). You can use quotes to enclose phrases that include spaces.
These session descriptions appear in the LIVE Game Browser’s detail dialog box. Each
description is limited to 31 characters long.
Example:
H2server$ description “Mayhem and chaos”
This command line sets the description to “Mayhem and chaos.” To see the current description,
type at a command prompt:
H2server$ description
Mayhem and chaos
Exit
If you are running the server manually through H2server.exe, the exit command terminates the
game and immediately disconnects everyone.
If you are connected to the server using H2admin.exe, exit closes the administration console.
The server continues to run, and gameplay is uninterrupted. If you want to stop the server and
disconnect the players, you need to stop the Halo 2 Server service as described previously.
Kick
Kick player-name
The kick command ejects the specified player from the game. Replace player-name with the
gamertag of the player you want to kick off of that server.
Example:
Suppose the status of a game is as shown:
H2server$ Status
Network mode: Live
Current state: online - pregame lobby
Sign-in: happy@domain.com
Name: HappyServer
Description: Running small maps
Playlist: C:/server playlists/smallmap.hpl
Players:
RabidDog
Hyena
JackRabbit
Help
The help command gives you more information about the list of commands or a particular
command. Type help command where command is the item you want more information about.
Live
The live command sets the server's product key, Games for Windows – LIVE identifier (ID), and
password. The live command also lets you sign your server out of LIVE and get server status.
Example:
H2server$ live autosignin happy@domain.com
live signout
Signs the server to out of LIVE.
Name
The name command only works with non-LIVE (that is, LAN) games. The default network name
is the computer’s name, displayed in the Network Browser. For LIVE server games, the gamertag
of the account is displayed in the LIVE Game Browser.
name
Displays the server’s current game name.
name name
Sets the server’s current game name to name.
A name used with the name command is limited to 20 characters long. Any names longer than
one word (that is, with internal spaces) must be inside quotation marks.
Examples:
To check the current name:
H2server$ name
Play
The play command loads a new playlist onto the server while the server is still running. You can
modify your current playlist, save it, then use this command to update the server without a restart.
Any names longer than one word (that is, with internal spaces) must be inside quotation marks.
play playlist-filename
Plays the playlist specified as playlist-filename.
Examples:
H2server$ play default.hpl
H2server$ play “every slayer variant.hpl”
Players
The players command displays or sets the maximum number of players allowed on the server (or
server instance) at one time. For example, if you’re running small maps and want to restrict total
people per map to 6, you can use the players command to set players in all matches on the
server to 6. The maximum number of players possible is 16.
H2server$ players
16
Returns the number of players allowed at once on the server. (Sixteen is the default.)
players number
Sets the number of players on the server to the specified maximum.
Example:
H2server$ players 6
Set players to a maximum of 6 on the server.
Playing
The playing command displays information about the current playlist. If there are any errors in
the playlist matches or custom variants, this command shows you those and lists the line
numbers that the errors occurred on. You can check those line numbers in Microsoft Wordpad—
to do so, turn off the word wrap option, click Status Bar on the View menu, and check the
number of the line at the bottom, in the status bar. A playlist can run with errors in matches and in
the variants. In this case, the matches or custom variants that contain errors are skipped.
Example:
H2server$ playing
Playlist: C:\MyHaloPlaylists\LivePlaylists\wildwest.hpl
Privacy
The privacy command displays or sets the privacy settings for the server. You can allow anyone
to join with open, restrict your games to LIVE Gold members only with gold, or restrict people to
a list of specific gamertags with vip. For more information on setting a VIP list, see the entry on
vip, following.
Example:
H2server$ privacy gold
This example sets the privacy level to LIVE Gold members only.
Sendmsg
The sendmsg command broadcasts a message to all the players active on the server through
text chat in either the lobby or the game. This command is very useful if you need to do server
maintenance.
sendmsg “message”
Sends the specified message.
Example:
H2server$ sendmsg “Server will be going down in about 30 minutes.”
Skip
The skip command ends the current game in the playlist and moves the players to the next game
in the playlist, or to the next random game if the playlist is shuffled.
Example:
H2server$ skip
This command skips the game ahead and stop the current game immediately.
Statsfolder
The statsfolder command displays or sets the location of the folder to which the server outputs
game statistics. This command, if a folder is set, enables the ability to record statistics from the
server games. If a folder path is supplied, this command sets the stats folder path. Paths that
contain spaces can be specified with quotation marks. Put in an empty string (“”) to disable
exporting stats.
Stats are sent in XML format and can be used to set up your own ranked or leaderboard games,
to be displayed on a Web site.
Examples:
H2server$ statsfolder c:\myfolder
H2server$ statsfolder “c:\my documents\my Halo 2 for Windows Vista games\my server
stats”
Status
The status command displays status information about the server’s connection, state, and sign-in
gamertag, as well as who is connected to the server, what game they are currently playing, how
much time is left in the game, what game is next, and whether the network is a LIVE network.
Players are listed by gamertag, which you can use for the kick command. If time is listed, the
format is hours: minutes: seconds. The network status includes details of LIVE or network, your
current signed-in status, and your current LIVE ID credentials used to sign in.
Examples:
H2server$ status
Network mode: Live
Current state: online - pregame lobby
Sign-in: happy@domain.com
Name: HappyServer
Description: Running small maps
Playlist: C:/server playlists/smallmap.hpl
Players:
RabidDog
Hyena
JackRabbit
Unban
The unban command removes a ban from a computer or a gamer (a player).
unban ip <ip-address:cidr-subnet-mask>
Specifies an IP address (in the format xxx.xxx.xxx.xxx) or CIDR subnet mask (xxx.xxx.xxx.xxx/xx)
to unban. This command is only valid for non-LIVE (that is, LAN) games.
unban all IP
Removes all IP address and CIDR subnet bans.
VIP
The vip command displays and edits the VIP gamer list. VIP gamers are the specific people you
allow to play on your server, listed by gamertag. The vip command works for LIVE games and
LIVE game servers only.
vip display
Displays the list of VIP gamertags.
vip clear
Clears the VIP gamer list.
Making a Playlist
A playlist is a collection of matches to be played in order, or randomly, by a remote server,
instead of hosted by a human. The playlist can also contain a game (known as “match”) that has
special rules set up ahead of time, known as a custom game variant.
In Halo 2 for Windows Vista, you can design your own playlist of games and custom variants to
play games in sequence on the dedicated server.
For each setting, the name and value need to be on the same line—for example, shuffle=On.
Extra tabs and spaces in that line are fine—for example, shuffle = On. You can’t break headings
across multiple lines either.
Base Variant=
Team Crazy King
Base Variant
= Team Crazy King
Variant = Team Crazy King
Some of the settings in the playlist file use yes or no, 0 or 1, On or Off, or true or false to
determine if the feature is turned on or off. You can format these in a variety of ways. For yes or
no and true or false, only the first letter matters.
In the [playlist] section, you define the nature of the playlist to the server. This section may
appear once at the top of a playlist file. These are the options you can put in this section:
[playlist]
;The Sample Playlist
Shuffle=On
Pregame Team Selection Delay=30
Pregame Delay=10
Postgame Delay=14
[playlist]
Defines the playlist section.
Shuffle = On (optional)
Randomizes the lists of matches so that they don’t play in order.
As described preceding, there are three timers that delay the start of a game for the dedicated
server. They go in this order:
Pregame Team Selection Delay (silent timer)—the amount of time people have to change
teams (if there are teams), view the map, chat, and read the game rules before a game. People
can join or leave the Pregame Lobby during this silent countdown. The default is 10 seconds. The
maximum is 10 minutes.
Pregame Delay (audible and visible timer)—the amount of time the server waits in the game
lobby for people to view the map, chat, and read the game rules before a match. The default is 10
seconds. The maximum is 10 minutes.
Postgame Delay (silent timer)—the amount of time people have to spend viewing the postgame
Carnage Report, before switching to the next Pregame Lobby. The default is 30 seconds.
[match]
variant=Team Crazy King
map=Sanctuary
[match]
variant=Team Crazy King
map=Gemini
weight=700
minimum players=2
maximum players=16
In these examples:
[match]
Defines the “match” listing
variant
Names the base variant or custom variant that you want to play in this match.
There are several ways to state what match you want in your playlist (or to build upon in your
custom variant). The name used with variant matches the game shell (UI) spelling of the variant
exactly. (For a listing of all variants and their descriptions, see the end of this document.) You can
use custom variants; how to define those in the dedicated server playlist is explained in a later
section of this document. If you misspell a variant name, that match is skipped in the playlist.
map
Sets the map for this particular game. You can use a Bungie-created map or a custom map, as
long as all the players have a copy of the map or are willing to get a copy of the map. If you have
a Games for Windows – LIVE Gold account, you can get the map downloaded to your client from
the server while you wait in the Pregame Lobby.
If you misspell a map or variant, that entry won’t work and is skipped. Also remove any extra
spaces added between the option words.
weight
Helps you set the probability higher or lower whether this match appears in the server’s rotation.
The weight value only matters if you set playlist shuffle to yes. The weight can be a number from
1 to 1000. Matches with a higher weight are chosen more often than matches with a lower weight.
For more information, see the "Setting Match Weight" section following.
minimum players
Sets the minimum number of players required for the match to be played. If you require 2, as in
the preceding example, and only one person is on the server, this entire match is skipped rather
than played. If no match that fits the minimum and maximum settings specified can be found, this
match is played with the available players regardless of the minimum and maximum settings for
it.
maximum players
Sets the total number of players allowed in a match at once. The game has a maximum of 16, so
this value must be 16 or less. This option is very useful if you’ve designed a small map with 2 x 2
teams, for example. If no match that fits the minimum and maximum settings specified can be
found, this match is played with the available players regardless of the minimum and maximum
settings for it.
You can define up to 100 custom variants per playlist. Custom variants are optional and do not
have to be included in the playlist file.
Note: You must list either a Base Variant or a Game Type for each custom variant for it to work.
[Custom Variant]
Name=Snipers Special
Base Variant=Snipers
Active Camo = On
Weapons on Map = random
Force Even Teams = On
In this example:
[Custom Variant]
Provides the section header for a variant. You can have up to 100 custom variants in one playlist.
Name
Names your variant. This name appears on the Game Details page in the Game Browser, in the
Game Browser variant column, and also in the Pregame Lobby while everyone is waiting for the
game to start. Maximum name length is 16 characters (including spaces).
Base Variant
Provides a base for a custom variant. There are two ways to start building your custom variant.
You can start with a base variant, which is any of the subtypes or variations of the basic game
types. For example, Slayer is a basic game type and Team Slayer would be the base variant. Any
additional options you add supersede any base variant rules. This process is similar to creating a
new game variant in the game UI by choosing one of the existing variants and then changing
settings.
Game Type
Provides a game type to create a custom variant from. Instead of using a base variant, you can
start from scratch using one of the seven major types of games: Slayer, CTF, Assault, Territories,
and so on. Doing this is similar to creating a new game variant in the game UI by choosing a
game type, selecting the Create New command, and then changing settings.
Active Camo
Makes all the players invisible with active camo all the time. This is an example of one of the
game options you can set in the game.
Weapons on Map
Sets the weapons used in games on this map. In this case, this option is set to place random
weapons on the map. Weapons can also be inherited from the base variant. For other options,
see the tables following.
Changing Playlists
You can change the playlist on the server by running the play command at any time. Doing this
switches the playlist at the conclusion of the current game without booting the players.
If you modify your current playlist (say, in Notepad) while that playlist is being used, you can save
the changed Playlist.hpl file with the same name. Then, at the command line for the server, type
play name playlist-name (where playlist-name is the list name). When the current game finishes,
the server reloads the playlist.
To do this, first you must first set your playlist to Shuffle = yes.
Second, you need to assign a match weight to each match in your list. Possible weight values are
between 1 and 1000. Entries without a weight get a default weight of 100.
For example:
Match A 700
Match B 100
Match C 200
This example picks A the most often, followed by C and occasional doses of B. Even though A
has a much higher probability of being picked, the server tries to avoid playing the same match
back to back. A probable match pattern is something like: A C A C A B A C B A
All these games, A, B, and C, would come up equally in a shuffle. In this case, don’t use match
weight. Just shuffle the playlist.
To play matches in order, turn off shuffle and order them in your playlist the way you want them to
be played. The syntax here is something like:
[match]
Base_variant=Team Crazy King
map=Sanctuary
weight=700
[match]
Base_variant=Team Crazy King
map=Gemini
weight=100
[match]
Base_variant=Rockets
map=Gemini
weight=200
Name
Refers to the variant from a match section.
Base Variant
Sets the base variant. This option can be used instead of game type. For more information, see
the table of base variants at the end of this document.
Game Type
Sets the game type. Following is a list of game types by name.
Example:
Game Type = Slayer
Note that King of the Hill can also be King and KoTH, and Capture the Flag can also be CTF.
Example:
Game Type = KoTH
Match Options
Option Value What it does
Number of Rounds 1 Round, 2 Rounds, 4 A game can end after a single round,
Rounds, 6 Rounds, First to after a fixed number of rounds, or only
2, First to 3, First to 4 after someone wins a number of
rounds.
Score to Win Round See specifics in each game
type section below.
Round Time Limit None, 1 minute, 2 minutes, 3 A round can be set to end after a set
minutes, 4 minutes, 5 amount of time has elapsed. Use this
minutes, 6 minutes, 7 to prevent games from lasting too
minutes, 8 minutes, 9 long.
minutes, 10 minutes, 12
minutes, 15 minutes, 20
minutes, 30 minutes, 45
minutes, 1 hour
Rounds Reset Map On/Off A new round can either keep the map
in its destroyed state from the
previous round or reset it to its original
pristine state.
Resolve Ties On/Off When resolve ties is off a game can
end in a tie. When it is on a winner will
be chosen based on secondary
winning conditions.
Example:
Round Time Limit = 45 Minutes
Player Settings
Option Value What it does
Max Active 2-16 This setting controls how many
Players players are active in the game at
once. In non-team games this is total
players, in team games, players per
team. All other players must wait
their turn as active players.
Lives Per Round 1, 2, 3, 7, 9, 99; unlimited The Lives Per Round setting
determines how many chances you’ll
have in the game. Once you’re out of
lives you no longer respawn.
Respawn Time 3 seconds, 5 seconds, 10 Respawn Time controls the amount
seconds, 15 seconds, 20 seconds, of time that a dead player must wait
30 seconds before getting another chance at life.
Suicide Penalty None, 5 seconds, 10 seconds, 15 When you kill yourself you will have
seconds to wait the time specified for Suicide
Penalty in addition to any other wait
time before you respawn.
Shield Type Normal Shields, No Shields, Shield Type determines whether
Overshields players have energy shields, and if
so whether they are normal strength,
turned off, or overcharged.
Motion Sensor Off/On When the Motion Sensor is turned
off it no longer detects or indicates
movement.
Active Camo Off/On When this is on, all players will be
invisible with Active Camo. Firing a
weapon or taking damage makes you
temporarily visible again.
Extra Damage On/Off When Extra Damage is on all
players will inflict more damage than
normal.
Damage On/Off When Damage Resistance is on,
Resistance everyone will be tougher than
normal.
Example:
Shield Type = No Shields
Team Options
Option Value What it does
Team Play See specifics in the game
type sections following.
Team Scoring See specifics in the game
type sections following.
Team Changing See specifics in the game
type sections following.
Friendly Fire On/Off Unwary players can injure or even kill
teammates. Friendly Fire can be
turned off so that teammates cannot be
directly damaged by each other.
Respawn Time Inheritance, Cycling, Players either inherit dead teammate
Modifier None spawn times (inheritance), respawn
together at fixed intervals (cycling), or
respawn at a set amount of time after
they die (none).
Betrayal Penalty None, 5 seconds, 10 This setting determines an additional
seconds, 15 seconds, 30 amount of time a team killer will have
seconds, 1 minute, 2 to wait before respawning.
minutes
Vehicle Options
Option Value What it does
Vehicle Respawn Map Default, Half As Often, Vehicle respawn time determines how
Time No Respawn quickly dead vehicles come back to
life. Times are relative to the default
settings for the map.
Primary Light Vehicle Map Default, Warthog, This setting allows you to override the
Gauss Warthog, Ghost, map-specific primary light land vehicle
Spectre, Random, None with a vehicle of your choosing.
Secondary Light Map Default, Warthog, This setting allows you to override the
Vehicle Gauss Warthog, Ghost, map-specific secondary light land
Spectre, Random, None vehicle with a vehicle of your
choosing.
Primary Heavy Map Default, Scorpion Tank, This setting allows you to override the
Vehicle Wraith, Random, None map-specific primary heavy land
vehicle with a vehicle of your
choosing.
Banshee Map Default, On, Off This setting allows you to specify
whether Banshees appear on a map
that supports them.
Primary Turret Map Default, Large Machine This setting allows you to override the
Gun, Large Plasma, map-specific primary turret with the
Random, None turret of your choosing.
Secondary Turret Map Default, Large Machine This setting allows you to override the
Gun, Large Plasma, map-specific secondary turret with a
Random, None turret of your choosing.
Equipment Options
Option Value What it does
Starting Weapon Map Default, None, This setting determines which primary
Random, Battle Rifle, weapon players start the game and
Magnum, SMG, Plasma respawn with.
Pistol, Plasma Rifle, Brute
Plasma Rifle, Rocket
Launcher, Shotgun, Sniper
Rifle, Brute Shot, Needler,
Carbine, Beam Rifle,
Energy Sword, Sentinel
Beam
Secondary Weapon Map Default, None, This setting determines which backup
Random, Battle Rifle, weapon players start the game and
Magnum, SMG, Plasma respawn with. A backup weapon is
Pistol, Plasma Rifle, Brute optional.
Plasma Rifle, Rocket
Launcher, Shotgun, Sniper
Rifle, Brute Shot, Needler,
Carbine, Beam Rifle,
Energy Sword, Sentinel
Beam
Starting Grenades On/Off When this setting is on players will
start the game and respawn with
grenades.
Weapons on Map Map Default, None, This setting determines the set of
Rockets, Shotguns, weapons that is available on the map.
Swords, Brute Shots, Halo Weapons on map can also be turned
Classic, New Classic, off entirely.
Heavy Weapons, All
Duals, No Duals, Rifles,
Sniping, No Sniping,
Pistols, Plasma, Human,
Covenant, Random Set
Weapon Respawn Map Default, No Weapon Respawn time determines
Time Respawn, Half Time, how much time it takes to respawn
Double Time weapons. Times are relative to the
default settings for the map.
Grenades On Map On/Off If Grenades On Map is turned off
there will be no grenades available for
pickup on the map.
Overshields On/Off This setting controls whether or not
the Overshield powerup is available
on the map.
Active Camo on Map On/Off This setting controls whether or not
the Active Camouflage powerup is
available on the map.
This playlist is not shuffled and includes two custom variants and three matches that are played in
the order listed in the file.
[playlist]
; Happy Go Lucky Playlist
shuffle=no
[custom variant]
; name Happy’s Special
game type=Slayer
number of rounds = 1
score to win round=50
round time limit=10 minutes
respawn time=5 seconds
suicide penalty=10 seconds
weapons on map= rockets
starting weapon = Battle Rifle
secondary weapon = SMG
[custom variant]
; name Standoff
base variant=Slayer
max active players=2
score to win round = 5
weapons on map= Shotguns
starting weapon = plasma pistol
secondary weapon = shotgun
[match]
variant=Oddball
map=Terminal
[match]
variant=Happy’s Special
map=Coagulation
[match]
variant=Standoff
map=Midship
The variant name must match the variant name as it appears in the UI of the game.