This is the mail archive of the xconq7@sources.redhat.com mailing list for the Xconq project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Fixed: remaining problems in the xconq network code


I have just checked in a fix to the last major problem in the network code
- the frequent lockups and host timeouts on unix. The network code is now
completely stable, as far as I can tell, on all combinations of hosts and
clients (unix-unix, unix-mac, mac-unix and mac-mac). I have tested the
standard game on automatic (unix-unix non-sequential mode) for several
hundred turns now. Not a single synch error, lockup or host timeout yet!

I'm planning to make a 7.4.2 release soon and put up new binaries for all
platforms on the ftp site. However, I would appreciate if those of you who
are able and have time could build and test the CVS version first, and give
me feedback on any major problems that need to be fixed. Minor problems
will have to wait until 7.5, since I think people have waited long enough
for a working xconq network game now.

Things that have been fixed in the last few weeks:

1. All known sources of synch errors and lockups have been fixed, including
a lot of ai buzzing.

2. AI-control of non-display third sides in network games now works on unix
(it always did on the mac).

3. It is now possible to start network games with sides under ai-control
and to switch the ai on or off without causing synch errors.

4. Multiple rapid clicks on the same unit will no longer throw the network
game out of synch.

5. The Windows version now compiles again, and its network code seems to
work, too (more testing is needed here, however).

6. A number of interface bugs have been fixed, particularly on the mac. See
the ChangeLog for details.

Some things that remain to be done:

1. Fix the -join/-host command line code.

2. Make it possible to save and restore network games. This one, though
high on the list, will probably have to wait until 7.5.

3. Track down and fix the "reference to dead unit" bug. This bug is quite
rare (it appears once every third game or so) and seems to be harmless in
that it causes no further problems once you dismiss the warning dialog.

Hans

P.S. For the technically interested, the main problem with the network code
was in receive_data, which failed to handle trailing acks (a normal packet
followed by an "ack" packet) correctly. Six lines of code made all the
difference, but it took me six weeks to figure it out. :-/

Hans Ronne

hronne@pp.sbbs.se



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]