SourceForge has been redesigned. Learn more.

GNE (Game Networking Engine) / News: Recent posts

GNE compiling on 4.3.0

Thanks to a report from Rene Desgagnes, made a fix so that GNE compiles on 4.3.0.

Posted by Jason Winnebeck 2008-11-25

CMake branch merged into trunk

All changes made in the cmake-0.75 branch have been merged into trunk. This completely replaces the old build system with a CMake-based one and also puts in new bug fixes.

Instructions in readme.linux have been updated, and some instructions submitted to GNE main page but more instructions coming soon.

The build system has been tested with MSVC 2005, MinGW current (from 5.0 installer), and Ubuntu GNU/Linux "dapper".

Posted by Jason Winnebeck 2006-09-06

CVS Deprecated and new Build System

I have disabled the CVS menu -- note that per SF policy the CVS repository will still (and perhaps for forever) work, however, no more updates will ever occur in the CVS repository.

Work on GNE has continued in the subversion repository, where some bug fixes have been made in the trunk. A new branch, "cmake-0.75" is a branch of GNE that uses the CMake build system for UNIX builds, version 2.2 or greater. I decided to use this system instead of autotools.... read more

Posted by Jason Winnebeck 2006-08-30

CVS to SVN Migration

I have migrated the project from CVS to SVN. The CVS has been frozen in its current state and there are no plans to update it again. The SVN form of the repository has been successfully imported (I used cvs2svn).

I've done some cleanup and I have the SVN in its final state from importing -- I decided to move directories around a little bit now from the way that cvs2svn imported them, and I decided to do that before anyone had a chance to get at the SVN.... read more

Posted by Jason Winnebeck 2006-08-17

MSVC.NET 2003 Compile

There is a bug in the MSVC.NET 2003 compiler/standard C++ library that causes ConsoleStreambuf.h not to compile. This is a bug that has been verified by Microsoft, and is currently fixed, so the next version will not have this problem. This error does not occur in MSVC.NET 2002.

You can workaround the bug by modifying the code. You can see the workaround in CVS here:

Posted by Jason Winnebeck 2004-05-10

GNE Beginner's Guide Update/Patch

I've updated the last major part of the GNE documentation and website stuff. There may be some very minor parts around I've missed but I haven't seen any yet (except for the FAQ but most of that is still relevant). This latest update includes a revision of the starting page of the current GNE documentation to reflect the new GNE 0.70 major API changes, and its content has also increased somewhat. Please send in your feedback on the newest GNE or tell me about anything I've missed.

Posted by Jason Winnebeck 2003-09-01

Linux GNE 0.70

I've uploaded a bzip2 version of GNE. This is exactly the same as what comes in the zip file but the files are with UNIX line endings. I still don't understand why the file is half the size (just the 1 character less on line endings makes that much difference?), but I tested that bzip file by compiling from only that and it worked. Let me know if you have any problems.

Posted by Jason Winnebeck 2003-08-28

GNE Documentation Work

Work continues on updating the GNE site in regards to GNE 0.70. In the past few days some changes have been made, but today the exhello tutorial has been updated. The features list and api changes documentation have been completed. I hope to update the second tutorial very soon. And I'm still working on trying to get a .tar.gz for the Linux people on GNE 0.70.

I've also realized that the starting page on the GNE documentation is out-of-date and I forgot to update that. I will work on that as soon as possible as well and update a simple patch updating just that single page.

Posted by Jason Winnebeck 2003-08-27

GNE 0.70 Released

I have put up the files for GNE 0.70. Currently only the MSVC.NET port is up. I hope to have a UNIX-line termination version (.tar.gz) for you Linux guys in the next day or two.

See the GNE homepage for details as this is a huge release.

Posted by Jason Winnebeck 2003-08-22

Distribution Helpers Wanted

Maintaining GNE for many platforms is become tedious for me. I myself use MSVC.NET 2002 to develop for GNE.

GNE also compiles on MingW32 1.0 and 2.0, MSVC 6, and probably works in MSVC.NET 2003. Also for Linux GCC 2.9x and 3.x should work.

With some work you can get GNE to compile on Sun Solaris. I did it once but haven't maintained it since.

But making all of the makefiles and workspaces for all of the compilers is tedious, as well as testing. If you use a compiler besides MSVC.NET 2002 and use GNE regularly, PLEASE consider becoming a distribution helper for your compiler/platform.

Posted by Jason Winnebeck 2003-07-06

GNE Work resumes

After about a 6 month lapse, I have started up work on GNE as of a few weeks ago. I decided to do some cleanup on the API to remove the most tacky of its quirks -- the delete conn and delete this.

To do this I am using the boost::shared_ptr reference counted pointer to manage the memory of major GNE objects.

Also as a side effect, GNE shutdown is a lot more robust as it now shuts down all threads and closes all connections and listeners now, in addition to waiting a short time for them to close. I'm hoping the new API cleanup will allow you to use less code, write code for GNE easier, and develop more robust programs.

Posted by Jason Winnebeck 2003-07-06

Second GNE Tutorial

I've written a draft of the 2nd GNE tutorial. It's currently up on my site. It's called "Network Game Programming Techniques using PacketFeeder," and it can be found at:

It didn't turn out as well as I originally thought for, nor did it cover all of the points I originally intended, and it covered points that I originally did not intent to cover ;). Let me know what you think about it and if it's of any use.

Posted by Jason Winnebeck 2002-08-16

GNE 0.55

GNE 0.55 has been released. See the release notes for more details.

Posted by Jason Winnebeck 2002-07-19

Slight Delays

