I bet this doesn’t make the release patch notes :)

– NetCode2 will now authenticate players instantly rather than hanging
around waiting 10-20ms to do it;
– NetCode2 will now send players their vehicle updates instantly rather
than thinking about it for ~10ms;
– Game servers will no-longer consider you to be loosing packets just
because your connection isn’t as fast as their gigabit ethernet. This
should make the NetCode2 packet loss gauge more accurate (and cause
NetCode2 to use less CPU and less warping/lag).
– Due to recent shortages of RAM, NetCode2 will no-longer use an
additional 1Mb of RAM each time it formats the current packet loss
%age for display. Please don’t return the extra RAM you just bought,
I’m sure we’ll find something else to use it for :)
– Fixed an issue where, after two servers had to reset the connection
between themselves, they would substitute meaningful data (such as
the list of weapons at your facility) with the words “DONT PANIC”.
As good as this advice was, it caused Really Weird Things(TM) to
happen and was not the desired behavior.

It’s been a long day.


must buy more ram before you get any more ideas on where to put the newfound spare stuff!

Wow. Sounds like you nailed a couple nasty, yet subtle interactions in the guts of it. Good stuff!

Nice work Oli.

CRS still need to find a way to clone you though. Just think how fast things would get done with 6 of you working for them, insted of one of you doing the work of 6 people! :)

Hehe, finding the packet loss thing was a real pita. Specifically, the dev cluster only has one cell host, so there was no peer-to-peer exchange of packets.

– Ol

Smartheap thanks you for not wearing it out any more :-)

Specifically, the dev cluster only has one cell host, so there was no peer-to-peer exchange of packets.

Ah, the joys of trying to determine what’s “enough” of the production environment to provide reasonable testing, without completely replicating the entire thing.

Laziness on my part there, Krenn; since the dev cluster is now just a vmware team — all I had to do was clone the cell host.

Sounds like some very deep dive into the netcode codebase mixed with a few WTF moments, good catches. Is that related to the HUD fix/workaround for ATI cards?

Maybe the rats can use some of the freed netcode RAM for object memory, which seems always short in supply. ;o)

Wow some pretty big news there.

Look forward to seeing it in patch and feeling the effects. Sounds like some nice streamlining and detective work.

Good news.

But will netcode2 work with Windows 7 ?

*Shrug* I run Windows 7 at home, I haven’t had any problems with NetCode2.


// allocate some memory for the outstring
char *c = malloc(1024*1024);

// Do housekeeping to find actual package loss

// return the string to display on screen
char *p = sprintf(“%f%% package loss”, f_pckloss_percent);
return p;

No, actually :)

It’s keeping a histogram of network status so that it can give you averages and such. And every time it updates the display, it goes ahead and clears out the pointer to them :)

Leave a Reply

Name and email address are required. Your email address will not be published.

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <pre> <q cite=""> <s> <strike> <strong> 

%d bloggers like this: