Excessive Plus v2.3

125 replies [Last post]
easy's picture
Joined: Sep 2003

Finally another update arrived, bringing new gameplay options and fixing bugs.

Freeze Tag

It is no longer possible to thaw through walls and you can speed up the thaw with two or more people (both can be configured). The first one will still be the main thawer and visible in the console message but the other helpers will also receive the assist award together with half the points.

Also by default, frozen bodies will teleport back to their last known position, if they fall into the void.

Match Mode

The amount and duration of timeouts can now be defined by config authors. Also the game will continue more fluid after the timeout ends.

The free fly for spectators has been removed completely if teams are locked. Instead you will see a black screen and no sound at all.

Team spectators now see their team with the right model, instead of the enemy model. Also xp_specModel has been tweaked to include the whole team.

Advanced Callvote

Some scripting functions have been added to give more freedom to server owners.

// map voting only in the first 2 minutes or if teams haven't scored yet
if ( mapTime() < 2*60 || ($g_gametype >= GT_TEAM && !teamScore())  ) {
	map {
		// ...

Please see the changeslog for more details.



Excessive Plus v2.3 (Jun 20 2014)
add: xp_antiWallhackLevel 0..5 (default: 0)
	Can make wallhacks useless.
	It can be configured for levels 0..5 where level 0 is
	disabled, level 1 is least strict (e.g. it will	play
	most sounds like footsteps) and level 5 is most strict.
	Keep in mind that it will also reduce game quality
	for regular players due to missing sounds and other
fix: more accurate on-ground unlagged code
add: scoreboard now shows Anti-Cheat and Anti-Wallhack level, if
	enabled on the server
chg: scoreboard now has avg. score and avg. kills instead of
	player count and avg. ping
fix: bans parser failed on complex entries
fix: warmup() in settings config failed on /rcon load
add: some functions to improve scripting in callvote, rotation or crontab
	mapTime()		Map time in seconds.
	teamCount( teamId )	Amount of players in team. teamId can be 1, 2,
	teamScore( [teamId] )	Team score. teamId is optional. If omitted it
				will be the sum of red + blue score.
	getTeam()		Only available in callvote. Returns the team
				of the caller.
fix: do not play jump sounds for spectators (with PHYSICS_STEP_JUMPS)
fix: more accurate xp_improvePrediction
fix: /ref whois crash for specific dates
fix: wrong spawn protection for projectiles
fix: crash on unknown gametypes when /startrecord or /screenshotXP format
	contains $(gametype)
chg: own team is no longer considered to be "enemy model" for
	team spectators in locked teams.
chg: xp_specModel now includes the whole team
chg: camera modes disabled in locked teams
chg: no free spectators in locked teams
chg: /mute and /ignore now also mutes taunt and "No item to use" sounds
add: /mute enemy
	Bind-friendly shortcut to mute the opponent team or all
	in non-team games.
add: /unmute enemy
add: "Timeout -> Amount" default 3 per team and player (1on1)
add: "Timeout -> Time" default 120 seconds for teams (or 60 in 1on1)
fix: player positions after timeout/pause
chg: reduced visual glitches during timeout/pause
fix: /vid_restart, /togglefullscreen, Alt+Enter during timeout/pause
chg: referees can override or extend timeout
chg: /ref pause cannot be canceled by players anymore (using /ready)
fix: Start "dead" on join in Clan Arena
chg: "Impact Score" now includes absorbed armor damage
chg: thawing sound and now also active during whole thaw process
add: "Freeze Tag -> Thaw Walls" default disabled
	If enabled allows thawing through walls/floor.
add: "Freeze Tag -> Helper Factor" default 0.5
	Time factor applied if there is more than one thawer.
      0 - Only allow one thawer, no helpers
    > 0 - Additional helpers will thaw with this factor applied
          A value of 0.5 means 1.5 times faster with 2 thawers,
          2 times faster with 3 thawers etc.
    < 0 - Penalty for additional helpers, the thaw will take longer
          with more thawers or even negate the thaw
add: Teleport of frozen bodies
	If enabled, it will teleport the frozen body back to the last
	known "stable" position. If this position is occupied by a player
	or another frozen body, nothing will happen. The body will continue
	to thaw as defined (e.g. by Void Thaw Time).
	As soon as the position becomes available, the frozen body will
	teleport there.
add: "Freeze Tag -> Void Teleport" default enabled
add: "Freeze Tag -> Lava Teleport" default disabled
add: "Freeze Tag -> Slime Teleport" default disabled
add: "Freeze Tag -> Water Teleport" default disabled
Excessive Plus v2.2b (Jul 14 2011)
fix: fancy console now degrades gracefully on sv_pure servers
	no need to disable/enable the console manually when changing server
chg: xp_modelScale now 0, 0.5..1.0
Excessive Plus v2.2a (Jun 30 2011)
fix: client crash on some conditions
fix: exploit
Excessive Plus v2.2 (Jun 26 2011)
Client / UI
add: xp_drawConsole "bitmask" (default: 3)
	will replace the engine console with a custom one, which allows
	extended color codes to be displayed
	1		enable the console
	2		filter out most debug/info messages
	4		do not scale the font size
add: Wallhack2 command along with wallhackPassword cvar, available
	for spectators (it will draw green bbox for live enemies only)
chg: bring back cg_optimizePrediction option (turned on by default)
chg: renamed some countries to match ISO 3166-2, see below
add: some country flags
	Saint Martin (MF) (unofficial)
	United Kingdom (GB)
	England (GB-ENG)
	Northern Ireland (GB-NIR)
	Scotland (GB-SCT)
	Wales (GB-WLS)
	Baden-Wuerttemberg (DE-BW)
	Bayern (DE-BY)
	Berlin (DE-BE)
	Brandenburg (DE-BB)
	Bremen (DE-HB)
	Hamburg (DE-HH)
	Hessen (DE-HE)
	Mecklenburg-Vorpommern (DE-MV)
	Niedersachsen (DE-NI)
	Nordrhein-Westfalen (DE-NW)
	Rheinland-Pflaz (DE-RP)
	Saarland (DE-SL)
	Sachsen (DE-SN)
	Sachsen-Anhalt (DE-ST)
	Schleswig-Holstein (DE-SH)
	Thueringen (DE-TH)
add: more chat tokens
	$(corpse) - your last death location
	$(attacker) - name of your last attacker
	$(target) - name of your last (hit) target
	$(pickup) - last item you took
	$(item) - item close to you
	$(itemCrosshair) - item close to your crosshair
	$(location) - nearest item spawn
	$(friend) - friend close to you
	these can be used within "/say" and "/say_team"
add: xp_enemySound "model" (default: "")
	where model can be any valid model e.g. "sarge", "keel", "grunt" etc.
	an empty value "" will disable it and the sounds of the actual
	enemy model will be used
fix: team chat overflow
fix: xp_drawNames in combination with xp_drawMVDWindow
add: xp_ambient 0/1 to turn off ambient sounds
chg: thaw status (team overlay) now better visible for custom HUDs
add: xp_modelScale 0, 0.5..2.0 (default: 0)
	scales player models client-side
	a value of "0" will try to fit the model into the hitbox
	a value of "1" will keep the behaviour of previous Excessive Plus
	keep in mind that this is client-side only, e.g. a value of "1.5" will
	make the models look "big and easy to hit" but the hitbox remains
	as defined by the server
add: xp_modelJump 0/1 (default: 1)
	enables/disables jump animations client-side
	most (all default) quake 3 models do use very odd jump animations,
	which do not align to the hitbox. aiming towards the head will most
	probably result in a miss, when the enemy is jumping
	with disabled jump animations you of course will still see players
	jumping around but it will look different and their model will fit to
	the actual hitbox
fix: various crouching/duck animations to keep the model aligned to
	the hitbox
fix: step animation with better aligned crosshair
chg: xp_noBobbing "bitmask" (default: 0)
	1	disables weapon bobbing animation
	2	disables weapon switch animation
	4	disables weapon firing knockback animation
	8	disables damage kick
fix: added default "hud1-7.cfg" to pk3, to have them available on a pure
chg: "/away" will append "-away" to your name
add: "/back" as the counterpart to /away to get back your nickname
chg: all configuration files now use the advanced parser engine and share
	a common syntax. no need to learn multiple syntax anymore, all common
	functions are available everywhere etc.
fix: teamed items not spawned if XP_WARMUPRESPAWN_ITEMS is used
fix: reload map if hot-switched to pure
fix: long wav names in /say command may cause server malfunction
add: SelfKnockbackCycle, SelfKnockbackMultiJumps weapon config options
chg: custom entity files now use same syntax as config files
	so you can use complex if-else constructs etc.
add: "Config -> Version"
add: random() function
	returns a random number between 0 and 1. optionally takes 2 arguments
	random(min, max) which will return a random number between min and max
add: activeClients() function, also deprecated $xp_activeClients
	using it will issue a warning and the variable will be removed
	in a later version, upgrade your rotations to activeClients()
	will return the number of active "playing" clients/players, useful for
	rotations, e.g. "if ( activeClients() >= 8 ) { q3dm11 }"
	the server will only rotate to q3dm11 if there are at least 8 players
chg: rotation now use same syntax as config files
	you can have complex if-else constructs and conditional
	maps finally work as you would expect them to
	additionally you can access all config attributes
	as read-only (no assignment) e.g. "Machinegun->Damage"
	if ( activeClients() >= 8 ) { q3dm11 }
	no need to even out map count in an tricky "else { ... }" block. add
	conditions just as you need them and they will work naturally
add: PW_FIRST_SPAWN to Start Powerups
fix: excessive3.cfg and excessive4.cfg (PW_FIRST_SPAWN)
chg: crontab now use same syntax as config files, complex if-else etc.
fix: all chat messages get properly en/decoded
fix: crouching players now have correct bbox when frozen
add: "Freeze Tag -> Movable"
add: "Freeze Tag -> Solid" to make frozen bodies act like shields
	against railgun
add: "Freeze Tag -> Score Penalty" scoring team has to manually thaw
	team mates
add: "Freeze Tag -> Round Delay"
add: "Freeze Tag -> Slithery"
fix: when timelimit is hit, no matter what value "Round Delay" was
	set to, the team will instantly score if all enemys are frozen
fix: frozen bodies could fall through curved solids
add: ban files can "include()" other ban files
	other than that, no complex if-else constructs etc. available here
add: /ban, /banname, /banip and /banguid now capable of temporary bans
	the time can be "Xw" for weeks, "Xd" for days, "Xh" for hours,
	"Xm" for minutes or just "X" for days
	example: /ban <playerId> 2h stop the spam!
	         /ban <playerId> you are permanently banned!
add: xp_floodProtectUserinfo 0/1 (default: 0)
	userinfo anti-flood protection. when enabled it allows renaming
	3 times per 3 seconds and changing other info 5 times per 3 seconds
add: date() function
	can be used to have crontab independent settings based on date/time
	for the complete format specs see "www.php.net/strftime"
	example: if ( date("%d.%m") == "24.12" ) { /*add some xmas special*/ }
	unlike "xp_matchmode 2/3" this applies to all team games except TDM
	a config can create e.g. round based CTF with warmup in between the
	rounds. you can even use a combination of both modes
	this is independent of "roundlimit" and thus will also work for
	"fraglimit", "capturelimit" or even with all of them set to "0"
rem: removed xp_matchMode "2" and "3"
	now 0/1 only to enable the advanced options like "/timeout" etc.
	the former modes "2" and "3" are reproducible by "Round -> Mode"
chg: "roundlimit" applies to all gametypes
	unlike the name might suggest, this is completely independent of round
	based gameplay. it's just an alternative to "fraglimit" and
	"capturelimit" to "shorten" public games
	it has always precedence over "fraglimit" and "capturelimit" e.g.
	roundlimit = 10 on CTF, then the game will end either when the
	difference between BLUE and RED is 50% (5 rounds, high lead) or the
	sum of BLUE + RED hits the roundlimit (5 + 5, the game will end draw
	if sudden death has been disabled)
	set it to "0" to give "fraglimit" and "capturelimit" the precedence
fix: "Hitbox" value should not touch the height
add: "Hitbox Cylinder" to replace the cuboid hitbox with a cylinder
	note: to simplify things, cg_drawBBox will use an outer octagonal prism
	to represent the cylinder used by the server
	you will want to add all of them for a QL-alike config
	note: not all maps will fit PHYSICS_QUAKE_LIVE, e.g. you can walk off
	the blue/red platform (q3ctf4) into your death without jumping, while
	the platform borders on q3dm17 will just work fine. it is suggested to
	keep this disabled, even for QL-alike configs, as it requires different
	map design and might fail for random maps in Quake 3
	previously double jumps were bundled with ramp jumps
	upgrade from v2.1 to v2.2: (this affects almost all configs)
	if you had PHYSICS_NO_RAMP_JUMPS set, just drop it. otherwise you will
	need to add both PHYSICS_RAMP_JUMPS and PHYSICS_DOUBLE_JUMPS to your
	$xp_physics cvar
add: "Impact Score" to receive additional score points based on
	inflicted damage
add: "Range", "Falloff Range" and "Falloff Factor" to all hit-scan weapons
add: "PATTERN_TIGHT" and "PATTERN_CENTER" to SG fixed pattern
chg: "Shotgun -> Fixed Pattern"
		QL:   PelletCount = 20; FixedPattern = 3; Spread = 1000;
		CPMA: PelletCount = 16; FixedPattern = 2 | PATTERN_TIGHT;
add: pmove_accurate 0/1, 30..125 (default: 0)
	an alternative to pmove_fixed which had some drawbacks like the choppy
	movement or missing sounds
	enabling this will get rid of frame-rate dependent physics and be fair
	for everyone. however it will require more bandwidth and make people
	(with "com_maxfps 125") no longer jump as high and far as they were
	used to before
	to solve this, you can set pmove_accurate to a value of "125". this
	will effectively make all players jump as high and far as if they had
	125 fps even when their actual fps is lower or unstable
add: xp_antiCheatLevel 0..5 (default: 0)
	It will detect and kick users of some 'popular' cheats like classic
	aimbots and autoshooters.
	AntiCheat system is controlled with xp_antiCheatLevel variable.
	It can be setup for levels 0..5 where
	level 0 means AntiCheat is off (never does kick),
	level 1 means maximum tolerance (least strict)
	and level 5 means minimum tolerance (most strict)
	Level 3 is optimal for public servers, while higher levels
	may result to kicking normal players using broken hardware
rem: removed xp_voteconf and voteconf.txt
add: advanced callvote and referee commands
	admins now have full control over callvotes. they can restrict the
	command itself, it's voteable values (e.g. only g_gametype ffa or ctf)
	and even create own, very custom, server specific votes
	to use the advanced system, xp_vote and/or xp_referee have to point
	to a file, e.g. "/set xp_vote callvote.txt"
	see callvote.txt for the syntax
fix: referees are no longer affected by callvote limits, they can also
	callvote as spectators
add: in combination with the advanced callvote, referees can callvote
	their ref commands
add: firstTime() function
	tells whether it is the first load of a config
	it is strongly suggested to have any cvar assignment in such a block,
	to give server admins more control over the config. otherwise it will
	most definitely result in multiple/modified configs per server
	if ( firstTime() ) {
		$xp_chatProtection = no;
		$xp_unlagged = yes;
	the server admin can disable unlagged or enable chat protection at any
	time (without modifying the .cfg file) and the config will respect his
	decision, not resetting the values on the very next map rotation
add: warmup() function
	allows to have different settings during warmup. this will only apply
	to real warmups not "Round -> Warmup"
	if ( warmup() ) {
chg: xp_teamBalance 0/1/2 (default: 1)
	0	do not balance teams after a match
	1	balance by score + kills per hour
	2	balance by score
add: /teamBalance 1/2
	you can /callvote, /ref or /rcon this to balance teams during a match
	the match continues with all the stats intact (score, awards etc.) but
	players will respawn at the base and possibly in a different team
add: "World Damage -> Hurt"

APOLLO's picture
Joined: Oct 2010
DE Germany
Re: Excessive Plus v2.3

Thanks a lot easy Happy

We do not stop playing because we grow old;
we grow old because we stop playing.
Never Be The First To Get Old!! Happy

I am not responsible for what you think or say, just for what I say!
I never howl with the wolves, don't speak another to hear.
I have my own opinion & I insist.
Those who do not get along have only themselves to blame.


G3n3sis's picture
Joined: Apr 2011
RO Romania
Re: Excessive Plus v2.3

missing sounds , great ........................

Forum moderator Rank moderator
camel-xp's picture
Joined: Mar 2006
GB United Kingdom
Re: Excessive Plus v2.3
3m'genesis wrote:

missing sounds , great ........................

only if anti-wallhack is enabled.

anyway great that v2.3 is finally released, I hope it will bring some freshness and that with awh gameplay will be playable as well, have to test it first Happy

Bozo's picture
Joined: Feb 2010
DE Germany
Re: Excessive Plus v2.3

Wow that was quite unexpected... What a nice change log! Thanks a lot for all the work done! Happy What about the excessive gibs? Smug

V1979's picture
Joined: Nov 2011
RU Russian Federation
Re: Excessive Plus v2.3

I hoped it had Team Arena weapons and power-ups... in vain...

To call oneself a Ukrainian (about nationality, but not citizenship), is to deny being a Russian.

Ukrainian national self-determination is to contrast with Russia and Russians.

Joined: Feb 2006
Re: Excessive Plus v2.3

Wow, great stuff here!

The FTAG helper factor looks like a great addition.

Thanks easy!

klash's picture
Joined: Oct 2011
FR France
Re: Excessive Plus v2.3

Great new, thanks a lot

Thor-NL's picture
Joined: Jan 2011
NL Netherlands
Re: Excessive Plus v2.3

Thank you very much easy!!!

Lots of work you have put in this Winking

To all the server-owners who asked me for the vote-timer used on the Elite'z servers .....
It is now available to you by the changes easy made, so no more complex script-programming nescesary anymore Happy
Thanks again easy


The whole world is searching for Waldo...
In Soviet Russia, Waldo finds YOU !
intact-epsilon's picture
Joined: Dec 2006
RO Romania
Re: Excessive Plus v2.3

SEE SEE, easy is alive! and e+ is alive as well!

Great news, will install it tonight definitely.
Thanks easy Happy

Forum moderator Rank moderator
camel-xp's picture
Joined: Mar 2006
GB United Kingdom
Re: Excessive Plus v2.3
epsiplayer wrote:

SEE SEE, easy is alive! and e+ is alive as well!

Great news, will install it tonight definitely.
Thanks easy Happy

there's nothing to install, just copy/paste z-xp-2_3.pk3 and that's it, I done it on my client side and servers.
I also seen lack of qname in /tools/ folder, is that normal ?