Manual
Title : ClanRing CRMod++ v6.6 Quake Competition Server
Filename : crmod66.zip
Version : 6.6
Date : March 12, 2017
Author : J.P. Grossman (a.k.a. Mephistopheles)
Email : jpg@alum.mit.edu
URL : http://www.crmod.com
This is a Quake1 NETQUAKE mod. It does not work with Quakeworld. Do not send
us email asking us to make a Quakeworld version; we're not going to.
============
User's Guide
============
/-------------\
0.0 Getting Started
\-------------/
The following is a five-step self-help program to turn your plain old
computer into a bona-fide ClanRing CRMod++ v6.6 Quake server:
1. Create a subdirectory in your Quake directory called 'crmod' or whatever
else you feel like calling it.
2. Unzip the contents of crmod65d.zip into this new subdirectory. Make sure that
whatever program you use to unzip the files preserves the directory structure
contained in crmod65d.zip.
3. Edit autoexec.cfg, crmod.cfg, levels.cfg, ban.cfg and userdefs.cfg. Each
of these files is commented with editing instructions. Make sure you
change the passwords! *Don't* give out password 0!!!
4. Run the crmake utility. (crmake.exe in Win95/NT or crmake.linux in linux)
5. Start up your quake server with '-game crmod' in the command line replacing
'crmod' with whatever name you gave your subdirectory.
Examples:
wqpro.exe -condebug -game crmod -dedicated +hostname godzilla
sqpro -condebug -game crmod -dedicated 16 +hostname bambi
The recommended quake executable for running a CRMod server is ProQuake
(http://quakeone.com/proquake). It is also recommended that you use
-condebug in the command line. This will create a console log called
Qconsole.log in your crmod directory. It is useful for seeing what has
happened on your server, and it can also help the debugging process if you
encounter problems running crmod. This file can also be given a different
name, or even named sequentially so that successive runs of the quake
executable don't overwrite previous log files (see the ProQuake manual
for details).
0.1 Recommended Settings
The following settings are recommended for FFA play:
-zone 512 -condebug -dedicated 12 -deathmatch 1 +pausable 0 +noexit 1
+sv_aim 2 +timelimit 30 +fraglimit 50
zone 512 and condebug were explained above. dedicated 12 allows for a
reasonable number of players. The maximum allowed by Quake is 16; this is
almost always too many. Most good servers set the limit to 10 or 12.
deathmatch 1 is pretty standard and self-explanatory. pausable 0 prevents
players from pausing the game, which can be badly abused. noexit 1 prevents
a rapid progression through levels when there's always one person who doesn't
like such and such a level. sv_aim 2 allows players to shoot where they aim -
it removes the vertical correction that is annoying to all experienced quake
players. timelimit and fraglimit are of course more subjective.. I have found
30, 50 to be quite reasonable. Note the *absence* of teamplay 1; all serious
quake servers use teamplay 0 to prevent really cheap tactics with grenades,
rocket launchers and lightening gun discharges.
If the server is to be run in match mode, then -dedicated 16 is recommended
to allow for the maximum number of observers, and teamplay should be set to 2.
/------\
1.0 Contents
\------/
0.0 Getting Started
0.1 Recommended Settings
1.0 Contents
2.0 Play Modes
3.0 Match Mode
3.1 Joining a Match
3.2 Timer
3.3 Team Size
3.4 Ghosts
3.5 Match Start Points
3.6 Spawning
3.7 Overtime
3.8 Number of Teams
3.9 Teamplay / Individual mode
4.0 Observer Modes
4.1 Walk Mode
4.2 Fly Mode
4.3 Chase Mode
4.4 Autochase Mode
4.5 Tournament Chase Mode
4.6 Eyecam Mode
4.7 Camera Mode
4.8 Autocam/QuakeTV
4.9 Heads Up Display
4.10 Smoothing
4.11 Running Commentary
5.0 User Commands
5.1 Teamstats
6.0 Administrator Mode
6.1 autoss
6.2 Privileged Administrators
6.3 Banning
6.4 vote-admin
7.0 Server Console Commands
7.1 Using 'skill'
7.2 Setting the Passwords
7.3 Freshspawns
7.4 Banning and Unbanning
7.5 AFK Settings
8.0 Config Files
8.1 crmod.cfg
8.2 level-specific config files
8.3 levels.cfg
8.4 userdefs.cfg
8.5 ban.cfg
9.0 Entity and Camera Files
9.1 newspawn
9.2 killspawn
9.3 newstart
9.4 makeitem
9.5 changeitem
9.6 killitem
9.7 makecam
10.0 Qsmack Support
11.0 ProQuake Support
11.1 Muted Console Variables
11.2 Team Scores
11.3 Match Timer
11.4 Ping Times
11.5 'pq' command
12.0 Other Features
12.1 Statistics
12.2 Autokicking
12.3 Player Name Check
12.4 Autoswitching
12.5 Extended Obituaries
12.6 Gibs
12.7 Teamscores
12.8 Deathmatch 3
12.9 Ping Hiding Character
12.10 READY in Scoreboard
12.11 ASCII Names in Server Console
12.12 IP hiding
12.13 Smooth Attacks
13.0 Bug Fixes
13.1 Suicide during intermission
13.2 Impulse 11
13.3 Non-zero velocity on respawn
13.4 Bad respawns in e3m7
13.5 chase_active
13.6 Glowing bodies
13.7 Disconnect ghosts
13.8 Connect failures
13.9 Falling after discharge bug
13.10 Disconnect after gib bug
13.11 Bad teleport in start bug
14.0 Bugs Not Fixed
14.1 Reverse Telefrag
14.2 Start with Stairs
14.3 Teleport Time
14.4 'Wigging'
14.5 Flashing Glow
15.0 Other Issues
15.1 Listen server intermission crash
15.2 exec levels.cfg
15.3 Map initialization time
15.4 Winquake listen server locks up on Intel machines
/--------\
2.0 Play Modes
\--------/
The CRMod++ server supports the following four play modes:
Normal - Standard FFA deathmatch mode.
Match - Match mode for tournament team play (see section 3)
Individual - Individual mode for tournament FFA play (see section 3.9)
Practice - Phat respawns (200 armour, 100 health, all weapons)
- Unlimited ammo
- When you damage another player, the player name and the
amount of damage are displayed on the screen
- When you are killed, the health of the person who killed you
is displayed on the screen
- Weapon, ammo and backpack items do not appear (this reduces
network traffic)
By default, the server starts up in normal mode. To start it in match mode
use +samelevel 2 and +teamplay 1 or +teamplay 2 in the command line. To start
it in individual mode use +samelevel 2 and +teamplay 0 in the command line.
To start it in practice mode use +samelevel 4. Note: for some reason the
+samelevel X command does not get parsed properly if it is at the end of a
long command line. So if you are having problems (i.e. server starts in
Normal mode even with +samelevel 2) or if you just want to play it safe,
place +samelevel X immediately after the quake program name, e.g.
winquake +samelevel 2 -dedicated 16 -game cr4 +hostname Banana_Split
You can also place these parameters in an autoexec.cfg file. A sample
autoexec.cfg file is included in the zip file which starts the server in
match mode.
To change modes once the server has started, use the commands 'normal',
'practice', 'match' and 'individual'. They can be entered either by an
administrator or directly into the quake servers console. When mode voting
is enabled, players can also use these commands to initiate a vote to change
modes. Mode voting is toggled using the 'modevote' command, and is disabled
by default.
/--------\
3.0 Match Mode
\--------/
Match mode provides tournament play between two or more teams. All players
are gibbed at the start and end of a match, and a team's score is the sum of
the frags of each player on the team.
3.1 Joining a Match
As in Clanring3.0, all players start in observer mode. To join a team, first
choose a color by typing 'color <shirt> <pants>' in the console, or just
'color <pants>' (e.g. 'color 8 2'). Then type 'ready' to commit to the
team with the specified pant color. To uncommit yourself type 'notready';
this only works *before* the match begins. At any point before or during
the match type 'observer' to leave the match and become an observer.
You cannot join a match after T-5 seconds unless you are joining a team that
has fewer players. To add players after this point, e.g. to change a 3v3 to
a 4v4, the countdown timer must first be stopped.
3.2 Timer
By default, the timer starts when there are two teams and all non-observers
are ready. The match begins one minute after the timer starts. If a player
uncommits the timer stops; it will restart (at T minus one minute) once
all players are ready. All items will respawn at T minus 30 seconds.
If there are two teams present but someone is not ready, players may vote
to force the timer to start using the 'timerstart' command. During
the match players may vote to pause the match using the 'timerstop'
command, then restart it using the 'timerstart' command. At any point if
both teams become empty then the match is aborted and the timer is stopped.
The 'autopause' command can be used to enable automatic match pausing.
When this feature is enabled, the match will pause automatically if a player
becomes disconnected.
When fast match starts are enabled, the timer will start at T minus 20
seconds instead of T minus one minute. Fast match starts are toggled using
the 'faststart' administrator command. They can also be enabled/disabled
from the console (see section 7).
When the countdown timer reaches T-5 seconds, no new players may join
unless one of the teams still has fewer players. For example, if at
T-5 seconds there are two red players and three blue players, then noone
may join the blue team but one player may join the red team. In order to
allow someone to join the blue team, the timer must be stopped.
3.3 Team Size
Team size is set dynamically; when the match begins the team size is taken
to be the size of the largest team. Once the match has started, a player may
only join a team whose size is less than this teamsize. To remove this
restriction and allow players to join at will, match participants must vote
to unlock the match using the 'unlock' command. After new players have been
joined, the team sizes can be re-capped using the 'lock' command.
3.4 Ghosts
When a player commits to a team they are assigned a two digit ghost code.
If the player becomes disconnected during the match, they can reconnect and
enter their ghost code using the 'ghost' command to rejoin the match and
restore their color, frags and statistics. This is the ONLY circumstance
under which a player may ghost themselves; in particular a ghost code
cannot be used if the owner of the ghost is still connected to the server,
and if a player leaves a match by becoming an observer then their ghost is
destroyed. If the player is able to reconnect to the server without
restarting quake, then they will not need to manually enter the ghost code;
it will be entered automatically when they use the 'ghost' command.
In the event that a player disconnects while the match is paused or when
autopause is enabled (see section 3.2) and then reconnects and
ghosts back in while the match is still paused, they will be *completely*
restored.. armor, weapons, position, velocity, powerups.. the whole nine
yards. However, if the match is unpaused while they are disconnected then
this information will be lost and they will be restored with color,
frags and statistics only.
Players are given their ghostcode as soon as they ready up, and they can
view it at any time before or during the match using the 'ghostcode' command.
The 'ghostcode' command will work even *after* the player is disconnected
from the server. To prevent players from using someone else's ghost, only
administrators can view the ghost database using the 'ghostlist' command.
This may seem a bit draconian, but it works out; if a player is disconnected
and forgets their ghostcode, then either it's not an important match in which
case it doesn't really matter, or it *is* an important match in which case
there should be an administrator present who can provide the player with
his/her ghostcode.
3.5 Match Start Points
Match start points may be specified in addition to the usual spawn points to
prevent telefrags at the start of a match. They are ONLY used at the start
of a match, and they are only used if there are more players than spawn
points. Match start points for a level are specified in that level's
entity file (see section 9).
3.6 Spawning
All players spawn simultaneously at the start of the match independent of
whether or not they are pressing jump/fire. During the match, press jump or
fire to respawn after being killed. Players are respawned automatically
after being dead for 5 seconds.
3.7 Overtime
Players may use the 'otset' command to specify an overtime of sudden death,
1, 2, 3, 4, 5 or 10 minutes. In sudden death the match ends as soon as the
tie is broken. In all other cases if the match is tied at the end of the
overtime period, the overtime will repeat until the tie has been broken.
3.8 Number of Teams
By default the maximum number of teams is 2. This can be changed using the
administrator/console command 'maxteams'.
3.9 Teamplay / Individual mode
In match mode teamplay can be set to either 1 or 2. If teamplay is 0 then the
server will be in Individual mode. Individual mode is exactly like a match
mode in which all teams are of size 1 and different teams can have the same
color. The only other difference is that scores are reported using player
names rather than team names.
/------------\
4.0 Observer Modes
\------------/
Anyone can become an observer by typing "observer", "walk", "flyme", "chase",
"autochase", "eyecam", "camera" or "autocam" in the console. There are seven
observer modes corresponding to the last seven of these commands. In
addition, there is a "tournament" mode for chase and autochase which is
toggled using the "tourney" console command.
The observer moves around on their own in walk and fly mode; in all other
modes movement is automatic. In both walk mode and fly mode the observer
automatically moves through doors, and teleports are functional.
To re-enter the game, use the "ready" console command.
4.1 Walk Mode
In walk mode the observer moves exactly as if they were a regular player, but
of course they don't interact with the game at all. This includes jumping
and moving in water. The only difference is that up and down motion is
faster under water. When in walk mode, hold down the fire button to fly.
Whenever a player appears in the line of sight, that player's name appears on
the screen and their information appears in the status bar.
4.2 Fly Mode
In fly mode the observer moves exactly as if they were under water - this
includes moving up and down (although the up/down motion, as in walk mode, is
faster than in normal quake). The following controls are used in fly mode:
jump - move up
+moveup - move up
+movedown - move down
attack - fly through walls
As in walk mode, whenever a player appears in the line of sight, that player's
name appears on the screen and their information appears in the status bar.
4.3 Chase Mode
In chase mode movement is automatic; the observer chases the currently
selected player. That player's name appears on the screen and their
information appears in the status bar. The following controls are used
in chase mode:
attack - freelook
jump - select next player
attack+jump - select previous player
4.4 Autochase Mode
Autochase is exactly the same as chase mode except that the server will
periodically decide who the most interesting player is to chase. The
controls are exactly the same as for chase mode.
4.5 Tournament Chase Mode
In both chase and autochase modes, tournament chasecam mode can be toggled
using the "tourney" console command. In tournament mode when there is an
enemy present their name will appear on the screen (in addition to the
name of the player being chased) and the camera will look in their direction.
Tournament chase mode is enabled by default.
4.6 Eyecam Mode
In eyecam mode the observer sees through the eyes of the selected player,
rather than chasing them from behind. As in chase mode, the selected player's
name appears on the screen and their information appears in the status bar.
There is no auto mode or tournament mode for eyecam. The controls are
exactly the same as those for chase mode.
4.7 Camera Mode
In camera mode the observer simply sits at a camera and watches one of the
areas in the level. It was included fairly specifically for the purpose of
setting up a few large displays to watch a live tournament. The controls
for camera mode are as follows:
attack - freelook
jump - select next camera
attack+jump - select previous camera
In both camera and autocam modes, observers will see automatically generated
running commentary if there is a match in progress.
4.8 Autocam/QuakeTV
Autocam mode adds cameras to autochase, so in addition to switching from
player to player the server will also occasionally switch to a camera.
The controls are exactly the same as for camera mode. This mode is also
known as QuakeTV, and the "quaketv" command can be used to activate it.
4.9 Heads Up Display
There is an optional heads up display for showing player information in all
observer modes; it is toggled using the "headsup" console command. The
heads up display contains the player name, weapon, armor type and value,
health, ammo, and ring, suit and quad flags. The match mode display
"X up by Y" is not shown with the heads up display.
4.10 Smoothing
Chasecam, eyecam and camera modes appear perfectly smooth when using
ProQuake, available at
http://quakeone.com/proquake
If not using proquake, a partial smoothing can be achieved using the
"smooth" command to toggle camera smoothing. This command does *not* use
an impulse; it is an alias to directly toggle the console variable cl_nolerp.
Smoothing does not help, and should not be used, in walk and fly modes, or
during regular play. The server will automatically turn smoothing off when
an observer enters walk/fly mode or readies up.
4.11 Running Commentary
In match mode, observers will, by default, be given a running commentary
of the match. This includes comments for when a player obtains a powerup,
for when a team has control, and a bunch of other stuff. This commentary
can be toggled using the "commentary" command.
/-----------\
5.0 User Commands
\-----------/
help impulse description
---- ------- ------------
help-server 100 Show main help commands
help-match 129 Match mode help
help-misc 105 Misc commands
help-observer 101 Show observer commands
help-walk 144 Show observer walk mode controls
help-fly 145 Show observer fly mode controls
help-chase 146 Show observer chase mode controls
help-camera 156 Show observer camera mode controls
help-stats 179 Statistics commands help
commands 106 List all commands and impulses
levels 107 List all levels recognized by the server
vinfo 117 Show server version info
match impulse description
----- ------- ------------
ready 120 Leave observer mode / commit to a team in match mode
notready 121 Used to uncommit in match mode
unlock 122 Request to unlock match (allows new players to join)
lock 130 Request to re-cap the team sizes
ready? 123 List the players that are not ready
timerstop 124 Request to pause a match
timerstart 125 Request to start/restart the timer
ghostcode N/A Display your ghost code
ghost 127 Restore yourself from a ghost
score 128 Show time left and score in match
+teamscores N/A Bind this to a key. Shows time left and score.
rockets 133 Lists the players that have an RL
timer 124 Toggle on-screen match timer
timeset 215 Request to set the match timelimit
otset 216 Request to set the match overtime
observer impulse description
-------- ------- ------------
observer 140 Enter observer mode
walk 141 Enter walk mode
flyme 142 Enter fly mode
chase 143 Enter chasecam mode
autochase 155 Enter autochase mode
eyecam 149 Enter eyecam mode
camera 153 Enter camera mode
autocam 154 Enter autocam/quaketv mode
quaketv 154 Enter autocam/quaketv mode
commentary 147 Toggle running commentary
headsup 148 Enable/disable heads up display
tourney 151 Toggle tournament chasecam mode
smooth N/A Toggle camera smoothing for chase, camera and eyecam
statistics impulse description
---------- ------- ------------
killstats 170 View kill statistics for each player
efficiency/eff 171 View weapon efficiency statistics for each player
stats 172 View kill/weapon summary statistics for each player
quadstats 173 View kill/weapon quad statistics
badstats 174 View RL packs given up and damage done to self/team
teamstats 175 Various team statistics (see section 5.1)
autostats 178 Automatically dump statistics at the end of matches
misc impulse description
---- ------- ------------
rules 103 Show the server rules
admin 108 Enter administrator code
motd 109 Show the message of the day
admins 110 List administrators and the code they used (0-9)
autoweaponon 111 Enable autoweapon switching
pq 112 Toggle ProQuake settings (see section 11.5)
autoweapon/aw 114 Toggle smart autoweapon switching
yes 115 Used for voting
no 116 Used for voting
ticrate 118 View sys_ticrate
ratings 183 View the player ratings
autopause 210 Request to enable/disable automatic match pausing
obits 211 Request to enable/disable extended obituaries
normal 217 Request to set playmode to 'normal' (FFA)
practice 218 Request to set playmode to 'practice'
match 219 Request to set playmode to 'match'
individual 220 Request to set playmode to 'individual'
setquad 221 Request to enable/disable quad
setpent 222 Request to enable/disable pentagram
setring 223 Request to enable/disable ring of shadows
nogibs 225 Request to disable gibs
lowgibs 226 Request to set gibs to 'low' (less network traffic)
highgibs 227 Request to set gibs to 'high' (default quake gibs)
vote-admin 251 Request to be given administrator privileges
The smartweapon setting prevents you from automatically switching to a
weapon that you pick up if it's an explosive weapon or if it's the
lightning gun and you're under water. Both autoweapon/aw and
autoweaponon control this setting; the difference is that autoweaponon
enables it whereas the other commands toggle it.
To request a level change, enter the name of the level in the console.
Valid level names are:
start - Start level; stairs appear if all runes are present
start0 - Start level; force no stairs
start1 - Start level; force stairs
end - End level
e1m1-e1m8 - Episode 1
e2m1-e2m7 - Episode 2
e3m1-e3m7 - Episode 3
e4m1-e4m8 - Episode 4
dm1-dm6 - Deathmatch levels
<any user specified level>
User specified levels are defined in userdefs.cfg and added to progs.dat
using the crmake utility.
All requests (timelimit, gibs, level change, etc.) are followed by a vote.
Votes are passed by majority. Observer votes are given less weight than
non-observer votes.
5.1 Teamstats
The following statistics are reported by the teamstats command:
Q - Number of quads obtained by the team
666 - Number of pentagrams obtained by the team
RING - Number of rings obtained by the team
RL - Number of RLs obtained by the team (not including paks)
LG - Number of lightning guns obtained by the team
GL - Number of grenade launchers obtained by the team
SNG - Number of super nailguns obtained by the team
NG - Number of nailguns obtained by the team
MH - Number of megahealths obtained by the team
RA - Number of red armours obtained by the team
YA - Number of yellow armours obtained by the team
GA - Number of green armours obtained by the team
+PAK - Number of times a player with no RL picked up an enemy RL pak
-PAK - Number of RL Paks dropped (including those not picked up)
Control - Percentage of game during which the team had control
/----------------\
6.0 Administrator Mode
\----------------/
To become an administrator, use the command 'admin' and then enter the code
digits in the console one at a time. If you make a mistake while entering
the password, type 'admin' to start over. Players who have the number keys
0-9 bound to impulses 1-10 can use these keys to enter the administrator
password instead of typing the digits in the console. Administrators can
participate in the game.
A server can have up to ten admin codes, numbered 0-9.
Codes 1-9 are equivalent; the multiple codes are primarily for security
purposes so that, for example, you can figure out who leaked your admin code,
or take away a certain person's admin priviledges without changing the other
codes. Code 0 admins are priviledges (see section 6.2); it is recommended
that you do *not* give out code 0.
All user commands are available to administrators. Requests are granted
immediately (there is no vote). In addition, if a non-administrator
initiates a vote, then the vote is either passed or cancelled immediately
if the administrator enters 'yes' or 'no' in the console.
The following commands are available to administrators only:
command impulse description
------- ------- ------------
help-admin 200 List admin commands
autoss 204 Force players to take a screenshot
crban 205 Ban a player from the server
bans 197 View the currently-banned IP addresses (code 0 only)
unban 198 Remove the temporary ban
ips 206 View player IP addresses (code 0 only)
dmset 207 Set deathmatch mode (1/2/3)
maxteams 208 Set the maximum number of teams for match mode
faststart 209 Toggle fast match starts
ghostlist 212 List all ghosts in the database
crkick 213 Kick a player
abortmatch 214 Aborts a match in progress
safepractice 224 Disable practice mode discharging and grenade spamming
modevote 228 Enable/disable voting to change modes
options 229 Brings up the on-screen options menu
nextspawn 246 Go to the next spawn point
makespawn 247 Create a new spawn point
nextcam 248 Go to the next camera
makecam 249 Create a new camera
spot 250 View coordinates and angles for current location
qsmack 37 Send a command to the Qsmack bot
The options menu can be used to set playmode, timelimit (for all modes),
fraglimit, overtime, gibs, teamplay, noexit, pausable, quad, pent, ring,
modevote, deathmatch and sys_ticrate.
6.1 autoss
The purpose of autoss is to catch cheaters in network games. By forcing
players to take screenshots at unexpected times, players who use modified
graphics will not have a chance to change their graphics back to normal
or somehow hide the modification before taking a screenshot and sending
it in.
autoss does slightly different things depending on the situation. If you are
eyecamming a player, then it forces that player only that player to take
a screenshot, and it also takes a screenshot for you. You can then compare
the two screenshots to see if the player is using a cheat. If you are not
eyecamming a player, then it forces *all* players to take a screenshot
simultaneously. During a match, this will be a single normal screenshot,
and it is not taken for players using GLQuake due to the length of time it
takes GLQuake to generate a screenshot. If a match is not in progress, this
will actually produce a pair of more extensive screenshots; one screenshot
will show the graphics with the current rankings displayed, and the other
screenshot will show the console with the current search path displayed
(used to detect pak2.pak).
For dm3 in match mode only, autoss will take a single screenshot for all
players which places the viewpoint in the RL area and puts most of the
models on the screen. This screenshot cannot be taken during a match or
during the 10 second countdown; if 'autoss' is entered at one of these
times the then screenshot will be taken automatically upon match completion.
Note that although the placement of the models is deterministic, their
orientation is not and should be checked for a matching screenshot.
In all cases, the screenshots will contain the name of the player and the
name of the administrator who issued the command:
Clanring screenshot by administrator
"name" is "player"
6.2 Priviledged Administrators
Administrators that use code 0 are "privileged". In addition to the usual
administrator capabilities, privileged administrators can do the following:
- kick non-privileged administrators using the crkick console command
- view player IP addresses using the 'ips' command
- view the list of banned IPs with the 'bans' command
- ban up to 127 different IP addresses
- use the 'give' cheat in practice mode
- forward arbitrary commands to the server using 'cmd' while observing
or while in practice mode
6.3 Banning
The banning procedure has been completely revamped in crmod 6.0, making use
of the new compiler technology. The interface is now exactly the same as
for kicking: after typing 'crban', the administrator will be presented with
a list of players from which they can choose one to ban. After choosing
the player, the administrator can choose to ban the exact IP, all IPs
matching the first three numbers, or all IPs matching the first two numbers.
When the player is banned, the server will kick them off.
Dedicated servers only:
Non-privileged administrators may ban only one IP at a time (referred to as
a temporary ban). Privileged dministrators may ban as many IPs as they wish.
To remove the temporary ban (bans created by non-privileged administrators),
use the 'unban' command. To unban one or more IP addresses which were banned,
by a privileged administrator, forward the 'unban' command to the server
console using 'cmd' (see section 7.4). To ban an IP which is not currently
connected to the server, forward the 'crban' command to the server console
using 'cmd' (see section 7.4).
Banning is preserved across level changes, but is reset upon server restart.
To ban IP addresses permanently, add them to ban.cfg (see section 8.5).
6.4 vote-admin
The vote-admin command allows a player to request administrator privileges.
If the vote is passed, they become an administrator with code 'V'. They
have the same rights as non-code 0 administrators except that they
cannot set deathmatch or maxteams, and they cannot create cameras or
spawn points. Also, they can be kicked or banned by normal administrators.
/---------------------\
7.0 Server Console Commands
\---------------------/
The following commands can be entered directly into the console of a
dedicated server (setpass is omitted here and described in section 7.2):
commands - Show list of commands
vinfo - Show server version info
sping - EXACT client ping times
time - Show how much time has elapsed on the current level
s - Show server status, including elapsed time
score - Show time left and score in match
ghostlist - List all ghosts in the database
killstats - View kill statistics for each player
efficiency - View weapon efficiency statistics for each player
stats - View kill/weapon summary statistics for each player
quadstats - View kill/weapon quad statistics
badstats - View RL packs lost and damage done to self/team
teamstats - Various team statistics (see section 5.1)
admins - List administrators and the code they used (0-9)
ips - View player IP addresses
bans - List the currently banned players
crban - Ban an IP address
unban - Unban an IP address
normal - Change playmode to 'normal' (FFA)
practice - Change playmode to 'practice'
match - Change playmode to 'match'
individual - Change playmode to 'individual'
nogibs - Disable gibs
lowgibs - Set gibs to 'low' (less network traffic)
highgibs - Set gibs to 'high' (default quake gibs)
quadon - Enable quad damage
quadoff - Disable quad damage
penton - Enable pentagram of protection
pentoff - Disable pentagram of protection
ringon - Enable ring of shadows
ringoff - Disable ring of shadows
obitson - Enable extended obituaries
obitsoff - Disable extended obituaries
otset - Set overtime (use 'skill')
maxteams - Set maximum number of teams (use 'skill')
nopractice - Disable practice mode (only administrators can switch to it)
setafk - Set time (minutes) before a player is marked as afk (use 'skill')
kickafk - Set time (minutes) before an afk player is kicked (use 'skill')
autopauseon - Enable automatic match pausing when a player disconnects
autopauseoff - Disable automatic match pausing when a player disconnects
modevoteon - Enable voting to change modes
modevoteoff - Disable voting to change modes
levelvoteon - Enable voting to change levels
levelvoteoff - Disable voting to change levels
freshspawnson - Enable fresh spawns
freshspawnsoff - Disable fresh spawns
safepracticeon - Disable practice mode discharging and grenade spamming
safepracticeoff - Enable practice mode discharging and grenade spamming
autostatson - Automatcially dump statistics at the end of matches
autostatsoff - Disable automatci stats dumping after matches
novoteadmin - Disable the vote-admin command
7.1 Using 'skill'
The commands 'setpass', 'otset' and 'maxteams' each take a single numerical
argument. This number is supplied by setting skill immediately *before*
issuing the command, e.g.:
// Set the maximum number of teams to 3
skill 3
maxteams
The password can be any 4-7 digit number. For overtime, a value less than 0
specifies sudden death, 0 specifies no overtime, and any positive number
specifies the length of the overtime in minutes. 'maxteams' must be at least
2 and at most 8.
7.2 Setting the passwords
Starting with version 5.1, a server can have up to 10 passwords. The main
password is set using the setpass command from previous version, e.g.
skill 1234567
setpass
The nine additional passwords can be set using the command setpassX where
X is a digit 1-9, e.g.
skill 7654321
setpass4
All passwords must be at least 4 and at most 7 digits long, and cannot start
with zero. As mentioned in section 6, all passwords provide the same admin
priviledges with one exception: administrators who used the main password
can kick administrators who used one of the additional passwords; other than
that one administrator cannot kick another.
Make sure that no password is an extension of another. For example, if
password 2 is 1234 and password 0 is 1234567, then noone will be able to use
password 0 (the server will recognize password 2 before they can finish
entering password 0).
7.3 Freshspawns
Freshspawns apply to FFA mode only. If freshspawns are enabled, players will
start new levels with no armor, 100 health, 25 shells and no weapons other
than a shotgun.
7.4 Banning and Unbanning
Use the 'crban' command to ban up to 127 IP addresses from the server. The
syntax of the command is best explained by example. To ban the specific ip
24.129.6.17, type:
24;129;6;17;crban
To ban all ips of the form 24.129.6.xxx, type:
24;129;6;crban
To ban all ips of the form 24.129.xxx.xxx, type:
24;129;crban
Note that the ip address bytes are separated by SEMICOLONS, NOT PERIODS. IP
addresses may be unbanned using the 'unban' command. 'unban' has exactly
the same syntax as 'ban'. 'unban' causes the removal of *all* matching
bans, where a matching ban is any ban which would prevent the IP being
unbanned from connecting to the server. For example, suppose the server
is currently banning the following addresses:
128.52.34.15
128.52.34.xxx
128.52.xxx.xxx
Then typing "128;52;34;15;unban" removes all of these bans, since any one of
these bans would prevent 128.52.34.15 from connecting. Typing
"128;52;34;unban" removes the second and third bans but not the first,
since the first ban does not necessarily prevent an address of the
form 128.52.34.xxx from connecting to the server.
The crban and unban commands may be forwarded to the server console by a
privileged administrator. ProQuake users may forward the banning command
as follows:
cmd 128;52;34;15;crban
Standard quake users must forward each piece of this command seperately as
follows:
cmd 128
cmd 52
cmd 34
cmd 15
cmd crban
'unban' is forwarded to the server in exactly the same manner as 'ban'.
Banning is preserved across level changes, but is reset upon server restart.
To ban IP addresses permanently, add them to ban.cfg (see section 8.5).
7.5 AFK Settings
The setafk and kickafk commands are used to control AFK (Away From Keyes)
settings. Use setafk to set the time in minutes before a player is
marked as AFK. They can remain on the server, but are not counted
in votes. Use kickafk to set the time in minutes before an AFK player
is kicked from the server. Defaults are 5 minutes for setafk and 30
minutes for kickafk. Use of a lower setting for kickafk is not
recommended as it is conceivable that someone might set up a demo
for a match and then leave the computer running to record the game.
Use 'skill' to set these values, e.g.
skill 60
kickafk
To disable either AFK setting, set it to 0.
/----------\
8.0 Config Files
\----------/
There are four configuration files used by the crmod server: crmod.cfg,
levels.cfg, userdefs.cfg and ban.cfg. crmod.cfg, levels.cfg and ban.cfg
are read by the server directly. userdefs.cfg is not read by the server;
it is incorporated into progs.dat using the crmake utility (see readme.txt
for instructions).
8.1 crmod.cfg
The file "crmod.cfg" contains server settings. Any console command can be
used in crmod.cfg. Additionally, the regular quake commands 'timelimit',
'fraglimit', 'pausable', 'noexit' and 'deathmatch' can be used to set these
variables.
crmod.cfg is read by the server at the start of each level. Commands in
crmod.cfg can be executed conditionally depending on the server mode. If
you want certain commands to be executed only in normal mode, precede them
with the '[normal]' directive. The same holds for practice, match and
individual modes ('[practice]', '[match]' and '[individual]' directives).
If you want certain commands to be executed only once at server startup,
precede them with the '[init]' directive. If you want certain commands to
be executed each time a new level starts, then do not precede them with
any directives (i.e. put them at the start of the file).
Make sure that one of the 'setpass' commands is issued each time the server
starts a new level, or the administrator password will be disabled. Unless
for some reason you want a different password for different modes, then it is
recommended that you put the 'setpass' command at the start of the file to
ensure that you don't accidentally precede it with one of the conditional
directives.
8.2 level-specific config files
In addition to crmod.cfg which is read at the start of each level, you can
define level-specific config files which customize crmod settings for
individual levels. Simple add the file <levelname>.cfg to the config
directory (e.g. dm3.cfg for level dm3). The format of this file is
exactly the same as the format for crmod.cfg; in particular you can use
the directives [normal], [practice], [match], [individual] and [init].
The settings in level-specific config files override the settings in
crmod.cfg.
8.3 levels.cfg
The file "levels.cfg" sets the order of levels for normal (FFA) or practice
mode. The file should contain a list of levels to loop through, one level
per line. Valid level names are those listed in section 5. A single level
can appear multiple times in the order. THIS FEATURE IS ONLY AVAILABLE FOR
DEDICATED SERVERS.
8.4 userdefs.cfg
The file "userdefs.cfg" sets the maximum number of suicides per level, the
user-specified levels, the user MOTD, and the Qsmack logon password.
8.5 ban.cfg
To ban IP addresses from the server permanently, add them to ban.cfg. This
file is executed once on server startup. Up to 127 IP addresses may be
banned in this file, one per line. The syntax for each line is the same
as the syntax for the crban command described in section 7.4. If you edit
ban.cfg while the server is running and want to reload the file, simply
type "exec ban.cfg" in the server console, or become a code 0 privileged
administrator and type "cmd exec ban.cfg" in the console (recall that you
must be an observer, or the server must be in practice mode, for this to
work properly).
/---------------------\
9.0 Entity and Camera Files
\---------------------/
When running a DEDICATED server it is possible to add cameras and edit level
entities. The entities directory contains, optionally, one entity file for
each level. The cameras directory contains, optionally, one camera file for
each level. When a level starts, the server attempts to read the entity and
camera files for that level. The general format for an entry in an entity
or camera file is as follows:
scr_ofsx <x-coord>
scr_ofsy <y-coord>
scr_ofsz <z-coord>
v_ipitch_level <pitch>
v_iyaw_level <yaw>
v_iroll_level <roll>
<entity declaration>
Use the administrator command 'spot' in walk or fly mode to obtain coordinates
in a level. The following sections describe specific declarations which can
be used.
9.1 newspawn
scr_ofsx <x-coord>
scr_ofsy <y-coord>
scr_ofsz <z-coord>
v_iyaw_level <yaw>
newspawn
This creates a new deathmatch spawn point at the given location and with
the given angle.
9.2 killspawn
scr_ofsx <x-coord>
scr_ofsy <y-coord>
scr_ofsz <z-coord>
killspawn
This removes the deathmatch spawn point at the given location (see e3m7.ent).
9.3 newstart
scr_ofsx <x-coord>
scr_ofsy <y-coord>
scr_ofsz <z-coord>
v_iyaw_level <yaw>
newstart
This creates a new match start point at the given location and with the given
angle. Match start points are described in section 3.5.
9.4 makeitem
scr_ofsx <x-coord>
scr_ofsy <y-coord>
scr_ofsz <z-coord>
skill <item number>
makeitem
This creates a new item at the given location. The item is specified by skill
as follows:
skill item
----- ----
1 15 health
2 25 health
3 mega health
4 green armour
5 yellow armour
6 red armour
7 20 shells
8 40 shells
9 25 nails
10 50 nails
11 5 rockets
12 10 rockets
13 6 cells
14 12 cells
15 super shotgun
16 nailgun
17 super nailgun
18 grenade launcher
19 rocket launcher
20 lightning gun
21 radiation suit
22 quad damage
23 pentagram
24 ring of shadows
9.5 changeitem
scr_ofsx <x-coord>
scr_ofsy <y-coord>
scr_ofsz <z-coord>
skill <item number>
changeitem
The server looks for an item at the given location and changes it to the
specified item. The new item is specified by skill as in section 9.4.
9.6 killitem
scr_ofsx <x-coord>
scr_ofsy <y-coord>
scr_ofsz <z-coord>
killitem
This removes the item at the given location.
9.7 makecam
scr_ofsx <x-coord>
scr_ofsy <y-coord>
scr_ofsz <z-coord>
v_ipitch_level <pitch>
v_iyaw_level <yaw>
makecam
This is the declaration which is used in camera files to create a new camera.
/------------\
10.0 QSmack Support
\------------/
There are three things you need to do to set up QSmack to run with CRMod++:
i) Set ban_impulse to 20 in the QSmack config file. This is not a typo;
CRMod++ does *not* use the standard ban_impulse of 220.
ii) Set the five QSmack logon impulses in the QSmack config file using numbers
in the range 20-250.
iii) Set the five user variables QSMACK1 - QSMACK5 in userdefs.cfg to match
these logon impulses
For example, here is a valid QSmack config file:
quakeserver starcastle.idle.com:26000
player_name theBot
shirt_color 0
pants_color 0
log_file 26000.log
ban_impulse 20
init_impulse 99
init01_impulse 20
init02_impulse 250
init03_impulse 107
init04_impulse 69
banfile ban.26000
stats_file stats.log
listen_port 36000
password PeelMe
To make it work with your CRMod++ server, set the QSMACK variables in
userdefs.cfg as follows:
QSMACK1 = "99";
QSMACK2 = "20";
QSMACK3 = "250";
QSMACK4 = "107";
QSMACK5 = "69";
Server administrators can send commands to the QSmack bot using the 'qsmack'
console command (aliased to impulse 37). For more information, consult the
QSmack website:
http://lemur.stanford.edu/clan9/qsmack/
/--------------\
11.0 ProQuake Support
\--------------/
crmod has native support for ProQuake. ProQuake is the recommended version of
quake for both running crmod servers and connecting to crmod servers. The
following sections list the ProQuake features which are directly supported by
crmod.
11.1 Muted Console Variables
In unmodified quake, certain console variables are designated as "server"
variables, and when they are changed a message is automatically broadcasted
to all clients. This causes some undesirable spamming when crmod.cfg is
read, and also when timelimit changes every minute during a match. ProQuake
servers provide a mechanism to mute these console variables to eliminate
this spamming; crmod uses this mechanism to mute the variables "timelimit"
and "fraglimit".
11.2 Team Scores
When a ProQuake client connects to a crmod 6.0 server in match mode, the
server sends team colours and scores to the client. The team scores are
displayed in the status bar in lieu of the individual scores.
11.3 Match Timer
ProQuake clients by default display a timer in the status bar; in match mode
this timer gives time remaining. This feature works for *all* crmod servers,
but it is most accurate on crmod 6.0 servers, as crmod 6.0 sends explicit
messages to the client giving the current match time.
11.4 Ping Times
ProQuake clients by default display ping times in the scoreboard. This
feature works for any server (crmod or non-crmod). Ping times are normally
updated once every five seconds while the scoreboard is being displayed,
but crmod 6.0 sends messages to update the ping times once every second.
11.5 'pq' command
The 'pq' command can be used to inform the crmod server that you are using
ProQuake and have it act accordingly. Currently, the only difference this
command makes is that the match time remaining messages are only printed
every five minutes, not every minute (since ProQuake has a match timer
in the status bar).
/------------\
12.0 Other Features
\------------/
12.1 Statistics
The server maintains kill, weapon, quad and 'bad' statistics for each player.
The kill statistics are: total frags, number of enemies killed, number of
teammates killed, number of times killed self, and number of times killed by
enemy. The weapon statistics give efficiencies for bullets, nails, rockets
and lightning gun. For each of these, efficiency is equal to the total damage
done to enemies and shootable switches divided by the total damage fired.
'damage fired' is computed as follows:
attack damage fired
------ ------------
shotgun 24
super shotgun 56
nailgun 9 per nail
super nailgun 18 per nail
rocket 120
rocket jump 0
lightning gun 30 per frame
discharge not counted
Rockets that don't hit near an enemy and aren't fired near an enemy are
assumed to be "defensive" shots are not counted towards efficiency.
Statistics for each player may be viewed using the 'killstats', 'efficiency',
'quadstats', 'stats' and 'badstats' commands. The 'stats' command gives
overall weapon and kill efficiency, where weapon efficiency is equal to the
total damage done divided by the total damage fired, and kill efficiency is
equal to the number of enemies killed divided by the total number of kills
that the player was involved in (enemies, self, teammates, killed by other).
The 'badstats' command shows statistics for player blunders; it gives the
percentage damage done to teammates, percentage damage done to self, and
number of RL paks given up to the enemy. Statistics can be automatcially
dumped at the end of matches using the 'autostats' command.
12.2 Autokicking
The server will automatically kick any player who suicides more than the
maximum allowed number of times (specified in userdefs.cfg) times on the same
level. The server will also kick any player that becomes disconnected for 20
seconds (this prevents the other team from racking up bogus frags). Finally,
the server will kick any player that tries to hack the admin code.
12.3 Player Name Check
Clients that connect with names "" or "unconnected" are renamed to "player".
Clients that rename to "" or "unconnected" while playing are kicked. Also,
any double quotes that appear in a player's name are converted to single
quotes as double quotes can cause problems for the quake engine.
12.4 Autoswitching
When smart weapon switching is enabled, you will not switch to lightning gun
when it is acquired underwater (either by picking it up directory or by
getting a backpack). You will also not switch to rocket or grenade launcher
when these items are obtained from a backpack. Smart weapon switching is
toggled using the 'autoweapon' command ('aw' for short).
12.5 Extended Obituaries
The regular quake obituaries were getting old, so we added some new ones.
For those who are purists and insist on sticking to the regular obituaries,
the 'obits' command toggles extended obituaries.
12.6 Gibs
Three gibs settings are provided: high, low and disabled. 'High' gibs is the
default quake gibbing, and is meant for servers where most players have good
connections. 'Low' gibs reduces network traffic significantly by using fewer
gibs which disappear sooner; it maintains the gibbing effect in a more
HPB-friendly way. Players are not gibbed if gibs are disabled; this setting
has the lowest network traffic and should be used if the gibs are lagging some
of the players.
12.7 Teamscores
There is a new command, +teamscores, which should be bound to a key. When
the key is pressed during or after a match, the team scores and animated time
remaining are displayed in the scoreboard.
Example of binding +teamscores to a key:
bind q +teamscores
12.8 Deathmatch 3
The original release of quake featured two deathmatch modes: deathmatch 1
(standard) and deathmatch 2 (weapons didn't disappear when picked up;
items didn't respawn). Clanring 4.0 features a third mode, deathmatch 3,
in which weapons don't disappear but items *do* respawn, and ammo
respawns in 15 seconds as opposed to the more standard 30. To enter this
mode, type "deathmatch 3" in the server console, or use the console
command 'dmset', or use the administrator command 'dmset'.
12.9 Ping Hiding Character
It is fairly well known that character 13 can be included in a player's name
to hide their ping. crmod 6.0 changes this character to character 141 which
looks exactly the same but does not hide pings.
12.10 READY in Scoreboard
In match and individual modes, READY is shown in the scoreboard after the
names of those players which have readied up.
12.11 ASCII Names in Server Console
When any of the statistics commands are entered in the server console, the
player names are all displayed using ASCII characters so that they can be
read without using DeQuake. This is particularly useful for automatically
generating readable match statistics using the 'autostats' console command.
12.12 IP hiding
One of the oldest problems with quake is that it displays player IP addresses
for all to see, giving rise to nuking and qkicking. Exact IP addresses are
finally hidden by masking out the last number, so for example the IP address
128.52.38.15 will only be visible as 128.52.38.xxx.
12.13 Smooth Attacks
The original QuakeC code causes player viewangles to jitter when a weapon is
fired, resulting in a "vibrating screen" effec, particularly when using
the super nail gun. This jitter has been removed.
12.14 Player Ratings
The server keeps track of ratings for all connected players based on every
kill. A player's rating is initialized to 1000 when they connect to the
server and is updated based on a variant of the ELO rating algorithm.
Player ratings persist across level changes, and can be viewed by players
and in the dedicated server console using the "ratings" command.
/--------\
13.0 Bugs Fixes
\--------/
13.1 Suicide during intermission
In original Quake you can suicide ("kill" command in console) during the 5
second interval between levels. It's very strange because you reappear with
size zero and you can move around.. try it the next time you suspect you are
on a server that might not have this bug fixed!
13.2 Impulse 11
This is the cheat command that makes runes appear in the bottom right hand
corner. In original Quake, the cheat command was not disabled for deathmatch
play and any player could enter it. Due to another bug in original quake,
this could lead to a "trapped at start with stairs showing" condition.
13.3 Non-zero velocity on respawn
In original quake, gibbed players who respawned before their heads stopped
bouncing would respawn with their old velocity. This has been fixed.
13.4 Bad respawns in e3m7
Players who were killed in e3m7 often respawned exactly where they died
(which is particularly bad if they died in lava). This was due to a bad
spawn point which has been removed (see section 9).
13.5 chase_active
Winquake has a console flag called chase_active which is not disabled in
multiplayer games. When set, it places the viewpoint behind the normal
location which, when a player is backed up against a wall, can allow the
player to see other parts of the map (thus a team could potentially use
this to cheat). chase_active has been disabled in CRMod++.
13.6 Glowing bodies
Players who die or disconnect with quad damage or pentagram lose their
glow. No more radioactive bodies.
13.7 Disconnect ghosts
A bug in the Quake code sometimes allows clients to disconnect improperly,
leaving behind a white ghost. These ghosts are automatically detected and
removed in CRMod++.
13.8 Connect failures
One of the more notorious bugs in Clanring 3.x was the one that prevented
players from connecting, often requiring multiple attempts. This issue has
been resolved.
13.9 Falling after discharge bug
After a suicide by discharge, the original QuakeC code did not properly reset
a flag indicating vertical velocity. The result was that when the player
respawned they would go "ungh!" and lose 5 health as though they had fallen
from a great distance.
13.10 Disconnect after gib bug
Part of the player entity was not reset correctly in the original QuakeC
code if a player disconnected immediately after being gibbed. This would
usually cause the next player coming along to be unable to connect to
the server.
13.11 Bad teleport in start bug
For some reason there is a hidden teleport in the start level in that pit
you jump into to get to the final level. Under normal circumstances it has
no effect because there is also a changelevel trigger that always gets
touched first. However, in match mode all changelevel triggers are removed.
This exposes the teleport which has no destination, and this causes the
server to crash when someone jumps in the pit. It's hard to say if this is
really a bug in quake since it had no effect in original quake, but it's
certainly a sloppy mistake on the part of the level designer - one that has
been fixed in crmod 5.0.
/------------\
14.0 Bugs Not Fixed
\------------/
Some QuakeC bugs were found but not fixed because they weren't too drastic
and fixing them would affect game play. They are mentioned here for the sake
of completeness and interest.
14.1 Reverse Telefrag
Players who teleport onto a player protected by the pentagram were originally
supposed to get fragged themselves with the message "Satan's power deflects
<player>'s telefrag". However, this was never quite implemented. The result
is that 50,000 damage points are done to the player with the pentagram (the
usual telefrag). However, the pentagram keeps the player alive, so the only
effect that the damage has is to nuke whatever armour was left and give the
player one HELL of a push (the momentum that is added when damage is
sustained is proportional to the amount of damage, in this case 50,000). The
result is that the player suddenly finds himself in a very different place.
This obviously doesn't happen very often, but it's strange as heck when it
does.
14.2 Start with Stairs
There was never supposed to be a start deathmatch level with the stairs
showing. The floor of that area has a special flag that causes it to
disappear when all four runes are present; this opens the way to the
teleporter that takes you to Shub-Niggurath in non-deathmatch play. But
there is also a wall which has a flag that causes it to appear in deathmath
play. The result is stairs that don't lead anywhere! The original QuakeC
code tried to avoid this by never going back to start with all four runes.
It failed. The result was a start with stairs, and the "trapped at start"
problem mentioned earlier. Since some players may actually enjoy this odd
level, it has been included as 'start1' in the crmod server.
14.3 Teleport Time
There is supposed to be a delay time after teleporting during which you
cannot teleport again, but this was not fully implemented. HPB's are quite
familiar with the result of this on DM5.
14.4 'Wigging'
In rare circumstances a player model can get stuck cycling through ALL
walk, run, weapon and death animation frames while the player runs
around. This is referred to as 'wigging'. It virtually never appears
during real play and is funny as hell to see, so I've left it in.
14.5 Flashing Glow
When a server has been on the same level for a really long time, the quad
and pent glows get messed up and become flashy and annoying. I have no
idea what causes this or how to fix it. As a workaround, CRMod 6.4 and
above will restart the level if the level has been active for over six
hours and the server is empty.
/----------\
15.0 Other Issues
\----------/
15.1 Listen server intermission crash
For some reason if a new player joins a listen server during intermission, the
server crashes with the message
Host_Error: Received signon 1 when at 1
I don't know why this happens, but there is an obvious workaround.. the guy
sitting at the listen server can type "map <whatever>" and the clients can
reconnect. If there's no guy sitting there.. then why are you running a
listen server?
15.2 exec levels.cfg
If you want to see crmod crash spectacularly, type "exec levels.cfg" in the
server console. Not recommended for the faint-hearted.
15.3 Map initialization time
To prevent possible problems with intermission, starting in version 5.1
levels.cfg is processed at the start of each level. Until the processing
is complete (usually takes a few seconds) exits are disabled, and attempts
to change the level or mode will be greeted with "Wait for map to initialize".
15.4 Winquake listen server locks up on Intel machines
Due to some details of the way in which winquake handles floating point
numbers, winquake listen servers will lock up on Intel machines when
running crmod 6.0. This problem does not affect previous versions of
crmod, GLQuake, or Athlon systems. A workaround is to use -dibonly in the
command line, which diminishes graphics performance slighly but prevents the
system from locking up. Another workaround is to purchase an Athlon system
which will also prevent the system from locking up and which will improve
graphics performance considerably.
Send questions/comments/suggestions/bug reports to jpg@alum.mit.edu