Data Management on Client Created 8 years ago2016-02-07 18:41:53 UTC by abbadon abbadon

Created 8 years ago2016-02-07 18:41:53 UTC by abbadon abbadon

Posted 8 years ago2016-02-07 18:41:53 UTC Post #328757
Well, I come to you again to ask for the sz_getspace:overflow on client datagram problem.

I guess that there´ll be some kind of problem in the code of the ZWC mod that is causing the client emit or receive (this is one of my doubts) an extra large amount of data.

I suspect that the problem is caused by three elements of the MOD´s sourcecode: the sentinel monster´s code, the Femp weapon and the monstermakers. I suspect of them because those three elements are the only active in game when the sz_getspace problem happens.

Also I´ve read in HLCoders that it could be caused by the player sending information about health/armor values too many often, but, as I´ve said, I don´t know how to know if this is what´s happening.

The problems I´ve found with the appearing of the sz_getspace error are as follows:

-Player would be kicked from server.
-Game crashes sometimes.
-Some entities start disappearing (the FEMP shockwave effect is the first at dissapearing).
-Execessive lag? (still I didn´t play with the new maps and models to verify this part, but I´m sure Lag will appear sooner or later)

I´ve checked the sentinel´s code to make sure that the death of the monster is sended to the monstermaker.

Also the monstermaker cannot make a stack of monsters because I left untouched that part of the code. But for an extrange reason the monstermaker, if I use the femp and kill all the monsters created by (i.e) the monstermakers number 1,2,3 and 4, all of them start pouring all the monsters set to be created with no rest even when the maxlivechildren flag is set to 1!!.

The FEMP countermeasure uses a MESSAGE_BEGIN and MESSAGE_END in the emitting of the Shockwave effect, I double checked that also.

The sentinels only have three sounds to precache and fades after death so there won´t be present neither gibs nor corpses.

What I want to know if it´s there a way to know exactly who is sending or receiving data at a rate able to cause that problem.

I hope someone could, FINALLY!!, give me an answer or point me to an answer to solve this because I´m stuck on it and It´s slowing the release of the Mod dramatically...

:(

Thanks for reading!!
Posted 8 years ago2016-02-07 23:06:24 UTC Post #328758
What I want to know if it´s there a way to know exactly who is sending or receiving data at a rate able to cause that problem.
The only situation where you will be able to do that is with custom messages. I highly doubt you will be able to do that with the shockwave effect since it relies on "SVC_TEMPENTITY" if I'm not mistaken and this is inside the engine which nobody except Valve and granted modders have access to. You might want to do something like this when you send your message :

ALERT( at_console, "Sending gmsgMyMessage to entity index %i\n", pev->entindex() );
MESSAGE_BEGIN( MSG_ONE, gmsgMyMessage, NULL, ENT( pev ) );
// Your message stuff here
MESSAGE_END();

Client part :

int __MsgFunc_MyMessage( * Stuff here * )
{
gEngfuncs.Con_Printf( "Received gmsgMyMessage\n" );
return 1;
}

But I think the best option would be to restart from scratch. Take a clean SDK, copy/paste or recode one thing at a time and test it like hell before implementing the rest. You might be able to narrow the problem.
Posted 8 years ago2016-02-08 00:06:41 UTC Post #328760
Thanks Sheppard!!, this is making me going crazy!!, I've seen that this also happened to other Modders and makes me feel less dumb. I have done a long journey to arrive to this part of the code, and I feel like if I have to start all from scratch it'll be too much for me, but if it must to be that way I'll do it. The solution of making the suspicious parts send messages seems to be affordable to my poor skills on coding matters, I'll try this first, and if all fails... scratch time!! =(
Posted 8 years ago2016-02-09 00:17:15 UTC Post #328782
I was coding this afternoon, and seeing all the messages I have to make the HL engine shows on screen (or in console), something come to my mind: could all the problems be caused because I test the maps via console?, could all that update messages/data be transmitted over and over because there´s no clients to receive all that information, and so the mod crashes? could all the data transmitted and not received be saved on client part making the sz_getspace warning?. :(
Posted 8 years ago2016-02-09 06:41:08 UTC Post #328784
No, that's completely unrelated.
Posted 8 years ago2016-02-09 09:44:15 UTC Post #328789
Ok, I'm finishing adding the send messages code. ;)
You must be logged in to post a response.