Title    : Xtreme Arena (w0rM's Xtreme Arena for Quake III Arena)
Filename : xa-1.15-full.zip
Version  : 1.15
Date     : 4/13/03
Author   : Dave "w0rM" Sorge <w0rm@planetquake.com>
Web Page : http://www.planetquake.com/xa

-----
Intro
-----
XA is a mod for Quake III Arena.  It's a server-side mod. However, there are
client side modifications that can be installed optionally. It is recommended
that you install all the files, even if you don't want to run a server.

-------------------------
Installation Instructions
-------------------------
IMPORTANT INTALLATION NOTE: 
If you have previously installed Xtreme Arena (pre 1.11), you MUST delete two files from
the "xa" directory. Open the "xa" folder and look for pak0.pk3 and pak1.pk3.
BOTH OF THESE FILES MUST BE DELETED OR XA WILL NOT WORK!!!

This package will create a new folder in your Quake III Arena directory named
"xa". The pk3 files and configs will be placed in the "xa" folder. The zip will
also place two bat files in your Quake III Arena directory. These can be used
to start a single player game or a dedicated server. More details below.

First make sure you have the latest version of the Quake III Arena point release.
As of this writing, that would be 1.32. You can download this file from the
location below.

1.32 Point Release
http://www.fileplanet.com/files/60000/61607.shtml

Once you have confirmed that you have the latest version of Quake 3, extract
the contents of this package into your Quake III directory (the directory with
quake3.exe in it).  Make sure that you preserve the directory structure.  If
you are using pkunzip, use the -d option when unzipping.

The Xtreme Arena mod will be placed in a subdirectory "xa" off of the main 
Quake III directory. This will include two pk3 files, server.pk3 and client.pk3.
Make sure this matches your directory structure exactly or you will not be able
to play XA.

--------------------
Playing Xtreme Arena
--------------------
To run an Xtreme Arena server, you need to add the following option to the
command line when running the server:

+set fs_game xa

So, a typical command line might look something like this:

quake3.exe +set dedicated 2 +set fs_game xa +sv_pure 0 +exec server.cfg

As was mentioned above, two .bat files are placed in your Quake III Arena
directory. The one for starting a dedicated server is named "xa-server.bat"
The file for starting single player is named "xa-singleplayer.bat". Simply
double click the appropriate file to launch the game. 

The basic configs needed to run a server are included in the zip file and
placed in your "xa" folder. By default, the configs are set to start an FFA
server and rotate through the standard Q3 FFA/TDM maps. If you wish to rotate
CTF maps or tourney maps, you can use these commands:

vstr ctf01	// Starts CTF map rotation
vstr t01	// Starts Tourney map rotation
vstr dm01	// Starts FFA/TDM map rotation

----------------------------
Finding Xtreme Arena Servers
----------------------------
The easiest way to find Excessive servers is with GameSpy Arcade. It can be
downloaded from the GameSpy Arcade site:

http://www.gamespyarcade.com/

After downloading and installing Arcade, you can find the plugin for Xtreme
Arena custom service for Arcade in the "xa" folder. Just double click it to
install the custom service.

Alternatively you can download the plugin here:

http://www.fileplanet.com/dl.aspx?/planetquake/xa/xa.apk

Once that is installed, start Arcade, login, then click on the Xtreme Arena Icon.
There will be a list of Xtreme Arena servers at the top that can be joined, and
a chat window at the bottom for chatting with others about Xtreme Arena.  When
looking at Xtreme Arena servers with the custom service, you can look at the rule
list to see what release of Xtreme Arena is being used (this is release 1.11).

-------------
Server Config
-------------
Alternate Fire Mode
-------------------

The old "wbounce" command has been replaced with an alternate fire key. It works
just like +attack. Just bind +button12 and use it to fire the alternate mode of
any weapon. For example:

bind X +button12

The letter "X" can be replaced with any key you want to bind it to.

If you want to make a toggle button like the old wbounce command, you can use the
script below. Once again, you can replace the "X" in the bind with any key you want.

set setFire1 "bind MOUSE1 +attack; set setFire vstr setFire2; echo Normal Fire Mode"
set setFire2 "bind MOUSE1 +button12; set setFire vstr setFire1; echo Alternate Fire Mode"
seta setFire "vstr setFire1"
bind X "vstr setFire"


Weapon Fire Rates
-----------------
You can now adjust the fire rates of all weapons. Alternate fire modes can be set
seperately from regular fire modes. You set the delay time between firing each round
in milliseconds. Like so...

g_machineGunDelay 50

This would set the Machine Gun to fire one round every 50 milliseconds. there are 1000
milliseconds in one second. Below is the full list of these CVARs.

REGULAR FIRE MODES

g_machineGunDelay
g_shotGunDelay
g_railGunDelay
g_grenadeLauncherDelay
g_rocketLauncherDelay
g_lightningGunDelay
g_plasmaGunDelay
g_BFGDelay

ALTERNATE FIRE MODES

g_altMachineGunDelay
g_altShotGunDelay
g_altRailGunDelay
g_altGrenadeLauncherDelay
g_altRocketLauncherDelay
g_altLightningGunDelay
g_altPlasmaGunDelay
g_altBFGDelay


Excessive Mode
--------------
I've added a new "excessive" mode to the game! This cranks up all the fire speeds to
CRAZY rates and increases starting health to 800. Your health will also regenerate
faster in excessive mode.

To use it, just set g_excessive to "1" and restart the map.

NOTE: This will override any weapon fire delays you've set up without overwriting
your settings. When you set g_excessive back to "0", your weapon delay settings will
be the same as they were before you set g_excessive to "1". 


Weapon Damages
--------------
You can adjust weapon damage for some weapons. This is to compensate for server
admins who may or may not want to run their servers in Unlagged mode.

g_lightningDamage - Used to adjust damage if LG is "too strong" in unlagged mode.

g_mgDamage - Used to adjust damage if MG is "too strong" in unlagged mode. 


Weapon Bounce Disabling
-----------------------
By request, I've added a CVAR to turn off weapon bouncing. When this is set to "0"
rockets, nades and plasma will NOT bounce. "1" is default.

g_allowBounce


Disabling Weapons
-----------------
Server admins can disable any weapons using the CVARs below. You can turn off as
many or as few as you want.

sv_allowGauntlet
sv_allowMachineGun
sv_allowShotGun
sv_allowRailGun
sv_allowPlasmaGun
sv_allowLightningGun
sv_allowRocketLauncher
sv_allowGrenadeLauncher
sv_allowBFG

To further simplify mass weapon changes, I've included 10 premade configs inside
the pk3 files. If you wanted to do a single weapon match, you can use these to
make sweeping changes with a single command. For example, from the Q3 console...

/exec bfg

This will make an instant all BFG match. All other weapons will be disabled. 
NOTE: You must restart the map for the changes to take effect.

This is a list of the configs you can use. The names are self explainitory.

shotgun.cfg
rocket.cfg
rail.cfg
plasma.cfg
machinegun.cfg
lightning.cfg
grenade.cfg
gauntlet.cfg
bfg.cfg
allweapons.cfg (for ENABLING all weapons)


Lag Compensation
----------------
Client Side

cg_delag - Set this to "0" if you'd rather not have the server compensate for
your ping. This setting is only meaningful if the server is compensating for
lag (see g_delagHitscan). You can also set this in the SETUP->GAME OPTIONS menu.

This can also be used to opt into lag compensation for certain weapons. It's
a binary mask like dmflags - so add up the numbers for the weapons you want
lag compensated and set cg_delag to that. 

Value Weapon 
1 All hitscan weapons (overrides any other setting) 
2 Machinegun 
4 Shotgun 
8 Lightning Gun 
16 Railgun 

For example, if you wanted lag compensation on every weapon but the railgun,
you would set cg_delag to 14 (2 + 4 + 8).

cg_trueping - When set to "1" (default) your ping will include lag caused by
the Q3 engine.

cg_cmdTimeNudge - If you feel the server is overcompensating for your ping,
you can set this to a positive number (like 25) to have it compensate less.

cg_projectileNudge - If you want to use this feature, set it to your ping. If
you can put up with the attendant visual inconsistencies (projectiles sticking
into walls before exploding and looking like they start far away from your
attacker's muzzle), this feature can make it easier to dodge projectiles.

Server Side

g_delagHitscan - Setting this to "0" will disable full lag compensation.
Unlagged 2.0's correction for Quake 3's built-in 50ms lag will still be in
effect, however. (This is the same correction that CPMA and OSP use.)


Spawn Protection
----------------
g_spawnProtect
Sets spawn protection. 1 is on, 2 is off. 

g_protectTime
Sets the time in milliseconds to protect a player after spawning. Default is
3000 (3 seconds).

g_warnProtect
Warns a player when protection runs out. 1 is on, 2 is off.


Tourney Map Rotation
--------------------
sv_tourneyMapRotate
A unique feature of XA. Setting this CVAR to "1" allows admins to rotate maps
while in tourney mode. For a sample map script click here.


Turning off the Mini Scoreboard
-------------------------------
You can now turn off your mini scoreboard. Simply set cg_drawMiniScoreboard to
"0". Change it back to "1" to show it again. It is on ("1") by default.


Speedometer
-----------
You can now monitor your speed through the game with this realtime speedometer!
It will show in the top right corner of your screen if you turn it on. It is off
by default. Turn it on in console like so...

cg_drawSpeed "1"


Changed Id CVARs 
----------------
These three CVARs were added by Id. I simply changed the default value from 1 to
0. This is just eye candy but darn good eye candy! 1 is "old" style, 0 is new
style.

cg_oldRail
cg_oldRockets
cg_oldPlasma

Un-Cheat Protected CVARs 
------------------------
I've un-cheat protected these CVARs because they aren't cheating. =)

cg_centertime
How long the "You Fragged..." message stays on your screen, in seconds.

cg_bobup
How much your view bobs up and down as you run.


--------------------------------------
Copyright and Distribution Permissions
--------------------------------------

This mod is freely distributable provided that this readme is distributed
as well and is unchanged.

All code is Copyright David "w0rM" Sorge 2003.
Commercial code licensing is available by contacting w0rm@planetquake.com

DISCLAIMER: 
  THE PROGRAM IS DEFINED AS THE QUAKE III MOD "XA" AND ALL FILES CONTAINED
  WITHIN. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
  WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER
  PARTIES   PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
  EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
  TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
  PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
  REPAIR OR CORRECTION.

------------
Availability
------------
This modification is available from the following places:
http://www.planetquake.com/xa
http://gameisgood.com

-------
Contact
-------
The author, Dave "w0rM" Sorge, can be contacted by:
e-mail : w0rm@planetquake.com

-------
Credits
-------
This mod is dedicated to my inspiration, my friend, the love of my life,
PrinceSs. Idlym

Full credits can be seen at:
http://www.planetquake.com/xa/frame-credits.htm


