Unless you want to designate your
server as a "clan match" server, then try and keep g_matches set to 0 (zero),
and in most cases g_rounds should be set to 0 (zero) as well.
Why? Because it can take half an hour or
more to complete a game of 3 matches with 3 rounds per match. For a clan
match that's fine, in fact that might be a little too quick. But for the
average Joe, that is just too long and they really don't care about winning
the game.
For this reason it is important to keep
your server toned to the game mode your server is running. In tournament
mode you MUST set g_roundscorelimit to at least 1 and g_rounds
to at least 1 and g_matches to at least 1. The reason being is that
a new tournament player is only selected at the end of a game. So if you
set g_rounds to 3 and g_matches to 1 the first person to win 2 rounds will
win the match, and the game. After that the looser goes to the end of the
line and next match up begins. Make sense?
Tournament mode is the only mode that requires
match play to be enabled. DM for instance is usually the most fun with
match play disabled completly (g_roundscorelimit set to 0 and g_rounds
set to 0). You can choose to have the map end on a fraglimit, timelimit,
or a scorelimit.
Team DM works the same way as normal DM,
but it can be a lot of fun to turn match play on in this mode. By setting
g_roundscorelimit to 11 a team will have to make 6 consecutive kills, with
out dying, to win the match since each kill is worth 2 points, and each
death takes away 1 point.
This scoring system for DM, Team DM, and
Tournament modes is very important to keep in mind when setting the g_roundscorelimit.
If the teams are balanced then scoring will progress evenly and should
be about the same as the frag totals. However if one team is dominating
another team, their points will sky rocket since they aren't loosing points
due to team mates dying.
For DM a g_roundscorelimit of 5 or 7 keeps
things fast paced and very competitive. For Tournaments it is very important
keep g_roundscorelimit set low since well matched players won't earn points
nearly as fast as players in an unbalanced match up; a setting of 1 - 5
works well. In Team DM a setting of 7 - 13 works well and encourages team
play since letting team mates die will cause points to be subtracted.
For standard net play the Assim mode should
have g_roundscorelimit set to 0 to encourage players to assimilate each
other rather than rack up points for their team. Setting g_roundscorelimit
in Assim mode allows this mode to be used in clan matches -- yes, I'm serious!
With a round score limit set the object of Assim mode changes to a "earn
points for my team" mentality that is similar to Team DM.
For Pickup teams and Elimination there
should almost never be a round score limit set. Because when there is a
round limit, the objective changes from "trying to survive" to "earn points".
Even in clan matches or official tournaments, the g_roundscorelimit should
be set to 0 in most cases.
Finally, in most cases when running a standard
fair netserver you should limit your maps by either: fraglimit, g_scorelimit
(only if match play is disabled), or timelimit. Although the g_gamelimit
is provided it should not be used in most cases.
In addition to the standard method
of creating a map rotation using the vstr command, Assim2 will automatically
execute /mapscripts/<nextmap>.cfg (where <nextmap> is the name of
the next map to be loaded) when changing maps.
In fact, you can even abandone the vstr
command and use map scripts to create your server rotation. For example
take a look at these cfg files:
/mapscripts/q3dm1.cfg:
set nextmap "q3dm2"
/mapscripts/q3dm2.cfg:
set nextmap "q3dm3"
/mapscripts/q3dm3.cfg:
set nextmap "q3dm4"
/mapscripts/q3dm4.cfg:
set nextmap "q3dm1"
Now all you have to do is start your
server on one of these maps and the maps will automatically rotate! However,
you have a lot more power than just that. Before executing a map's script,
the game executes "/mapscripts/default.cfg". This allows you to reset all
important values that a previous map script might have changed. For example
this is what most default.cfg's should look like:
/mapscripts/default.cfg:
//game stuff
set g_weaponrespawn 5
set g_quadfactor 3
set g_speed
320 //default
set g_gravity
800 //default
//game limits -- can be over-ridden on
a per map basis
set timelimit
25
set g_scorelimit
0
set g_roundscorelimit 0
set g_rounds
0 //infinite rounds
set g_matches
0
set g_gamelimit
0
set fraglimit
0
//player starting goods
set g_startHealth 1.0
set g_startWeapons 1
set g_startArmor 0
set g_startPowerups 0
//banned items
set g_bannedAll
0
set g_bannedWeapons 0
set g_bannedArmor 0
set g_bannedHealth 0
set g_bannedAmmo
0
set g_bannedPowerups 0
//damage modes
set g_friendlyfire 0
set g_damageTeam
0
set g_damageSelf
0
set g_fallingDamage 0
//may be enabled on a per map basis
set g_grapple
0
Now you can use map scripts to override your
default settngs, but only for particular maps of your choosing. For instance,
if you wanted to enabled the grappling hook on q3dm9:
/mapscripts/q3dm9.cfg:
set g_grapple 1
That's it! Cool huh? Check the downloads
section for a complete sample map rotation system that I use when running
a server on my system. The examples demostrates how to combine the power
of the vstr command and the power of the map scripts.
To start a Assim2 dedicated server,
launch Q3A with this command line:
<quake3 path>/quake3.exe
+set fs_game "assim" +set dedicated 2 +exec server.cfg
On Windows machines, the command might
look like this:
c:\games\quake3\quake3.exe
+set fs_game "assim" +set dedicated 2 +exec server.cfg
On Linux machines, the command might look
like this:
/usr/games/quake3/quake3
+set fs_game "assim" +set dedicated 2 +exec server.cfg
I'm not sure how
Mac's handle command line parameters, but the process should be similar.