General Doom 3 Fixes
The guys are id Software have only limited
time to devote to fixing up code in Doom 3, especially when you consider
what other exciting stuff is going on there. EMZ is going to attempt to
address any multi-player problems that can be fixed using the public SDK. So
far we've sorted the following:
In EMZ Version 1.2
- The "Grenade Exploit" has beed fixed. When this happened it
would appear that a player was holding a grenade when in fact they
had another weapon ready.
- In some rare cases a player may generate "unknown unreliable
message" messages on the server's console. This could sometime
result in a server crash with a "multiple entities named..."
message. While the root cause of this problem is still not known we
have added protective code to stop this problem taking the server
down.
Thanks to Tom Tirone of the Last Man Standing Mod for info
on this one.
- If a player shoots an airtank or barrel which then explodes and
kills a player a frag is awarded. This now happens when the item
explodes due to grenade or rocket splash damage.
In EMZ Version 1.1
- The ammo count not displaying on HUD for rapid-fire weapons in
RoE.
- The 'voting' exploit on the menu.
- emz_sv_heartbeat can be used to keep
your server on the master list. In the Doom 3 1.3 patch servers stop
sending heartbeats to the master server at id. Setting this CVar
will send an additional heartbeat. The number is in minutes.
- The order of players in Tourney mode is lost in many
circumstances in Doom 3. With 1.1 of EMZ this is now preserved
across map loads and when new players join the game.
- If you are the Tourney leader and your opponent quits or sets to spectate you
stay in game rather than losing your place.
- If you and an opponent are in warmup or in game with no score on
the board you will retain your place if you vote a map change.
EMZ Specific Fixes
In EMZ Version 1.21
- "Lava Death" crash in Phrantic 2 (and any other map with a way of
dying that would only have a "player died" or "player killed player"
message).
- Crash in Lights Out. Shooting the switch to the armor room is safe
once more. This also fixes the random crashes in Never Outgunned and
Rustbucket.
- "Plasma" crash. In some circumstances it is possible for a player to
join the server without their details being broadcast around properly.
We've all seen this from time to time as players with blank names or
just "_". This lack of details was causing a crash when selecting plasma
because the player's color was not defined so it didn't know which
plasma gun to use.
- When spectating another player the text no longer shows "(NOT
READY)" after the game has started.
- If you're the only person on the server and si_warmup is zero you're
no longer told to press F3.
In EMZ Version 1.2
- End of game statistics are now printed for all players in LMS rather
than just the winner and runner-up.
- Information for a player hosting a listen server are now recorded
against the player's GUID instead of "_listen_server_"
- When a player leaves a server his "spam ban" is lifted.
- When a player leaves a server his position in the Tourney queue
is clear. If he rejoins the server later he goes to the back of the
queue.
- The 50% of players ready rule now works correctly with team based
games, as long as one player from each team is ready as well as 50% of
all players.
- In some circumstances a player with "%" in their name could crash the
server when it tried to save the player information. This would also
truncate the userlist.emz file and lose information.
- A "next map" vote now sets replay_count to one to force the map
cycle script to actually change maps rather than just cycle the current
one. Many players found the default action irritating. If you have
custom mapcycle.script file please check that it still works correctly
with this change.
- In rare circumstances it was possible for a player joining a server
to be associated with the wrong player information, which could log the
wrong name against a GUID in userlist.emz or lose statistics. While the
cause of this is still unknown protection against this has been added to
minimise the occurrences.
- The colours on the scoreboard now match the player's skin colour
correctly.
- The background colour of the aim target box now match the player's
skin colour correctly.
- The "invalid weapon" message is no longer displayed when you are
hosting a non-d3xp server and a player uses their "grabber" or "dbs" key
bind.
- It is no longer possible to drop weapons while you are firing them.
- After dropping a weapon your "best" weapon is selected automatically
instead of just simply choosing "next weapon".
- When spectating the correct weapon icon should be displayed when
switching view players.
In EMZ Version 1.1
- Grenades now directly damage the player that throws them rather
than passing through them.
- BFG shots can now damage the player that fires them. So be
careful with that thing!
- emzBan now works correctly when used with "h" and "m".
- emzBan no longer kicks the player when just vote banning.
- DBS now has ammo if it is the random spawn weapon.
- Inactive players being set to spectate now works correctly
instead of leaving them in "limbo".
- Inactive players will be kicked if the server has "no specs"
turned on.
- The anti-spam settings now apply to voice chat messages too.
- When playing with the "no reload" option the DBS no longer goes
through the reload animation.
- BFG now uses its ammo when playing in "no reload".
- Too many players logged in the user file no longer prevent
servers from starting.
- Players who attempt to connect but never actually play a game
are no longer recorded in the user file.
- If you change the powerup respawn timings it is no longer
necessary to restart the map on d3xpdm1 and d3xpdm2.
- Player ammo controlled by emz_si_initial_xxxx CVars is now
limited to the normal "max" amounts for the player.
- emzSkinSet processing was sending to much network traffic.
- Stealing another player's chainsaw with fists caused a server
crash.
- It was not possible to drop the chainsaw. (Still not possible to
drop the grabber because it has no model suitable to use for the
"loose" weapon).
Known Problems In This Release
The following is a list of stuff we know is weird or doesn't work.
- The emzBan function is broken in 1.21 an can only be used for permanent bans rather than time limited ones.
- In standard Doom 3 the BFG is
disabled in multiplayer - we have enabled it (emzWeaponMode 10) but
we've not made sure that it is 100% safe.
Using the Grabber can
crash; Use either of these modes at your peril. If you run a server and you don't want them enabled, use
emz_cs_weapon_mode_flags.
- When throwing barrels around with the Grabber a light is left
where the barrel explodes.
- When playing with just fists your player often does not get the
right animation model and you may be left looking as though you have
no fists up - you will still punch but you just can't see (or
hear) it happen.
- This problem does exist in base Doom 3 but you can't see it
because you never spawn in multi-player with fists or grenades as
the default weapon. We've proven this by modifying the base\mp.def
to specify that the default weapon is fists and run normal doom.
Same problem happens.