Home
Contact Us

Choose theme

About Quake 4 Expert
Q4 Expert Mod Docs
Q4 Expert Files
Q4 EXPERT Screens
Q3 XCTF BOT MOD
About New Expert
Q3 Newexpert Docs
Q3 Newexpert Files
Q3A Expert Screens
EXPERT TA Screens
Q2 Downloads
Expert 3.2 Docs
XCTF Damagedrop
Expert-4.0.3 Docs
Q2 RTF/CTF 4.0.3
XCTF Revisions
ctfcycle.cfg
exctf.cfg
exctfd.cfg
eachlev.cfg
Q3 Battlebots
PlanetQuake
Quake3 World Forums
Beyond the Portals
Nachos Net
XPD8.Net
Home of Expert Quake
Expert CTF 4.0.3 Documentation

Credits
The original Expert game coders -- for releasing the original 3.2 expert source
Id software -- 


Incinerator -- THIS DOCUMENTATION
wrote in damagedrop mode and several fixes.. 
maploop fix..general merge
merged Incinerator 3.3.2 code and spider 3.2.7 to make expert 4.0 and up
ALTERNATE BFG RECODE
READDED CTFMENU
INTEGRATED WARP FUNCTIONALITY
MINOR BUG FIXES.
WIN32/LINUX UPDATES


Spider -- started the expert 3.2.7 and below modifications
TIMELIMIT CONSOLE OPTIONS
GAMESPY INTEGRATION
SERVER LOCKDOWN FEATURES
ALTERNATE WEAPONS GRENADES AND GRENADE LAUNCHER, ALL WEAPFLAGS SETUP
supplied a working copy of all his source for the 4.0.2 releases


Mazrim[bbq]-- general coding fixes --- pak file checking ... 
Helped with alot of patches/fixes to old code -- 
Linux support..


Inspirations...
Q2 Expert community -- the players.. thanks
MY FAVORITE Q2 SAYING "YOU HAVE BEEN INCINERATED!!!" 
IF I SAID IT TO YA IT MEANS I MUSTA FRAGGED YA BUT GOOD...LOL

Install notes

Linux users -- Download the Expert 4.0.2 full server package included on the downloads page. Also download the 4.0.3 patch.
Note ----- before installing back up your current gamei386.so Just rename it to gamei386so.32 so you know what it was.
Also remember that if your running Q2admin out of the same directory to rename this file to "gamei386.real.so"

win32 users -- Download the Expert 4.0.2a Installer.. This is a full server package with all the files necessary to run a server with very little effort to setup any files for running an Quake2 Internet Game server. Also download the Expert 4.0.3 patch.  Install the Full server package over the existing CTF Folder. It will overwrite some files but thats ok.


Backup your existing CTF folder.if you want that left without any changes, or rename your existing gamex86.dll if you dont want to lose it.

Clean install


First Install quake2. Then install the CTF 1.50, then install the Expert 4.0.2, then patch it with 4.0.3 release.

I would suggest backing up your existing configuration folders..ie ctf/ctf,
ctf/dm, all your cfg files in ctf folder, and batch files.. the easiest way
is to copy the whole ctf folder to another backup folder like quake2/ctfbak
This will place all the new files in an quake2\expert4.0.2 folder.
Copy the contents or move the CONTENTS of the "expert4.0.2" folder to "ctf" folder
OVERWRITING ANY OLD STUFF.. MAKE BACKUPS OF THE FOLDER IF YOU ARE UNSURE!!!!!!

Modify the .bat, AND .cfg files to your liking 
at the least the bat files need an ip change

--------win32 users-----------
Modify the .cfg files to your liking or pull the lines out you need and add 
them to your cfg file. This file should stay in ctf path.
--------linux users-----------
Modify the .cfg files to your liking or pull the lines out you need and add 
them to your cfg file. This file should stay in ctf path.

TYPICAL Files included
expctf.bat --- typical win32 commandline 
------------------------------------------------------------------------
cd ..
start quake2.exe +set game ctf +set dedicated 1 +set public 1 +set ip "127.0.0.1" +set port 27910 +exec exctf.cfg
-------------------------------------------------------------------
expctf.sh 
> Linux commandline -- 
> ./quake2 +set game ctf +set ip "127.0.0.1" +set port "27910" +set dedicated 1 
+set public 1 +exec exctf.cfg

exctf.cfg -- Expert Server with typical server settings
Sample Configuration file to run the server with new features..

gamei386.so
Linux expert ctf version 4.0.2 ...

damagedropdoc.htm --- describes the new ctf mode of play in detail with client/server 
commands and settings.. If you use this you should probably add something to your 
motd(Message of the day) to tell the users to bind the *dropflag* command.
This file is typically located in the quake2/ctf/ctf path. It may be different per
server. 
For more question about this I am at icq 40084883... or  wmcincin@expertctf.net


Additions made
******************************* Damagedrop CTF server *********************************
Read the enclosed html... q2\ctf\expert 4.0.2\docs\Damagedropdocs.htm
***************************************************************************************

