... Server Guide ...


> News
> Screen Shots
> General Info
> Player's Guide
> Server Guide
> Downloads
> Contact
> Servers
> Reviews
> Message Board
Sections:

Theory:

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.

Map Rotation:
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.
Starting A Server:
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.


Important Cvars:

  • g_gametype -- see gametype chart below
  • g_scoringMethod -- 1 = damage based scoring, 0 = normal scoring
  • g_damageTeam -- 0 = none, 1 = health/armor, 2 = armor
  • g_damageSelf -- 0 = none, 1 = health/armor, 2 = armor
  • g_fallingDamage -- 0 = off, 1 = on
  • g_startingArmor -- armor that players start with
  • g_startingHealth -- starting health multiplier (ranges from 0.1 for 10 health to 10.0 for 1000 health)
  • g_startingWeapons -- 0 = gauntlet only, -1 = all weapons, otherwise add up the weapon ids that you want to player's to start with
  • g_bannedAll -- 0 = off, 1 = no items at all appear in the level
  • g_bannedWeapons -- "-1" = no weapons appear in the level, 0 = off, otherwise add up the weapon ids that you want to ban from spawning in the level
  • g_bannedArmor  -- "-1" = no armor appear in the level, 0 = off, otherwise add up the armor ids that you want to ban from spawning in the level
  • g_bannedHealth -- "-1" = no health appear in the level, 0 = off, otherwise add up the health ids that you want to ban from spawning in the level
  • g_bannedAmmo -- "-1" = no ammo appear in the level, 0 = off, otherwise add up the ammo ids that you want to ban from spawning in the level
  • g_bannedPowerups -- "-1" = no powerups appear in the level, 0 = off, otherwise add up the powerup ids that you want to ban from spawning in the level
  • g_grapple -- 0 = disabled, 1 = enabled
  • g_weaponKick -- 0 = disabled, 1 = enabled
  • g_countTime -- 0 = no count down, other = the numer of seconds to count down from (default is 3, but 5 is nice)
  • g_respawnAfterCount -- 0 = disabled, 1 = enabled (respawns all players after a count down is over)


Gametypes:
 
Deathmatch
0
Tournament
1
Single Player (not used in multiplayer)
2
Elimination
3
Team Deathmatch
4
Capture The Flag
5
Pickup Teams
6
Assimilation
7

Weapon ids:
 
Machine Gun
1
Shotgun
2
Grenade Launcher
4
Rocket Launcher
8
Lightning Gun
16
Rail Gun
32
Plasma Gun
64
BFG 10K
128

Ammo ids:
 
Machine Gun 1
Shotgun 2
Grenade Launcher
4
Rocket Launcher
8
Lightning Gun
16
Rail Gun
32
Plasma Gun
64
BFG 10K
128

Health ids:
 
5 1
25 2
50
4
Mega Health (100)
8

Armor ids:
 
5 1
50 2
100
4

site under heavy construction... patience...
 

Assimilation 2 is Copyright © 2000 Mark "WarZone" Smeltzer.
Quake3 is Copyright © 1999, 2000 id Software.