I've played 2 -- maybe 3 -- single player mods or maps where I got "Packet Overflow". These were situations where using dead body filter wouldn't work.
ne_sp06 / Necros / Once Upon Atrocity: the final fight against the dragon where it shoots fireballs all over the place. Got several packet overflow messages. (In my book, and probably some others, this is one of the best single player maps ever).
fc1 / Fat Controller / Duke of Ontranto: the final map has about 40 monsters and the "Duke" in a single room and all hell breaks loose. No dead bodies, just lots of hell knight attacks, vore balls, ogre grenades, etc. About 3 or 4 times I got Packet Overflow leading to a Stack Overflow which kicked me out of the game.
Neither were situations where dead body filter would help.
Is there anyway to have JoeQuake a little more immune to Packet Overflow and Stack Overflow situations?
While they are rare and affect few maps, it seems to be the more cutting edge and recent maps.
PanQuake Packet Overflow Fix? wrote:
packet overflow / edicts size fix:
I added this, even though it is unrelated to panorama mode: you can
now have 16x as much entities/gibs on screen before getting packet
overflow errors, and max edicts has been increased 10x as well. This
means that on moderately fast machines, Doom-style many monster maps
are now viable. To even further make such maps playable, you can
run PanQuake with my quake-c mod which quickly removes gibs and corpses
(after 5 seconds) which is included. Note however that for coop or dm
network play all players need to use PanQuake, because these changes
affect the network code.
http://wouter.fov120.com/gfxengine/panquake/Source + Download:
http://wouter.fov120.com/files/engine/panquake.zipPanquake quakedef.h wrote:
#define MAX_QPATH 64 // max length of a quake game pathname
#define MAX_OSPATH 128 // max length of a filesystem pathname
#define ON_EPSILON 0.1 // point on plane side epsilon
#define MAX_MSGLEN 16384 //aard: was 8000 max length of a reliable message
#define MAX_DATAGRAM 16384 //aard: was 1024 // max length of unreliable message
//
// per-level limits
//
#define MAX_EDICTS 6000 //aard: was 600 // FIXME: ouch! ouch! ouch!
#define MAX_LIGHTSTYLES 64
#define MAX_MODELS 256 // these are sent over the net as bytes
#define MAX_SOUNDS 256 // so they cannot be blindly increased
#define SAVEGAME_COMMENT_LENGTH 39
#define MAX_STYLESTRING 64
JoeQuake quakedef.h wrote:
#define MAX_QPATH 64 // max length of a quake game pathname
#define MAX_OSPATH 128 // max length of a filesystem pathname
#define ON_EPSILON 0.1 // point on plane side epsilon
#define MAX_MSGLEN 8000 // max length of a reliable message
#define MAX_DATAGRAM 1024 // max length of unreliable message
// per-level limits
#define MAX_EDICTS 2048
#define MAX_LIGHTSTYLES 64
#define MAX_MODELS 256 // these are sent over the net as bytes
#define MAX_SOUNDS 256 // so they cannot be blindly increased
Just a compare and contrast, I have no clue the impacts of any of these variables/constants have on single player/multiplayer or if this is even the right place in the code for the Packet Overflow fix.
I think I have heard some other engines address Packet Overflow, but I don't want to use those -- JoeQuake is perfect