Results 1 to 8 of 8

Thread: Countdown Crash at end of Round

  1. #1

    Default Countdown Crash at end of Round

    So I have come across an issue with countdown, but oddly enough it only seems to occur on my actual hosted server- (I can't get the crash to replicate in lan when I test on my own computer)

    When the round ends and a team wins the camera pans to the person who has the radio, begins circling as normal then the game freezes. I checked the qconsole.log and saw alot of this:

    "CGM buffer for client 0 is full"

    Does it make sense that this is what is causing the server to freeze at the end of a match? If so, is it fixable?
    I'll attach the full qconsole.log
    https://1drv.ms/u/s!AkRez-Qci5HZi3ky...kqEM2?e=TpuhFb

    Thanks

  2. #2

    Default

    Judging from what I've seen elsewhere, this can be caused by an overuse of functions that uses the CGM buffer. See:

    Quote Originally Posted by Razo[R]apiD View Post
    This list shows which scripting and internal game functions use CGM Buffer. Extensive use of them may cause CGM Buffer Overflow.

    Code:
    damagepuff
    huddraw_shader (ihuddraw_shader)
    huddraw_align (ihuddraw_align)
    huddraw_rect (ihuddraw_rect)
    huddraw_color (ihuddraw_color)
    huddraw_alpha (ihuddraw_alpha)
    huddraw_string (ihuddraw_string)
    huddraw_font (ihuddraw_font)
    damage
    _barrel_think
    killed
    pain
    dmmessage
    explosioneffect
    BulletAttack (internal function executed during weapon fireing)
    Often function that cause this are: all huddraw and ihuddraw function. Keep in mind that dmmessage could cause this too so mods that spam players with console messages could also be a source of the overflow.
    It seems to be common when players stop responding on the server yet packets are continuously sent to them.

    I don't have the mod myself, so can't check the code, but it would be good to see what the portion that handles this camera looks like.

  3. #3

    Default

    Just by reading the log I can tell a few things:

    1. The log is showing script errors from the following scripts:
      Code:
      global/fixedgrenades.scr
      global/fixedmodel.scr
      global/fmip.scr
      global/foresight.scr
      global/fst_functions.scr
      global/hudserver.scr
      global/showcham.scr
      htr/radio.scr
    2. Also showing errors from the weapons files
    3. You are executing a state file from the DMprecache
      Code:
      ^~^~^ Script file compile error:  Couldn't parse 'global/mike_torso.st'
      exec global/mike_torso.st (global/dmprecache.scr, 402)
    4. And literally over 200000 lines of 'CGM buffer' error


    This is a Spearhead server right?
    For me it looks like you are probably using some mods made for AA only or some badly written script, because the log is a mess.

    What I recommend you to do is to make your server again from scratch, but this time without using the foresight mod (it uses 'stufftext' a lot)
    And test your server and check for script errors every time you add a new mod to your server, otherwise this will keep happening to you

  4. #4

    Default

    So I took your advice Zappa, and removed the pk3 that I had put foresight among a few other of my mods in, and for now it seems it is not crashing- however there is still a 2 second freeze like it wants to crash.

    There are also still thousands of lines displaying this when I put two players on to test for a crash:
    "CGM buffer for client 0 is full"
    "CGM buffer for client 1 is full"

    The only other files I have on my server than countdown are skin packs, mod for smokenades to add damage, throwing axe mod, a few custom maps, and an edited ubersound & dialog file.

    and yes, the server is ran on Spearhead

  5. #5

    Default

    Sorry to double post, but I did some digging and I was wondering if this thread might answer why I am getting slowed down with "CGM buffer for client 0 is full" :
    https://www.x-null.net/forums/threads/593-log-errors

    If the issue is the hud, from my countdown mod- how could I break it up as mentioned above (with wait, etc.)

    This is the hud.scr from the mod:

    Code:
    main local.team:
    
    	//only do one at a time instead of 2
    
    	local.times[1] = "minutes"
    	local.times[2] = "seconds"
    
    
    	local.total = ""
    
    	for(local.o = 1; local.o <= local.times.size ;local.o++)
    	{
    		local.time = level.countdown[local.team][local.times[local.o]]
    		local.time = string local.time
    
    		if(local.time.size > 1)
    		{
    			local.total +=local.time 
    		}
    		else
    		{
    			local.total += "0" + local.time 
    		}
    
    		if (local.o == 1)
    		{
    			local.total += ":"
    		}
    	}
    	
    
    	if(local.team == "allies")
    	{
    		thread update_axis local.total
    	}
    	else
    	{
    		thread update_allies local.total
    	}
    
    end
    
    update_axis local.total:
    	//axis
    
    	huddraw_align 61 right top
    	huddraw_font 61 courier-20
    	huddraw_rect 61 -140 115 100 100
    
    	if(level.hudcolour["allies"] == 1)
    	{
    		huddraw_color 61 1 0 0
    	}
    	else
    	{
    		if(level.hudyellow  == "allies")
    		{
    			huddraw_color 61 1 1 0
    		}
    		else
    		{
    			huddraw_color 61 1 1 1
    		}
    	}
    
    	huddraw_alpha 61 1.0
    	huddraw_string 61 (local.total)
    
    end
    
    update_allies local.total:
    	//allies 
    	
    	huddraw_align 63 right top
    	huddraw_font 63 courier-20
    	huddraw_rect 63 -140 81 100 100
    
    	if(level.hudcolour["axis"] == 1)
    	{
    		huddraw_color 63 1 0 0
    	}
    	else
    	{
    		if(level.hudyellow  == "axis")
    		{
    			huddraw_color 63 1 1 0
    		}
    		else
    		{
    			huddraw_color 63 1 1 1
    		}
    	}
    
    	huddraw_alpha 63 1.0
    	huddraw_string 63 (local.total)
    
    end
    
    countdown:
    	//hehehe
    
    
    	thread main "allies"
    	thread main "axis"
    
    	huddraw_align 60 right top
    	huddraw_font 60 courier-20
    	huddraw_rect 60 -260 55 80 60
    	huddraw_color 60 0 1 0 
    	huddraw_alpha 60 1.0
    	huddraw_string 60 ("<T|F|B> Countdown 2019")
    
    	huddraw_shader 64 ("textures/hud/allies")
    	huddraw_align 64 right top
    	huddraw_rect 64 -180 77 30 30
    	huddraw_color 64 1 1 1
    	huddraw_alpha 64 1.0
    
    	huddraw_shader 62 ("textures/hud/axis")
    	huddraw_align 62 right top
    	huddraw_rect 62 -180 110 30 30
    	huddraw_color 62 1 1 1
    	huddraw_alpha 62 1.0
    
    
    end
    
    location local.location local.locate_time:
    	//hehehe
    	huddraw_align 65 left bottom
    	huddraw_font 65 facfont-20
    	huddraw_rect 65 15 -110 100 100
    	huddraw_color 65 1 0 0
    	huddraw_string 65 local.location
    
    	for (local.i = 0; local.i <= 1; local.i += .1)
    	{
    		huddraw_alpha 65 local.i
    		waitframe
    	}
    
    	huddraw_alpha 65 1.0
    //	huddraw_virtualsize 65 1
    
    	wait 3
    
    	for (local.i = 1; local.i >= 0; local.i -= .1)
    	{
    		huddraw_alpha 65 local.i
    		waitframe
    	}
    	
    end

  6. #6

    Default

    The countdown mod updates the huds every 1 second
    the loops are located in player_radio.scr and player_scan.scr.

    But before trying to edit the countdown mod,
    try running the server without the damaging smokenades. Maybe the code used to do the damage is what is causing the overflow

    and that 2 second freeze you mentioned, probably happens at the moment the server writes all those thousands of lines with the 'CGM buffer' error message to the log file

  7. #7

    Default

    Removed the Smoke Grenade mod, still had the 2 second CGM freeze, then I removed the axe mod and no change.

    Later this week when I have more time I'll try and go one by one through the other mods I have to see if any one is the culprit. While the server is no longer crashing, we found at our weekly game-night that the lag caused by the CGM buffer causes anyone with a ping around 200 or higher to always crash.

  8. #8

    Default

    Hard to tell where is the error coming from without looking the scripts
    but I doubt the countdown mod alone is causing this (unless you have edited something critical)

    Also..
    I noticed in your server variables you have sv_maxrate set to 0
    This is pure speculation, but, can this be the cause of (or being helping) the 'CGM buffer' spam?

    Try to set sv_maxrate to 25000 (most servers use this value) and see if it helps

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •