Title: Server rejecting me for high ping without having an actual high ping Post by: davidd on August 21, 2009, 11:13:48 AM I downloaded a map in about 3 seconds and server has problems keeping up i think. The server has the setting that a client is disconnected while downloading maps.
I am both client 3 and client 2 is my guess. client 2 before i downloaded the map, client 3 my reconnect after i downloaded the map. Here is what the server said, you see it does not seem to reset the ping counter. Every challenge i send is seen as a higher ping anwser to the first server packet. Code: Client 3 connecting with 50 challenge ping Title: Re: Server rejecting me for high ping without having an actual high ping Post by: Falkland on August 21, 2009, 11:32:11 AM I was thinking on this bug also in the case of the crash of your server.
Anyway this should be related to the use/reuse of the same challenge. A tremfusion developer made a patch for this. The patch adds a check in the server side code for discovereing if a challenge is already in use : Code: Index: src/server/sv_client.c unfortunately the tremfusion site is down atm , so i can't check the related proper description. Title: Re: Server rejecting me for high ping without having an actual high ping Post by: davidd on August 21, 2009, 01:56:49 PM Code: [halfleven@lood ~/source/081/openarena-engine-0.8.1]$ patch < challengecheck.patch Code: SV_GetChallenge( from ); Code: #ifdef STANDALONE Title: Re: Server rejecting me for high ping without having an actual high ping Post by: davidd on August 21, 2009, 02:08:14 PM Well i added simular code in the other spots where the variable 'pingtime' was set
Code: src/server/sv_client.c: 1949 lines, 56123 characters. (i am doing this from a club) Title: Re: Server rejecting me for high ping without having an actual high ping Post by: Falkland on August 21, 2009, 02:44:58 PM Well i added simular code in the other spots where the variable 'pingtime' was set I was going to suggest the same thing. Anyway that code section is cleaner in the latest ioquake3 revision , so applying that patch should be easier. Title: Re: Server rejecting me for high ping without having an actual high ping Post by: davidd on August 21, 2009, 04:48:27 PM [ignore this]http://pastebin.com/d7f04040b[/ignore this]
This is just the server restarting afterwards Code: Kill: 7 4 7: Dark killed Tanisha by MOD_ROCKET_SPLASH crashlog.txt attached. I guess it is prolly some ulimits, since there is 2.9 G of mem unused Title: Re: Server rejecting me for high ping without having an actual high ping Post by: Falkland on August 21, 2009, 05:22:15 PM I guess it is prolly some ulimits, since there is 2.9 G of mem unused Try to increase com_hunkMegs ( eg adding +set com_hunkMegs 256 or 512 ) Title: Re: Server rejecting me for high ping without having an actual high ping Post by: sago007 on August 22, 2009, 01:15:10 AM recursive error after: G_Alloc: failed on allocation of 9088 bytes G_Alloc has only a limited amount of memory available this is hardcoded. Every time a bot join it will use a little of this memory, the memory will be freed upon map restart and the game will crash if it runs out before. Title: Re: Server rejecting me for high ping without having an actual high ping Post by: davidd on August 25, 2009, 07:42:13 AM Ha, i almost fixed the modSDK build on freebsd (primrose could not do this either on netbsd)
in the directory code/tools/ there is a subdir asm. If the build of q3asm fails, it copies a linux binary that is allready there. mv code/tools/asm/q3asm code/tools/asm/linux.q3asm After that it will try to compile it. But it fails because -Werror and some warning about "if (qcode)" is always true. removing the -Werror makes the q3asm compile and output lots more stuff with gmake. It might be possible to do something like -Wno-strict-true-checking, but i am too lazy to find out which one it is precisely. Title: Re: Server rejecting me for high ping without having an actual high ping Post by: davidd on August 25, 2009, 07:45:58 AM Sorry non primrose people for the last post:
com_hunkmegs does not help for lots of players, that memory is allocated somewhere else. (modsdk/code/game/cg_mem.c POOLSIZE) but requires a recompile. only somethings awry with compiling. Title: Re: Server rejecting me for high ping without having an actual high ping Post by: Falkland on August 25, 2009, 07:49:58 AM ... But it fails because -Werror ... technically it fails because the -Werror switch forces the compiler to treat every warning as an error. EDIT : anyway there were some cleaner commits in the ioquake3 tree about the challenge bug - http://svn.icculus.org/quake3?view=rev&revision=1566 Quote Make servers echo challenge codes from client getchallenge commands - http://svn.icculus.org/quake3?view=rev&revision=1567 Quote Make client send a random challenge number in getchallenge requests maybe it could be useful to have a new stability and security fixes engine _ONLY_ update , because the current OA081 engine suffers also of the callvote bug ( as now only the RN network and few other servers are running a patched/ an updated engine ) Title: Re: Server rejecting me for high ping without having an actual high ping Post by: Falkland on August 25, 2009, 10:21:13 AM com_hunkmegs does not help for lots of players, that memory is allocated somewhere else. (modsdk/code/game/cg_mem.c POOLSIZE) but requires a recompile. I see , POOLSIZE is actually 256K ... maybe it could be doubled in OAX since nowadays machine are common to have at least 1GB or more. anyway I suggest to not install a new VM because OA081 users will not able to join your servers. U can use an updated engine but not an updated VM on a public server ( unless u will produce the new VM in a pk3 file which name doesn't start with pak prefix so it to be downloadable ) Title: Re: Server rejecting me for high ping without having an actual high ping Post by: davidd on August 25, 2009, 01:45:03 PM I see , POOLSIZE is actually 256K ... maybe it could be doubled in OAX since nowadays machine are common to have at least 1GB or more. Upgrade it to half of a MB? i think we have a bit more memory to spare. It takes about 26 bots to go out of mem.I would love to try 64 players on really big maps. I think it would be hilarious. maybe just make it 1 or 2 MB? Quote anyway I suggest to not install a new VM because OA081 users will not able to join your servers. U can use an updated engine but not an updated VM on a public server ( unless u will produce the new VM in a pk3 file which name doesn't start with pak prefix so it to be downloadable ) Yes i understand, as primrose aptly put it : "you would be running a mod"The trouble is, on my amd64 machine, i run interpreted, /vminfo told me. If this could fix that, than i am willing to consider "running a mod", at least on one of the servers. (the brightskins server is in fact already a mod) But getting sidetracked here. I think it would be good for oa to have some of these bugfixes. I have one other bug that is really annoying too. Maybe something for a new topic. If i am as stupid as to make a typingmistake in the mapcycle, and nextmap lets the server try to change to some map that does not exist, the players all remain in the final score screen, bots join the game because of bot_minplayers, and it takes a reconnect to join the game again. (very costly typo's). Quite often in this case, the server crashes at the following nextmap. (a console prompt without rcon crash) Title: Re: Server rejecting me for high ping without having an actual high ping Post by: Falkland on August 25, 2009, 03:11:52 PM I see , POOLSIZE is actually 256K ... maybe it could be doubled in OAX since nowadays machine are common to have at least 1GB or more. Upgrade it to half of a MB? i think we have a bit more memory to spare. It takes about 26 bots to go out of mem.I would love to try 64 players on really big maps. I think it would be hilarious. maybe just make it 1 or 2 MB? Quote anyway I suggest to not install a new VM because OA081 users will not able to join your servers. U can use an updated engine but not an updated VM on a public server ( unless u will produce the new VM in a pk3 file which name doesn't start with pak prefix so it to be downloadable ) Yes i understand, as primrose aptly put it : "you would be running a mod"The trouble is, on my amd64 machine, i run interpreted, /vminfo told me. If this could fix that, than i am willing to consider "running a mod", at least on one of the servers. (the brightskins server is in fact already a mod) But getting sidetracked here. I think it would be good for oa to have some of these bugfixes. I have one other bug that is really annoying too. Maybe something for a new topic. If i am as stupid as to make a typingmistake in the mapcycle, and nextmap lets the server try to change to some map that does not exist, the players all remain in the final score screen, bots join the game because of bot_minplayers, and it takes a reconnect to join the game again. (very costly typo's). Quite often in this case, the server crashes at the following nextmap. (a console prompt without rcon crash) Well I have in my engine some expanded buffers ( eg console text buffer expanded from 16K to 1M ) but try to understand that the engine was originally coded when having more than 128MB was like having an out of this world machine and that it was not revisioned in that aspect since ages. BTW maybe I was wrong : changing POOLSIZE doesn't affect physics , so the client should be able to join and play even if they don't have the relative pk3 ... eg u can recompile the entire VM , putting all in a pak7-patch.pk3 so the changes to be server-side only , where they are strictly needed. For the rotation bug we could implement a parser that checks all the legal map names ( the files *.bsp ) before the nextmap command is executed : if the map is in the list the nextmap command will be executed , if not the nextmap will be executed with the first map on the list ... or we could parse the map rotation list at server startup/server restart : if a map is not available , the server will not start and a mex will appear ( eg ... ERROR : map <illegal mapname> doesnt exist ; pls check your cfg ) Anyway , I'm ok with a security fixes/stability engine update ... I am running myself an engine based on the latest ioq3 rev ( 1582 ) plus OA specific changes + some other patches (not strictly security patches ; all tracked and reported in the development thread ) ... I was the only one reporting the callvote bug to the RN admin when I knew it and he was the only one that backported the changes quite immidiately and set his server up and running with the new recompiled engine just the day after. The security fixes/stability update should be periodical or as needed and it should contain only the bug fixes and the OA specific engine changes , no other new/ experimental features which should be available with test binaries and/or with major update/a new version |