©
1998-2002 Microsoft Corporation. All rights reserved.
This
file contains information to help you set up and run a multiplayer server for
use with MechWarrior 4: Mercenaries. For information about installing, playing,
and troubleshooting MechWarrior 4: Mercenaries, see the Readme.rtf file.
Warning:
This
Readme is for advanced users only. The information contained here is not
supported by Microsoft Product Support Services and is intended only for system
operators.
A. Setting Up a Multiplayer Server
Editing the ServerCycle.txt File
Editing Map .nfm Files
Working with Map File Variables
B. Local Game-Logging Options
Additional Command-Line Options
C. ZoneMatch Issues
Internet Play
Internet Network Connectivity
Dynamic Range Port Reference Chart
ICS Configuration
The following guidelines show the number of players
recommended at different bandwidths for MechWarrior 4: Mercenaries dedicated
servers. Exceeding the recommended number of players for a particular bandwidth
results in the degradation of game play and a greater number of checks against
the host server (pings).
Server bandwidth (upload minimum) |
Number of players |
Modem |
6 |
128 to 256 KB |
12 |
256 KB or greater |
16 |
Take uploading and downloading speeds for your network into
account when hosting a game. Poor uploading speeds degrade performance on
multiplayer games. Note also that if you are running a
nondedicated server, the server counts as a player.
You
can set up either dedicated or nondedicated servers to cycle maps. In addition,
you can customize the maps in the rotation to offer whatever type of gameplay
you want. To turn on basic map cycling, click Use Map Cycle List in the
Host Setup screen. This option allows the file ServerCycle.txt (located in the
MechWarrior Mercenaries root folder) to determine what section of the map .nfm
files to use. Both ServerCycle.txt and the individual map .nfm files can be
edited for more control over the map and gameplay. If you do not want to edit
the ServerCycle.txt and individual map .nfm files by hand, you can use the NFM
File Editor (double-click NFMEditor.exe, located in the MechWarrior
Mercenaries root folder).
Note:
If you set
up your multiplayer server with a minimum installation of MechWarrior 4: Mercenaries
and your games have problems loading missions or maps at startup, try using a
full game installation instead.
The
Missions folder (located in the Resource folder in the MechWarrior Mercenaries
root folder) holds a set of files with the extension .nfm. Each .nfm file
corresponds to one map. In each .nfm file, there are a number of different game
configurations, each contained within braces (that is, curly brackets). All of
the contents within one set of braces correspond to one game/map configuration.
To
add a map to the map cycle, in the ServerCycle.txt file under the line [cycle]
add a line or point one of the existing lines to a configuration name in
the .nfm file. For example, to add the map Alpine1 you add the following line:
[cycle]
map=Alpine.nfm::Alpine1
This
line instructs MechWarrior 4: Mercenaries to look in the Alpine.nfm map file
and load the game according to the variables set in Alpine1.
If a
line adding a map to the map cycle is entered incorrectly, instabilities can
occur, although the more likely situation is that the game will simply ignore
the line. No limit exists to the number of entries you can add or remove. Be
sure to place each entry on its own line.
Note: A predetermined set of map
cycles exists by default. The user may leave these as is for a variety of
different games or edit this set of maps to point to other game types listed in
the .nfm files. For information on advanced map file editing, see the next
section.
In
Alpine.nfm, the parameters for the game Alpine1 might be as follows:
Alpine1={
[server]
RuleSet=$(StockDestruction)
TeamAllowed=0
TeamCount=0
ScenarioText=resource\missions\des.txt
RadarMode=1
IsNight=1
MaximumTonnage=90
}
The
parameters used in this example have the following meanings.
[server] Do not edit or remove this line.
RuleSet Do not edit or remove this line. If you
want to change the game type, use one of the other game definers in the file or
create a new game type, such as Alpine2. Some maps do not work correctly with
some game types. If you combine a game type with a map that doesn’t support it,
your game may be unstable or not run at all.
TeamAllowed 0 means that teams are not allowed, and 1
means that teams are allowed. Only add or change this line when you are sure
that the corresponding map supports team games. Otherwise, your game may be
unstable or not run at all.
TeamCount 1 means that one team is allowed, 2 means
that two teams are allowed, and so on. The maximum number of teams allowed is
eight. However, not all maps support eight teams, because many maps have a
limited number of team drop points. If TeamAllowed is 0, then this
parameter has no effect.
ScenarioText Do not edit or delete this line.
RadarMode 0 means the default radar can be used, 1
means team radar can be used, and 2 means no radar can be used.
IsNight 0 means always day, and 1 means always
night.
MaximumTonnage Number indicates the maximum drop weight
(in tons) allowed.
Additional
possible game parameters are as follows.
Visibility 0 is default visibility, 1 means light fog,
2 means heavy fog, and 3 means heaviest fog.
KillLimit 0 means there is no kill limit, and 1 means
there is a kill limit.
KillLimitNumber 1 means the kill limit is one, 2 means the
kill limit is two, and so on. If the value of KillLimit is 0, then the
value for this parameter has no effect.
NoRespawn 0 means players can respawn, and 1 means
players cannot respawn.
Weather 0 means there are no weather effects, and 1
means there are weather effects.
OnlyStockMech 0 means variant ’Mechs are allowed, and 1
means only stock ’Mechs are allowed.
MaximumCBills Number indicates the maximum amount, in
C-Bills, that any individual ‘Mech owned by a player can cost. Possible values
range from 10,000,000 through 25,000,000. Note that commas cannot be used in
entering MaximumCBills values.
GameLength Number indicates the maximum time, in
minutes, allowed for the game. The largest value possible is 60 minutes.
Each
variable in the map .nfm files that corresponds to a drop-down menu item in the
user interface works in one of two ways:
· If
an item in the menu corresponds to a flag such as RadarMode, Visibility,
or Weather, then the possible values of the variable correspond to the
order of the items in the menu, with the first instance being 0. For example,
if RadarMode is a drop-down menu item and its value is 0, then RadarMode
is the first item on the drop-down menu.
-or-
· If
the values in the drop-down menu are numbers, then the possible variable values
are those numbers. Using values that are invalid can have inconsistent and possibly
unstable results.
Parameter
variables may differ in the different places they can be set. The game looks
for variable settings in the following order:
1. Options.ini
2. The
.nfm file
3. User
interface
In
other words, the first place the game looks for variable settings is
Options.ini. It then looks for variable settings in the .nfm files, and those
settings override any values set in Options.ini. The game then looks for
variables set in the game user interface on the host server, and these settings
override both those in the Options.ini file and the .nfm files.
B. Local Game-Logging Options
In
addition to using the ZoneStats service of Zone.com to collect worldwide
statistics for online play, server operators have the option to generate local
logging information for later processing. When using local logs, server
operators can create parsing utilities that generate Web pages to show gameplay
statistics for games played on their local server. The following parameters
describe the local MechWarrior 4: Mercenaries logging and other command-line
options. By default, local logging is disabled.
To
use these options, type the parameters either in the Properties box for
the game’s shortcut icon or in the Run command line reached from the
Windows Start menu.
For
example, the following command line starts the game in a window, creates and
logs game events, serves the game from the command line, and sets the player
name as azero and the game name as azeroserver:
C:\Program
Files\Microsoft Games\MechWarrior Mercenaries\mw4mercs.exe -window -zlogstyle 1
-serve -gamename azeroserver -playername azero
Note: To have stats posted to
stats.Zone.com from behind a firewall, you must have Transmission Control
Protocol (TCP) port 9999 open for outgoing connections.
The
following are the MechWarrior 4: Mercenaries local game-logging parameters.
-zlogname
logname
Provides the name of the local game-event
log to generate, where logname is that name.
-zlogstyle
style_value
Specifies the type of local logging to
perform for in-game events, where style_value is one of the following
options:
0 Disables local logging (default).
1 Creates or appends to the specified log
file if the -zlogname option is used.
2 Overwrites any existing log file, or
creates a new one if none exists.
3 Rotates game names. If the -zlogname named
file exists, using this option creates a new log file with a unique identifier
based on the name specified with -zlogname.
4 Uses a unique name and individual log for
each game played. Note: Using this option creates a lot of logs, which
require management.
Note: The -zlogstyle
option has nothing to do with world statistics logging, which is specified in
the MechWarrior 4: Mercenaries user interface or Options.ini file.
-zlogflush
flush_format_value
Specifies how file flushing is performed for
local logging, where flush_format_value is one of the following options:
0 Flushes on every write (default).
1 Flushes after the number of lines specified
with the -zlogbuffer option (described following).
2 Waits for the system to write out the
buffer.
-zlogbuffer
buff_lines
Specifies the number of lines to buffer
before flushing the log file, where buff_lines is that number of lines.
The default is 10 lines. Specify fewer lines for the most timely log file
updates and more lines for fast performance.
The
following are other command-line options.
/gosNoDialogs Suppresses error dialog boxes. This option
is useful when administering a dedicated server from another location. In this
situation, you can write an application that checks whether a remote server
process is running and that restarts the remote server if it is not. With /gosNoDialogs
set, any critical error causes the remote server to quit (instead of
presenting a dialog box) and allows your application to start the next remote
server copy.
-advertiseport Allows the user to specify which port
ZoneMatch advertising should use. This is the port that ZoneMatch uses to
advertise games and that client computers use to connect to the ZoneMatch
server. The default value for this port is 27999.
-directplayprotocol Adds the DPSESSION_DIRECTPLAYPROTOCOL flag
to any DirectPlay session created (if your server is running that session).
This option does not use TCP; it uses User Datagram Protocol (UDP) and
implements its own guaranteed packet delivery algorithm as well as some other
features.
-gamename Sets the game name of the served game.
-ipx Hosts a game on Internetwork Packet
Exchange (IPX) instead of the default Transmission Control Protocol/Internet
Protocol (TCP/IP), as long as you have both IPX and TCP/IP installed on your
computer.
-lobby Not supported as a direct command in the
command line; only works in conjunction with the lobby launching out of the
Zone.com Web pages.
-noautoconfig Suppresses the autoconfiguration tool,
Autoconfig_Mercs.exe.
-nosound Disables sound.
-playername Sets the player name of the served game.
-serve Serves a game from the command line.
-window Runs the game in a window.
ZoneMatch is the Zone.com gaming matchmaker service. Using ZoneMatch,
players search for, find, and play games over the Internet from within
MechWarrior 4: Mercenaries. The following information helps you configure your
server in order to use the ZoneMatch feature that MechWarrior 4: Mercenaries
provides.
· The
TCP/IP protocol for LAN and Dialup Networking must be installed in order for
players to browse for games.
· To
successfully participate in games, firewall users must open ports to use
ZoneMatch and the DirectPlay port ranges for DirectX application programming
interface version 8.1 or later. Matchmaking needs the following TCP ports
opened: 27999, 28805, 28806, 28807, and 28808. For pings to work properly, UDP
port 28800 must be opened. For information on ports needed for playing
DirectX-based games, see
http://support.microsoft.com/support/kb/articles/Q240/4/29.asp.
This section describes the network configuration required to play
MechWarrior 4: Mercenaries games with other players through a firewall, proxy
server, Network Address Translation (NAT), or Internet Connection Sharing
(ICS). This section does not apply if you are playing standalone or on a LAN.
If you are unable to find or advertise a MechWarrior 4: Mercenaries game
on the Internet, then check with your network administrator, who must configure
the firewall or proxy server to allow the games to pass information through the
proxy server or firewall.
To verify that the appropriate ports are open, contact your network
administrator or Internet service provider (ISP). If you are the administrator
of the network, consult the documentation for your network software for
information about how to open these ports.
For additional information about how to configure a network firewall or
proxy server to play a DirectX-based game on the Internet, see the Microsoft
Knowledge Base article “Q240429 DirectX: Ports Required to Play on a Network”
at http://support.microsoft.com/support/kb/articles/Q240/4/29.asp.
The following chart shows
which ports an administrator needs to open for a given style of play for
applications using the dynamic range of DirectPlay.
Connection |
Client configuration |
Host configuration |
Initial TCP connection |
47624 outbound |
47624 inbound |
Subsequent
inbound TCP connections |
2300-2400 |
2300-2400 |
Subsequent
outbound TCP connections |
2300-2400 |
2300-2400 |
Subsequent
inbound UDP connections |
2300-2400 |
2300-2400 |
Subsequent
outbound UDP connections |
2300-2400 |
2300-2400 |
Unfortunately, some
firewall solutions (including Microsoft Proxy Server 2.0) do not recognize
additional inbound connections as subsequent connections. The workaround for
this is to provide each port in the range 2300, 2301, 2302 (and so on as
needed) its own protocol definition, as with an application-specified fixed port.
Practically, only as many ports as active DirectPlay applications require need
to be opened. In other words, to run both the applications SuperDuperGame and
WackyFunGame at the same time, only ports 2300 and 2301 are used.
The
following describes Internet Connection Sharing (ICS) and other Network Address
Translation (NAT) support for MechWarrior 4: Mercenaries with different
operating systems. The operating system in question must be running on your
router computer (the one actually connected to the Internet) for the following
to apply.
Windows
98 Second Edition A single client running behind
an ICS host running Windows 98 Second Edition (Windows 98 SE) can join a
client-server session hosted outside of the ICS host. However, multiple clients
behind a Windows 98 SE ICS host cannot join the same client-server session
hosted outside of the ICS computer, although they can join different external
client-server sessions. In other words, multiple clients behind a Windows 98 SE
ICS host can all play MechWarrior 4: Mercenaries multiplayer games hosted on
the Internet, but they must play games hosted on different servers.
Clients
may encounter problems connecting to a multiplayer game hosted on a Windows 98
SE computer. To avoid these problems, disconnect the ICS hosts locally.
External clients cannot connect to a game hosted behind a Windows 98 SE ICS
computer.
Windows
2000 Clients behind an ICS host running Windows
2000 cannot join multiplayer games hosted on the Internet. However, the Windows
2000 ICS computer itself can join multiplayer games hosted on the Internet.
Clients
may have problems connecting to a multiplayer game hosted on a Windows 2000 ICS
computer. To avoid these problems, disconnect the ICS hosts locally. External
clients cannot connect to a game hosted behind a Windows 2000 ICS computer.
Windows
Millennium Internal clients behind a Windows
Millennium ICS host cannot connect to a game hosted behind another ICS host.
Otherwise, no issues should arise with Windows Millennium ICS and multiplayer
games. External clients that are not behind another ICS host can connect to a
multiplayer game hosted behind a Windows Millennium ICS computer. A Windows
Millennium ICS host itself can join client-server sessions on the Internet,
whether or not they are hosted from behind another ICS computer. Multiple
clients behind a Windows Millennium ICS host can join the same or different
games on the Internet.
Windows
XP Professional and Windows XP Home Internal
clients behind a Windows XP ICS host cannot connect to a game hosted behind
another ICS host. Otherwise, no issues should arise with Windows XP ICS and
multiplayer games. External clients that are not behind another ICS host can
connect to a multiplayer game hosted behind a Windows XP ICS computer. A
Windows XP ICS host itself can join client-server sessions on the Internet,
whether or not they are hosted from behind another ICS computer. A Windows XP
ICS host can also join client-server sessions on the local LAN. Multiple
clients behind a Windows XP ICS host can join the same or different games on
the Internet.