Setting up a basic online Quake 3 MP server, fire walls, map rotations and problems.
Setting up a Q3 MP server. One of the greatest mysteries of the universe, the Q3A game server, is revealed here. See it in all it's glory and understand it's unfathomable depths.... mmmm, not quite, read this though and you be on the path of enlightenment.
"See instructions below on how to use"
If you 'Skirmish' a lot on single player then setting up a
multiplayer server game shouldn't be too difficult.
-
Open a q3 game as normal and go into the 'mulitplayer' screen
-
Click on the 'create' button [bottom 2nd right]
-
Choose the 'game map' you want to play. Click 'next'.
bot skill :if you're going to include 'bots' in the game
you can set their 'difficulty' here
-
player list : 8 players is the default setting for the game
(you can modify this later)
-
map and game type : this is the game map you chose earlier,
this is the one you will be playing (can be modified later).
-
frag / time limit : set the frag limit (if you leave this
blank it will default to the limit that goes with the map in 'normal'
game play). Set the time limit here as well.
-
pureserver :if you switch this 'on' , a person can only log
on to your server if the main q3 game files on both systems (your
server and the player/client) are the same. Any 'cheats' (i.e.. making
characters stronger, faster etc.) will mean that they wont be able
to log on to your server. Click 'off' to allow cheats'.
-
dedicated : do you want to be part of the game yourself?
or is this game going to be solely 'dedicated' to the game (via the
Internet or LAN).
-
no : to be able to play in the game your setting up
-
Internet : allow others to access the game over the Internet
-
LAN : allows others to access the game over a local area
network
If you chose 'Internet' or 'LAN' you generally cannot play the game
on the server itself. If you wanted to play you would need to access
the game by using a PC connected by LAN or Internet.
-
name : give your server a name so that it shows up when players
do a multiplayer game search
-
fight : depending on how you've set up your game, you'll
now see one of two things, the normal game screen which means you're
joining the game, or the system console running on your desktop, which
means you set the game as dedicated
That's the basic's, which you need to familiarise yourself with before
fiddling around with the server console.
A bit more advanced set-up
As mentioned on the above it's best to understand the basics of setting
up a game server before you embark on the console which should look
like this; picture below.
All your commands are typed into the console using the white box (see
highlighted area in picture above) and unlike the game console (which
is activated in game by pressing the key above the tab key) you can't
use the '/' prefix to indicate a command, instead most have the 'sv_'
(server) or one of several other prefixes (r_, com_, cg_ and many others).
Once you've figured out what command you want to enter, just type it
in, generally it won't be executed until you restart the match or q3
itself (exceptions usually are map and bot changes. For example, the
following will start q3dm17;
If you set a (dedicated) server up for play over the Internet, by default
a 'ping' (a packet of data containing basic details about the game you're
setting up) is sent to the main q3 server which checks what IP addresses
are available and can be given to your game (it 'resolves' an address,
which is a series of numbers that allow computers to talk to each other
e.g. 192.246.40.56). Once the address is resolved other players can
then join your game; basically you're exposing your q3 bits to the world.
Hot-tip : have a look in the 'Quake 3 Help System' (Start
> Quake 3 Arena > Help System [if you've installed quake3 in
it's default directory click here])
under 'dedicated server' it lists some of the basic's, game types,
memory allocation, IP addressing.
Ideal situation
to join the game now running, the ideal situation is to have two PC's,
connected together with LAN cards (or a network hub), one running ('hosting')
the game server, the other to join the game with. The server doesn't
need to be powerful either, there are q3 servers out there running p166's.
From a servers point of view, two things that seem to make a notable
difference to game play are RAM and access type / speed, you need as
much ram as you can lay your hands on and a decent (fast..!) connection
to the net. A 56k modem will just about manage 3 players with pings
of about 250-350, you could push it to 4 players but you get a lot of
'connection interruptions' or 'pinglocks' (well that's the polite version
anyway!).
You can also join your own game server by re-launch q3 again on the
same PC as the running server and browsing your 'local' connection to
find the game.
The one big drawback of this is that you really do need a s**t hot
PC to give good game play and good server access, otherwise players
that join your server won't be there for long, game play will 'stutter'
like mad, they'll get a '999' ping and they will be thoroughly p*ssed
off...!
Rotating maps
One of the other great mysteries of the universe, changing
maps, is unravelled here, soon the light of enlightenment will awaken
from within and you will be on the path of righteousness. Hmm, OK, it's
easy when you know how.
Changing a single map from the server console is dead easy, all you
need do is type
Press return/enter.
Make a note of which number goes with which map from within the game
(when you choose an arena there's a number underneath the picture, this
is used to tell the server which map you want).
Map cycling
You can play through your favourite maps by creating a 'map cycle',
this is a text file which lists the maps you want to use e.g.
// START of map rotate cfg file
// This config file cycles through the maps listed below in the game.
// Free For All mode.
set g_gametype 0
-
set m7 "fraglimit 20; map q3dm6; set nextmap vstrm16"
-
set m16 "fraglimit 20; map q3tourney4 ; set nextmap vstr
m19"
-
set m19 "fraglimit 20; map q3dm15 ; set nextmap vstr
m20"
-
set m20 "fraglimit 20; map q3tourney5 ; set nextmap vstr
m21"
-
set m21 "fraglimit 20; map q3dm16 ; set nextmap vstr
m22"
-
set m22 "fraglimit 20; map q3dm17 ; set nextmap vstr
m7"
vstr m7
// cfg map rotate file - END
Copy and paste the above text between '// START..' to '.. END' into
a *.txt file and then save it to your /baseq3 folder. Rename
it to something appropriate with the *.cfg file extension and
you should be ready to rock 'n' roll.
Note : if you look at the text above you will see the numbers
in bold text ('.. set m7 ..' & '.. vstr m16 ..')
repeat at start of the line below, this gives basic instructions to
the server to go to that named map next. You can change the order
and which map are cycled through by changing this text, just remember
to 'instruct' the server to go back to the first map to play the cycle
again..!
All you need to do is copy and paste the text above to a new text document
(notepad or similar). It must be saved with a '.cfg' file extension.
The filename will look something like this, 'cycle1.cfg'. You
then need to save/copy/move the file to your 'baseq3' folder.
You can then execute the map cycle by typing in the command 'exec
filename.cfg'. Using our .cfg file it looks like this when typed
into the console
Doing this will shutdown the current game and any bots and/or players
that you left in the previous map should 'roll over' into the new game.
Simple eh..!. Well, once you got past the basics shown above you can
start to 'program' all sorts of 'things' into the game, from setting
'maxping' to zero-G in game.
Problems setting up an online Quake 3 server
There appears to be a nasty little problem that users of some broadband
services seem to be encountering when trying to set up an Internet server.
Everything works fine; the game runs, maps load and you can even connect
over a local LAN connection. But for some reason you or your friends
simply cannot connect to your own online server. It appears the culprit
for this problem is the IP number your service provider assigns to your
connection via the broadband service you're subscribed to.
Because of the way most broadband accounts work (at least in the UK
via ADSL) you don't get assigned a 'proper' IP address (which you would
if you had a connection using a 'static' IP), you're basically piggybacking
on your service providers IP address and getting assigned what is in
effect a 'local network' address (in the same way as you can set IP
numbers on your own home network; 127.0.0.1 being typical). The ramifications
of this are that it's often incredibly difficult to find out what your actual IP address is, even when using an online tool like
'what
is my IP', they're more often than not listing your service
providers IP and not your computers connection to the Internet.
The bad news is, there doesn't appear to be an easy way around this
problem; if indeed there is one, and because of the way service providers
work you won't know you've got a problem until you try to set up a server.
If that happens, you're stuck, they (ISP's) don't really like people
running online servers over their connections; uses too much bandwidth
or so they say, so they won't necessarily be inclined to help you.
Playing with fire (walls)
When this article was originally written, oh so many years ago, personal
fire walls and network routers were pretty rare; everyone was basically
connecting a single PC to the net. Nowadays, you shouldn't really be
on the net without a firewall running at least in software on your PC.
This brings us to our current issue, a network server not being seen
over the local network. Assuming you've actually set the network menu
to browse you local network instead of the net (*cough*) the chances
are now that if you're not seeing the game it's being blocked by your
firewall (hardware router type or software ZoneAlarm type).
There are going to be two basic types of block; a 'program block',
and a 'network IP block'.
A 'Program Block'
A 'program block' is going to be client based, basically this means
that Quake3 can't get out from your PC to view the network, the firewall
will be blocking the programs access rights to the network (send requests).
If this is the case then you need to set up permission for Quake3
to be allowed access, the chances are that if you can already browse
the net for online servers then access rights have already been set
up for Quake3.
If you've not done either then you'll need to look at your firewall
settings for a list of programs that have tried to access the network.
In there will be an entry for Quake3 (if not you should be able to browse
to where the exe is), it should be a simple case of selecting the entry
and highlighting various network options, how you do this will depend
on your network and firewall set up. As an example ZoneAlarm has a 'program'
page that lists everything that's tried to access either the network
or the Internet. All you do is find the entry you want (or browse to
the exe as per above), select it and then check off the options you
want to apply to that program and et viola Quake3 can now see the network
(usually after a reboot even on XP)
A 'Network Block'
A 'network IP block' is different to the above and is more about
'received requests'. Now the problem here is that exactly how you
tell a firewall to allow access to a certain network IP's is going
to vary depending on the set-up you have, so only 'generic' info can
be given here, but as an example in the case of ZoneAlarm (software firewall - I use this on my machines, very good app it is
too.!) there is a page - alerts and logs tab - which lists the specific
received requests that have come into the PC which are blocked automatically;
by default nothing gets through. In here as you look down the list,
you'll see all sorts of stuff, most of it is junk but there will probably
be the odd entry that looks familiar, you'll be seeing either the
IP address of your other PC on the network or the name of the it.
For ZoneAlarm to allow access it's a simple case of selecting the correct
entry and clicking on the 'add to zone' button, this will then set traffic
to pass through that address. Again the chances are that if you can
browse for files on your network then PC 2 PC access has been set up
already and the problem is more likely to be one of local blockage as
mentioned above.
If after fiddling with this stuff you still can't get it to work try
connecting the PCs directly together (using a crossed cable) and see
if they find each other - disable any firewalls so you *know* there's
nothing blocking access at all. If the PCs still can't find each other
then you've probably got a wider problem that's not just effecting Quake3
but the whole network.
Q : setting up zonealarm for hosting online games
A : If you can already play Quake 3 online then you may not
need to do anything else to ZoneAlarm in order for you to create a server
for online play. However, if you have problems with the server not getting
online or you're setting up for the 1st time you'll need to check a
few things. First drop into windowed mode (Alt+[return] when Quake 3
is running), this is just a precaution to stop your PC locking up or
crashing when you try to do something in the background when Quake 3
is full screen - it doesn't like that.!
Go into the 'multiplayer' menu. As soon as you do this ZoneAlarm *should*
throw up a 'permissions' warning flag which you need to say 'yes/no'
to, click the 'remember setting' checkbox (use Alt+TAB to jump between
Quake 3 and Zone Alarm so you can actually click on the warning flag).
This sets the access permissions for Quake 3 to connect to the Internet,
and once done should then allow you to create a server. You may get
another permissions flag when you do that.
If none of the above happens then you'll need to open Zone Alarm and
check the settings from there. Click the 'Program Control' menu
item on the left to open the relevant page, you'll be on the 'Main'
page by default. In the top right, just under the 'help' icon are a
couple of page tabs; 'Main' and 'Programs', click 'Programs'.
You should now see a list of names displayed, each being a program that
has tried to get through Zone Alarm and access the Internet. There should
be an entry somewhere on that list for 'quake3.exe', highlighting
that entry will show you what permissions it has, it should ideally
have green 'ticks' (check marks) in each of the columns, if not, click
in the respective column and choose 'allow'. Leave Zone Alarm
open and go back to Quake 3 and try to connect to the Internet again,
if nothing happens close and restart the game and then try it again,
if everything else on your system is OK then you should find you can
access the net and set-up and run a Quake 3 server.
This also applies to setting up and running servers for Doom 3, Return
to Castle Wolfenstein, Call of Duty, etc.. etc..