Since the "release" I have found a bug in compiling the mingw version that crept back in for some reason. Since the required HawkNL has not been released yet I'll be taking this time to fix these errors, and making an installer for ming, and cleaning up this build process.

I'm also making some tutorials finally for GNE. This release was primarily meant to increase the useability of GNE so I'll continue to work on that until HawkNL 1.6.

Posted by Jason Winnebeck 2002-07-13

Windows Version Ready

With the release of HawkNL 1.6 beta 4 I was able to complete my testing of GNE under Windows, and all works well. I now have an installer for MSVC6 and MSVC.NET users.

Unfortunately 1.6b4 of HawkNL does not compile in Linux without some fixes, and after my tester got the program to compile, GNE did work under Linux with GCC 3.1. So once a fix for Hawk is out I will release the new GNE.

I'm not sure about Solaris support. Getting it to work there is a huge hassle for me, and I doubt anyone uses it. If I get any requests for a Solaris version, let me know so I can test it personally. I do know that the last time I tested it that it worked, and I have no reason to suspect it won't work now, but I won't be formally testing it for this next release.

Posted by Jason Winnebeck 2002-07-05


pthreads-win32 was starting to get a little annoying, so I decided to stop using it as a dependancy. I wrote a native win32 implementation of the threads in GNE now so pthreads-win32 is not needed.

HawkNL uses pthreads-win32 by default though, so compile HawkNL with NL_WIN_THREADS enabled. I will be providing a binary (MSVC) distribution of HawkNL with GNE in the future releases with permission of the author.... read more

Posted by Jason Winnebeck 2002-04-14

GNE 0.49 and Progress

GNE 0.49 has been released. There are some issues going on right now. This code has been done for almost 2 weeks now. GNE 0.5 is supposed to be out now, but in the process of a move, my computer was destroyed in shipping. I had insurance on it but that doesn't bring it back. I'm not sure when I will be back on my feet in terms of development.

Thanks for SF and a friend's computer I am even able to bring you 0.49. If you have any issues, feel free to report them but keep in mind my current situation.... read more

Posted by Jason Winnebeck 2002-03-18

New Surveys

I've done some work on this SF site so now everything actually has some use ;) and what doesn't, doesn't show up. You can now submit bugs and feature requests, and there are two new surveys. If you have used GNE I please ask that you take the short time to fill out the surveys so that I can have input to know if I am making a solid and understandable API that everyone can use.

Posted by Jason Winnebeck 2002-02-07

GNE Protocol Draft

The first draft of the GNE protocol has been finished! You can find it linked from the top of the GNE home page. Now work is getting started in the CVS version on implementing the protocol. If you have a chance to review it, please send comments and suggestions to gillius.

Posted by Jason Winnebeck 2002-01-27

GNE 0.45 Released

This version of GNE has been greatly improved over 0.4 as
seen by the changelog. Highlights of this release:
* GCC 2.9x support is back!
* Solaris 8 now supported out-of-the-box for Intel and
* Rewritten event system now is more efficient, MUCH less
buggy, and is much easier to understand as it guarantees
which events will occur, when, in what order, and that
only one event per Connection is occuring at any time.
* Loads upon loads of bugfixes.... read more

Posted by Jason Winnebeck 2002-01-17

Solaris Now Supported

The CVS version of GNE now compiles with Solaris. I tested it using Solaris running on an UltraSparc and compiled using the GNU tools and gcc 2.95.2. I see no reason why it shouldn't work on Intel Solaris and/or GCC 3.x.

There is a small bug in HawkNL where parsing packets will lead to misaligned memory access. While this is acceptable on an Intel processor, it causes a bus error on an UltraSparc. Therefore when the RawPacket class is used, a bus error will occur. This is a bug in HawkNL, and the author says a patch will be out soon. For those wanting to fix it earlier, the problem is i the HawkNL header file in the endian conversion macros at the end of nl.h. Direct writes and reads through pointers are used -- instead memcpy should be used (direct copy only works when the addresses are aligned).... read more

Posted by Jason Winnebeck 2001-12-17

GCC 2.9x and MingW Work Again

The current CVS version of GNE has GCC 2.9x support. I am still trying to
decide wether to release a patch or wait a few more days and release a GNE
0.41 (since a bit more changes have been made since them as well, and a few more big bugfixes need to be made).

The CVS version now additionally supports the two previously supported compilers
MingW and GCC 2.9x under Linux, in addition to MSVC 6 and GCC 3.x.

Posted by Jason Winnebeck 2001-12-06

GCC 2.9x Support

Due to some requests from users, I've put GCC 2.9x compatability near the top of my list. I will do my best to get that working as soon as possible. Check the gnelib-users list for an announcement when it hits CVS.

I might issue a patch or a new version of GNE when I get this done. ETA is hopefully by the end of this week.

Posted by Jason Winnebeck 2001-12-03

GNE 0.40 alpha Released

The next version of GNE has been released! A lot of work has occured since 0.003. Many of the parts of GNE should be useable now but until GNE goes beta it is highly suggested that you do not write final programs with GNE yet since the API might still change and not everything is completed.

Posted by Jason Winnebeck 2001-12-02

Lots of work

GNE progress is still going head strong. For those of you who have seen 0.003 GNE it won't even look the same. Many additions have been made and unfortunately the Connection API was changed drastically again -- hopefully for the last. But at this early of stage of developing GNE you shouldn't expect that.

I don't know when .4 is going to be out (yes it should have progress that far along by the next release). Porting to Linux is slower than I thought but it is very close to finished now. It works but there's a few quirks remaining.... read more

Posted by Jason Winnebeck 2001-11-18