************************************ Additional cvars/flags ***************************
server side setting 

set weapflags "0"

Values available are 1+32+64+1024 = 1121 to enable all 4(set weapflags 1121)
0 - disables alternate weapons flags
1 - Alternate Blaster firing, damage, and speeds - fires 3 shots of 2 at reduced damage 
32 - Alternate grenades -adjusts the damage radius and damage of a grenade
64 - alternate grenade launcher - adjust the bounce, damage, and damage radius
1024 - alternate bfg10k -- this replaces hyperblaster if weapflags includes 1024

alternate bfg cvars
bfgspeed --- the speed of the projectile shot from the bfg
bfgdmgradius -- the radius damage value 
bfgdamage -- damage done to a player
maxcells -- client bfg maxcells for the bfg
cellregen -- regeneration rate for the cells to recharge

players should bind a key to bfg10k

************************** NEW Features for Letality Server *********************
New server command line added:
set lethmode 0=off, 1=on

This changes characteristics of the games Rail Gun to a single shot with increased
damage, uses the old screw style rail shot.
UNFORTUNATELY FOR THIS PEOPLE WILL HAFTA TURN cl_particles on to see there shots

This also makes the hooks damage value = 0 for lethality servers.

NOTE: To turn off falling damage in your startup config change dmflags 
- set dmflags "348"

********************** mischta team audio integration ***************************
mishteamaudio 0 or 1 -- this loads sv props for mischta on the server
use at your own risk. 0 disables, 1 enabled, default is off

******************************* CTFMENU ****************************************
client side command:

ctfmenu
bind <key> ctfmenu

it's a menu for switching teams , spectating, viewing scores, 
expert credits.. etc.

*************************** Warp Function **************************************

server setting
set electpercentage ## --this is set in the exctf.cfg file if commented out map voting is disabled
set votetime ## - default ## is 60

client command to use this
this command starts a vote for a map to be played...
warp mapname where mapname is a map in the server's ctfcycle.cfg or a sv prop property of the server
example : warp q2ctf2
mapname needs to be the filename ie q2ctf2

FOR A CLIENT TO RESPOND TO THE WARP THEY MUST PULL DOWN THE CONSOLE AND TYPE

YES 
NO
this really should work also with 
say "yes" 
say "no"

**************************** Strafe Jump Limiting *******************************
sjtoggle 0,1,or 2
maxsjspeed ### where ### is a positive or negative number
used in conjunction with maxsjspeed variable 

sjtoggle 0 -- disables limiting and allows strafe jumping at crazy speeds
sjtoggle 1 -- limits client movement to the speed of the grapple +/- maxsjspeed value 
sjtoggle 2 -- makes a player jump higher the faster they go 

these below aliases included in the config files for easy access to recommended settings
-- call these by ---------rcon sj0 OR rcon sj1 OR rcon sj2

-- enables free strafe jumping, no limiting speeds
alias sj0 "sjtoggle 0;maxsjspeed 0" 

-- this allows strafe jump but limited to grapples pull speed of (420 - 10 = 390)
alias sj1 "sjtoggle 1;maxsjspeed -10"

-- this one forces a player to jump higher the faster they go -- bit buggy
-- good numbers are from 370 to 400 - i wouldn't set it much higher..
alias sj2 "sjtoggle 2;maxsjspeed 380"

Changes made
************************** Sv prop -- map loop fix ***********************************
Modified the ExitLevel feature..
(This is the function called to change levels at the end of the game)

Currently this supports maps in pak files and maps in baseq2/maps folder and gamedir/maps.(expert,ctf)

This Adds crash protection for map loop not being run or properly or maploop is missing 
completely. This basically will load the same map if the sv prop values for the maploop 
are missing instead of using the maps internal next map property value.. 
In an expert server this typically isnt used anyway..The original intent of the next 
map property in a map was for the original quake2 Mission paks.
(At least I would assume that). So, with that in mind the network play seems to benefit
from this in the respect that if an sv prop is spelled wrong or the the server won't crash
due to a map not in the server map loop, or a missing server loop.
***************************************************************************************

*************** Added a new "sv loadmap" or "sv gamemap" command **********************
***************************************************************************************
****** This only supports maps that are in pak files and, files in baseq2/maps
******* as well as "experts path"/maps
**************************************************************************************
Usage on server console --- sv loadmap mapname
--- sv gamemap mapname
Usage for rcon --- rcon password sv loadmap mapname

example .... --- rcon password sv loadmap q2ctf1
- (the above will load q2ctf1 if its not in a pak file currently)

example of a bad map request --- rcon sv loadmap q2cfgghjkgh 
- the server will respond map not found

what this command does is checks to see if the map exists first before trying to open 
or change to a new map..so if a remote console user types in the wrong map name the 
server will not change to the map or crash because of a bad mapname.. It has been 
thoroughly tested on win32 systems and now finally on linux. 

