PDA

View Full Version : max gamestats exceeded



ETc|#.Jay.#
15-06-2012, 23:25
Hi,

allways when my server reached the gsdata over 16000 bytes the server kick out all players with the reason max gamestats exceeded. There is no lag before the kick of all players. The problem is not often but it sucks when map finishs in 3 mins.

My question is, is it possible to change this value 16000 to 32000 with hexeditor, disassembling or what ever?

Or gives there a other solution?

Thanks for all answers






!stat
SERVER STATUS
game: OBJECTIVE/PLAYING
players: 36/64 ( 56.25%)
entities: 206/958 ( 21.50%) (301 high)
gsdata: 10553/16000 bytes ( 65.96%)
serverinfo: 840/1024 bytes ( 82.03%)
systeminfo: 2057/8192 bytes ( 25.11%)
largestcs: 259/1024 bytes ( 25.29%) (61 index)
-DATABASE
user: 19621 records (10 bans)
level: 17 records
map: 129 records
-HEAP
bullet-model: 17 KB ( 17 KB high)
hit-model: 307 KB ( 429 KB high)
-RATES
entity spawn: 34.33/s
entity free: 33.51/s
frames: 20.00/s

ETc|#.Jay.#
16-06-2012, 01:46
found this in the et source in etmain qgame



#define MAX_GAMESTATE_CHARS 16000
typedef struct {
int stringOffsets[MAX_CONFIGSTRINGS];
char stringData[MAX_GAMESTATE_CHARS];
int dataCount;
} gameState_t;


could some coder put this to 32000 with some easy c# script for jaymod?

giriel
16-06-2012, 11:21
Hmm well the thing is all clients have that size fixed as well, simply changing it on the server side will not solve the issue according to me.

testforecho
16-06-2012, 11:30
Giriel beat me with the answer, ok, 2nd :P

You can't change it with a hex editor.

You could recompile the server (etded.x86) with a bigger MAX_GAMESTATE_CHARS, to avoid the 'MAX_GAMESTATE_CHARS exceeded' message, but I see a big problem here:

In the mod, you have (in Cg_local.h)

typedef struct {
gameState_t gameState; // gamestate from server
[... other members ...]
} cgs_t;

gameState_t size depends on MAX_GAMESTATE_CHARS, so you will have a bigger one in the server, and a smaller in the mod.
When it's retrieved by the client via trap_GetGameState, it will overflow over the memory area of the other members of that struct, causing all sorts of bugs and crashes.

So if I didn't overlook anything, I think there is no easy way out, you'd better find the cause of that problem (happens only with some maps?)

Dragonji
16-06-2012, 11:43
You can use special versions of some maps on your server to avoid kicking players for MAX_GAMESTATE_CHARS eg. Venice NE4 instead of Venice and so on.

ETc|#.Jay.#
16-06-2012, 14:04
yes, its client side, on etmain i compiled it with 32000, but i have no 50 players for test :D

@testforecho on hexeditor i only found gsdata in serverside but no value, client side have no gsdata.

@dragon still using them :) if not i had every map a crash.


i had a coder in my clan he solved everything but hes allways offline atm,

epsi
16-06-2012, 15:49
back in time when i played often on "GER Rumpelbude" they had the same problem on the map "Venice". Somehow they fixed it i think, maybe ask them?

http://forum.ger-funclan.de/index.php

TS3

server.ger-funclan.de:27000

Friendly bunch of guys, pretty sure they will help you if they can ;D

ETc|#.Jay.#
16-06-2012, 19:46
nah, a bunch of nazis lol, i know them since 2004, the leader played allways on guo clan server. Will not talk with this guys.



and i allready added this venice, this map is not my problem.my problem is in goldrush and others.