********************************** pullspeed **************************************
This allows the grapple/hook pulling speed to be adjustable... i have tested this to 
as high as 20000 and as low as -20000 .. it works either way..
I dont recommend going past 700 or so for internet.. this may affect gameplay in the respect 
to the servers player prediction movement code.
If the number is a negative number it will push you away from the hook..
USAGE ---
server console --- pullspeed number ----- example... pullspeed 420
rcon usage --- rcon pullspeed number
This is a server only option can be positive or negative values -- default is 420
***************************************************************************************

******************************** Rapidfire fix *************************************** 
fixed spectator firing bug -- it is now a only useable when not in expert play mode
THIS IS CONSIDERED A CHEAT
ie. DM

************************************* Filterban ***************************************
filterban - server side banning of clients
due to some wierd bug that cropped up, I added a disable feature for 
filterbanning I haven't resolved the bug yet so I recommend using q2admin or 
bwadmin banning utilities instead. This command uses ip addresses 

0 allows players not in the filterban list to connect 
1 allows only players in the filterban list to connect only
2 disables 

********************************** server sv commands *********************************
sv listsvcmds -- lists all the sv commands in expert

****************************** Ratbot and IBO Bot Detection ***************************
sv ratcheck
check the server for the usage of a bot
DONT OVER ABUSE THIS OR PEOPLE WILL GET BOOTED FOR NO REASON
IT IS MEANT TO DOUBLE CHECK

sv ibocheck
IBO detection works in conjunction with q2admin . q2admin will kick a player 
that uses a speed hack. If a player is using the bot. 
It will be painfully obvious that they are using it when this command is run
without q2admin support.


***************************************************************************************
AUTORESTART FEATURE 
***************************************************************************************
This is used in conjunction with several things.
2 new cvars made for the server

autorestart 0 or 1 //default is 0
restartcfg "filename.cfg" //default is exctf.cfg

This tries to restart a server where for some reason the server crashes.

It basically checks these 2 values listed above and reloads the server using the default
cfg script that initially loaded the server..

It is configurable in the the exp*.cfg files and is also in the ctfcycle.cfg files..
Autorestart 0 or 1 is set in the ctfcycle.cfg to resolve a problem with using the 
map command.

autorestart and restartcfg variables should both be present in the initial script cfg 
file that starts the server..if they are not it will simply never autorestart on 
server failures.

Heres an example.
you start the server using a batch file on a win32 machine.
the batch file does "+exec exctf.cfg" as its initial cfg file to run the server
inside the exctf.cfg it sets all the basic startup variables for the game server
in this file it should contain

autorestart 0 
restartcfg "exctf.cfg" //default is exctf.cfg

Note that the restartcfg pair has the cfg files filename..This tells the server 
when it shuts down to restart using that file as its restart settings information.

also when the first person connects to the server the ctfcycle.cfg file will load
Inside that file is the map properties for the maploop of the server and this variable
set autorestart 1 

this enables the autorestart after the server has actually taken players. 
To disable restarts open the ctfcycle.cfg and change autorestart 1 to 
autorestart 0..
DO NOT DO IT IN THE EXCTF.CFG FILE.. IT SHOULD ALWAYS STAY 0 IN THAT FILE..
AN ALTERNATIVE TO TURNING IT OFF IS USING autorestart 0 at the console or 
using "rcon pass autorestart 0" then do what you need to do.

------------------------------------------------------------------------------------------
I have included some new server aliases that will allow the server to be shutdown if that
is what you want to do..

The servers initial cfg file listed in your batch files to start the server is included 
in the cfg file that starts the server. 

For example, if the server runs exctf.bat and it calls exctf.cfg the 
restartcfg "exctf.cfg" should be set in it.. more documentation is 
included in the cfg files on this.. 

if you clear this value the server will just shutdown
I recommend against this.. 

the autorestart 0 is set in the exctf.cfg on purpose. Leave this as is. 
Instead, change autorestart in ctf/ctfcycle.cfg to 0 to disable the 
autorestart features on server shutdown or do it on console typing autorestart 0.
I recommend server ops type the command "alias" at the console to see the new 
alias commands added to the server..
---------------------------------------------------------------------------
Basically they are as follows, and are already included in the startup files
----------------------------------------------------------------------------
//this will shutdown the server without restarting it
alias shutdown "autorestart 0;killserver"

//this will kill the server and quit q2
alias shutdownq2 "autorestart 0;killserver;quit"

alias killserver "shutdown"

Known Issues
---------------------------------------------------------------------------------------
Not aware of any at this time.
RESOURCES
----------------------------------------------------------------------------
DRIVE:\\QUAKE2\CTF\DOCS ---ON YOUR COMPUTER IF YOU INSTALLED THE SERVER PACKAGE
HTTP://WWW.expertctf.net

HTTP://WWW.PLANETQUAKE.COM/EXPERT

Note to admins:
----------------------------------------------------------------------------
If you find or see something that isnt working right send an email to 
wmcincin@expertctf.net and i will try to resolve the issue.
----------------------------------------------------------------------------
Also if anyone wants to turn this into a webpage for and formatted nicely like 
client side options, server side options let me know..