From ssheldon at sodablue.org Thu Jul 5 01:43:25 2001 From: ssheldon at sodablue.org (Steve Sheldon) Date: Wed Jan 12 00:50:32 2005 Subject: [Netrek Clients] Announcing Netrek XP - Pre-Release 5 Message-ID: <000001c1051d$cb568500$8400000a@win2k.sodablue.com> Netrek XP - Release 5 "The smarter Netrek eXPerience!" :) This is sort of a Pre-Release. Although I'm fairly confident in the executable, I do intend on creating a document explaining the netrekrc defaults, as well as building an installation package to install the program along with sounds and an icon on the desktop, etc. I'm also in the process of bundling the source code up and making it available with some instructions on how to build the client. At one time I had it compiling with Borland's C compiler that was a free download, need to recheck that work to see if it's still valid. I believe this will be my last release of a client, and want to make certain someone else can pickup where I left off. There isn't anything terribly radical here. This is simply an evolution with quite a number of things fixed and a few nice features to make life easier. I feel it's a definate must-have upgrade just for the spacebar thing and the white bitmap in tactical. Although I did change default window placement, and if you were relying upon that in your rc file, this may require you to revisit your settings. ------------------------------------------------------------ Major new changes: - New Default keyword: Portswap This determines whether the UDP portswap code is used. Default is ON. - Fix Red alert border... wasn't changing from yellow to Red - Use BOLD font instead of Underline one for friendly players - Load color ship bitmaps from .BMP files rather than resource DLL - Your ship in center of tactical is Greyscale to differentiate it. - Fixed Monochrome bitmaps, they were inadvertently saved as color bitmaps and everything turned white. - All bitmaps go under a \bitmaps subdirectory - Implemented a mechanism where you can switch sorted playerlists between full, players-only, observers-only. This occurs if your playerlist is sorted, use the 'L' key to toggle these settings. Also required server changes from Trent Piepho which may not be running on servers at thi s time. - Changed default windows locations to what I consider to be sane. Goal was that client will startup on a 1024x768 display ready to play. Let me know. - New Default keyword: PlanetBitmap 0 = bronco style bitmaps, 1 = Moo style bitmaps, 2 = Rabbit Ear bitmaps - New feature, gracelessly stolen from Trent Piepho, although since he doesn't share his client code I implemented my own switch() statement! Oh, the feature? Once you die and get thrown back to the MOTD, hit the SPACEBAR to reenter quickly with your previous race and ship type selection. -- "I'm the bad guy -- how did that happen?" Michael Douglas in the movie "Falling Down" From evensteven71 at home.com Fri Jul 6 14:12:41 2001 From: evensteven71 at home.com (Stephen Penco) Date: Wed Jan 12 00:50:32 2005 Subject: [Netrek Clients] Netrek Message-ID: <3B460DA9.8584A987@home.com> > > Hello, I am despratly trying to get netrek on my computer but none of > the clients seem to work, I am on a win98 OS and for every cow I > execute a DOS window pops up and stays for about 2 seconds then > disapears. Please help me slove this problem. > > Thanks, > > Stephen Penco From Mrelawler at aol.com Fri Jul 13 03:19:48 2001 From: Mrelawler at aol.com (Mrelawler@aol.com) Date: Wed Jan 12 00:50:32 2005 Subject: [Netrek Clients] about your site Message-ID: <103.5e69e36.28800924@aol.com> i have a pentium 3 windows98 can i still download it i'm new to it ? mike -------------- next part -------------- An HTML attachment was scrubbed... URL: http://shadowknight.real-time.com/pipermail/netrek-dev/attachments/20010713/2693f523/attachment.htm From quozl at us.netrek.org Tue Jul 24 00:02:31 2001 From: quozl at us.netrek.org (James Cameron) Date: Wed Jan 12 00:50:32 2005 Subject: [Netrek Clients] COW Metaserver Window Slow Message-ID: <20010724150231.A19281@us.netrek.org> G'day, There were a few things wrong with the UDP metaserver window on the current version of COW. It seemed sluggish. There was a defect, either mine or Carlos', that was causing it. Changed in CVS ... Tue Jul 24 14:47:50 2001 James Cameron * parsemeta.c: fix delay during UDP startup, by waiting up four seconds for the first response from a metaserver, and not waiting one second between processing X events on the window. Update the list properly on a refresh. Fix empty window when the player is serviced by satellite delays. Change the colour on a server line to Cyan during a connection attempt to observe, and to Yellow during a normal connection attempt. Change to Green on successful connection. Change to Red if connection fails. Make better guesses as to the initial size of the window. Tidy up messages, remove excess periods, and add warning about no return packets suggesting a firewall as the cause. -- James Cameron mailto:quozl@us.netrek.org http://quozl.netrek.org/ From vanilla-devel at us.netrek.org Wed Jul 4 02:08:57 2001 From: vanilla-devel at us.netrek.org (Vanilla CVS Development) Date: Wed Jan 12 00:51:33 2005 Subject: [Vanilla Devel] CVS update: metaserver Message-ID: <200107040708.f6478vs10122@swashbuckler.fortress.real-time.com> Date: Wednesday July 4, 2001 @ 2:08 Author: unbelver Update of /home/netrek/cvsroot/metaserver In directory swashbuckler.fortress.real-time.com:/var/tmp/cvs-serv10119 Modified Files: rsa_keys Log Message: New key from sheldon. --Carlos V. **************************************** Index: metaserver/rsa_keys diff -u metaserver/rsa_keys:2.25 metaserver/rsa_keys:2.26 --- metaserver/rsa_keys:2.25 Fri May 4 19:39:58 2001 +++ metaserver/rsa_keys Wed Jul 4 02:08:57 2001 @@ -1146,4 +1146,12 @@ :pk=c5333ca798c9a6944d3343e60ecd5bc904cc5b33bf67842332247b116932eb07: # # +# +NetrekXP-RSA-Key-Win32:ct=NetrekXP:cr=ssheldon@sodablue.org:\ + :cd=July 2001:ar=Win32:cl=inl,standard2:\ + :cm=Netrek XP for Windows 9x/NT/2000/XP:\ + :gk=0ff451661e2c8af6d79450af271617d38c0322e77195fea59fae0592139d3306:\ + :pk=d74853b1837ab65914ab90aa563e4c0cab47698b0a86a290cb2bded894983704: +# +# # --- end of list --- From vanilla-devel at us.netrek.org Wed Jul 18 02:53:09 2001 From: vanilla-devel at us.netrek.org (Vanilla CVS Development) Date: Wed Jan 12 00:51:34 2005 Subject: [Vanilla Devel] CVS update: Vanilla/ntserv Message-ID: <200107180753.f6I7r9C18340@swashbuckler.fortress.real-time.com> Date: Wednesday July 18, 2001 @ 2:53 Author: xyzzy Update of /home/netrek/cvsroot/Vanilla/ntserv In directory swashbuckler.fortress.real-time.com:/var/tmp/cvs-serv18334 Modified Files: genspkt.c Log Message: Make sending of player stats much more punctual. The old system went through the player slots (all 32 of them), in order, one slot per second. If that packet was too big, then sending stats was skipped for that slot until its turn came around again in another 32 seconds. The new system only checks real players, empty slots and observers are skipped. If the packet is too big, then the stats will get sent on the next packet that isn't too big. A slot doesn't get skipped, just delayed a bit until there is a lull in bandwidth. **************************************** Index: Vanilla/ntserv/genspkt.c diff -u Vanilla/ntserv/genspkt.c:1.21 Vanilla/ntserv/genspkt.c:1.22 --- Vanilla/ntserv/genspkt.c:1.21 Thu May 10 18:19:46 2001 +++ Vanilla/ntserv/genspkt.c Wed Jul 18 02:53:09 2001 @@ -2043,165 +2043,50 @@ } /* Function */ -#ifdef LTD_STATS - void updatePlayerStats(void) { - struct stats_spacket *stats; + struct stats_spacket *stats; struct stats_s_spacket *s_stats = &singleStats; - struct player *pl; - int i = efticks(5); - - unsigned int total_kills, total_deaths, total_armies_bombed, total_ticks, - total_planets_taken, sb_kills, sb_deaths, sb_ticks; - - unsigned int my_kills, my_deaths, my_armies_bombed, my_ticks, - my_planets_taken, my_sb_kills, my_sb_deaths, my_sb_ticks; - - - if(repCount % i) - return; - - i = (repCount/i) % MAXPLAYER; - - pl = &players[i]; - if(!pl->p_status) return; - - stats = &clientStats[i]; - - /* Taken from inl source, socket.c. Hack for INL robot (when stats are - reset). Stick it in here for lack of a better place. Needed because - these are ntserv process variables, so robot can't touch them. */ - - my_kills = ltd_kills(me, LTD_TOTAL); - my_deaths = ltd_deaths(me, LTD_TOTAL); - my_armies_bombed = ltd_armies_bombed(me, LTD_TOTAL); - my_ticks = ltd_ticks(me, LTD_TOTAL); - my_planets_taken = ltd_planets_taken(me, LTD_TOTAL); - my_sb_kills = ltd_kills(me, LTD_SB); - my_sb_deaths = ltd_deaths(me, LTD_SB); - my_sb_ticks = ltd_ticks(me, LTD_SB); - - total_kills = ltd_kills(pl, LTD_TOTAL); - total_deaths = ltd_deaths(pl, LTD_TOTAL); - total_armies_bombed = ltd_armies_bombed(pl, LTD_TOTAL); - total_ticks = ltd_ticks(pl, LTD_TOTAL); - total_planets_taken = ltd_planets_taken(pl, LTD_TOTAL); - sb_kills = ltd_kills(pl, LTD_SB); - sb_deaths = ltd_deaths(pl, LTD_SB); - sb_ticks = ltd_ticks(pl, LTD_SB); - - - - if (startTkills > my_kills || - startTlosses > my_deaths || - startTarms > my_armies_bombed || - startTplanets > my_planets_taken || - startTticks > my_ticks) - { - startTkills = my_kills; - startTlosses = my_deaths; - startTarms = my_armies_bombed; - startTplanets = my_planets_taken; - startTticks = my_ticks; - } - - /* - * Send stat packets once per five updates. But, only send one. We - * will cycle through them all eventually. - */ - if ( stats->tkills != htonl((long) total_kills) || - stats->tlosses != htonl((long) total_deaths) || - stats->kills != htonl((long) 0) || - stats->losses != htonl((long) 0) || - stats->tticks != htonl((long) total_ticks) || - stats->tplanets != htonl((long) total_planets_taken) || - stats->tarmies != htonl((long) total_armies_bombed) || - stats->sbkills != htonl((long) sb_kills) || - stats->sblosses != htonl((long) sb_deaths) || - stats->armies != htonl((long) 0) || - stats->planets != htonl((long) 0)) { - - stats->tkills = htonl((long) total_kills); - stats->tlosses = htonl((long) total_deaths); - stats->kills = htonl((long) 0); - stats->losses = htonl((long) 0); - stats->tticks = htonl((long) total_ticks); - stats->tplanets = htonl((long) total_planets_taken); - stats->tarmies = htonl((long) total_armies_bombed); - stats->sbkills = htonl((long) sb_kills); - stats->sblosses = htonl((long) sb_deaths); - stats->armies = htonl((long) 0); - stats->planets = htonl((long) 0); - - if ((pl->p_ship.s_type == STARBASE) && (SBhours)) { - stats->maxkills=htonl((long) sb_ticks); - } else { - stats->maxkills=htonl(ltd_kills_max(pl, LTD_TOTAL) * 100); - } - stats->sbmaxkills = htonl(ltd_kills_max(pl, LTD_SB) * 100); - - stats->type = SP_STATS; - stats->pnum = i; - if (send_short > 1 && - total_kills < 0xffff && - total_deaths < 0xffff && - total_deaths < 0xffff && - total_planets_taken < 0xffff && - sb_kills < 0xffff && - sb_deaths < 0xffff && - total_planets_taken < 0xffff ) { - - s_stats->tkills = htons(total_kills); - s_stats->tlosses = htons(total_deaths); - s_stats->kills = htons(0); - s_stats->losses = htons(0); - s_stats->tticks = htonl(total_ticks); - s_stats->tplanets = htons(total_planets_taken); - s_stats->tarmies = htonl(total_armies_bombed); - s_stats->sbkills = htons(sb_kills); - s_stats->sblosses = htons(sb_deaths); - s_stats->armies = htons(0); - s_stats->planets = htons(0); - - if ((pl->p_ship.s_type == STARBASE) && (SBhours)) { - s_stats->maxkills=htonl(sb_ticks); - } else { - s_stats->maxkills=htonl(ltd_kills_max(pl, LTD_TOTAL) * 100); - } - s_stats->sbmaxkills=htonl(ltd_kills_max(pl, LTD_SB) * 100); - - s_stats->type=SP_S_STATS; - s_stats->pnum=i; - sendClientPacket(s_stats); - } - else - sendClientPacket((CVOID) stats); + struct player *pl; + static int lastrep=0; + static int lastpno=MAXPLAYER; + int i; + + /* Wait at least 1 second before sending another stats packet */ + if((repCount - lastrep) < efticks(5)) return; + lastrep = repCount; + + /* Look for the next non-empty non-observer slot */ + for(i=1;i<=MAXPLAYER;i++) { + pl = &players[(lastpno+i)%MAXPLAYER]; + if(pl->p_status!=PFREE && pl->p_status!=POBSERV) break; } -} -#else /* LTD_STATS */ - -void updatePlayerStats(void) -{ - struct stats_spacket *stats; - struct stats_s_spacket *s_stats = &singleStats; - struct player *pl; - int i = efticks(5); - - if(repCount % i) - return; + /* No one playing...? */ + if(i>MAXPLAYER) return; - i = (repCount/i) % MAXPLAYER; + lastpno = pl->p_no; + stats = &clientStats[pl->p_no]; - pl = &players[i]; - if(!pl->p_status) return; - - stats = &clientStats[i]; +#ifdef LTD_STATS + me->p_stats.st_tkills = ltd_kills(me, LTD_TOTAL); + me->p_stats.st_tlosses = ltd_deaths(me, LTD_TOTAL); + me->p_stats.st_tarmsbomb = ltd_armies_bombed(me, LTD_TOTAL); + me->p_stats.st_tticks = ltd_ticks(me, LTD_TOTAL); + me->p_stats.st_tplanets = ltd_planets_taken(me, LTD_TOTAL); + me->p_stats.st_sbkills = ltd_kills(me, LTD_SB); + me->p_stats.st_sblosses = ltd_deaths(me, LTD_SB); + me->p_stats.st_sbticks = ltd_ticks(me, LTD_SB); + me->p_stats.st_maxkills = ltd_kills_max(pl, LTD_TOTAL) + me->p_stats.st_sbmaxkills = ltd_kills_max(pl, LTD_SB) + me->p_stats.st_kills = 0; + me->p_stats.st_losses = 0; + me->p_stats.st_armsbomb = 0; + me->p_stats.st_planets = 0; +#endif /* LTD_STATS */ /* Taken from inl source, socket.c. Hack for INL robot (when stats are reset). Stick it in here for lack of a better place. Needed because these are ntserv process variables, so robot can't touch them. */ - if (startTkills > me->p_stats.st_tkills || startTlosses > me->p_stats.st_tlosses || startTarms > me->p_stats.st_tarmsbomb || @@ -2250,7 +2135,7 @@ } stats->sbmaxkills = htonl((int) (pl->p_stats.st_sbmaxkills * 100)); stats->type = SP_STATS; - stats->pnum = i; + stats->pnum = pl->p_no; if (send_short > 1 && pl->p_stats.st_tkills < 0xffff && pl->p_stats.st_tlosses < 0xffff && @@ -2270,22 +2155,16 @@ s_stats->sblosses = htons(pl->p_stats.st_sblosses); s_stats->armies = htons(pl->p_stats.st_armsbomb); s_stats->planets = htons(pl->p_stats.st_planets); - if ((pl->p_ship.s_type == STARBASE) && (SBhours)) { - s_stats->maxkills=htonl((int) (pl->p_stats.st_sbticks)); - } else { - s_stats->maxkills=htonl((int) (pl->p_stats.st_maxkills * 100)); - } - s_stats->sbmaxkills=htonl((int) (pl->p_stats.st_sbmaxkills * 100)); + s_stats->maxkills = stats->maxkills; + s_stats->sbmaxkills = stats->sbmaxkills; s_stats->type=SP_S_STATS; - s_stats->pnum=i; + s_stats->pnum=pl->p_no; sendClientPacket(s_stats); - } - else + } else sendClientPacket((CVOID) stats); } } -#endif /* LTD_STATS */ /* Called by initClientData - This routine initialized the local packet information to an unobtainable state. (Which then forces updates to From zu22 at andrew.cmu.edu Sat Jul 21 03:13:11 2001 From: zu22 at andrew.cmu.edu (Zachary Uram) Date: Wed Jan 12 00:51:34 2005 Subject: [Vanilla Devel] test Message-ID: testing uram@cmu.edu "Blessed are those who have not seen and yet have faith." - John 20:29 From vanilla-devel at us.netrek.org Sun Jul 22 02:50:23 2001 From: vanilla-devel at us.netrek.org (Vanilla CVS Development) Date: Wed Jan 12 00:51:34 2005 Subject: [Vanilla Devel] CVS update: web Message-ID: <200107220750.f6M7oNa22906@swashbuckler.fortress.real-time.com> Date: Sunday July 22, 2001 @ 2:50 Author: cameron Update of /home/netrek/cvsroot/web In directory swashbuckler.fortress.real-time.com:/var/tmp/cvs-serv22903 Modified Files: index.html Log Message: fixes suggested by zachary uram **************************************** Index: web/index.html diff -u web/index.html:1.25 web/index.html:1.26 --- web/index.html:1.25 Fri Jun 22 00:47:43 2001 +++ web/index.html Sun Jul 22 02:50:22 2001 @@ -19,8 +19,12 @@ -
+
22nd July 2001

+The Netrek Vanilla Server is an open source software package that +provides a multi-player battle simulation server for Netrek clients. +

+ Netrek is the probably the first video game which can accurately be described as a "sport." It has more in common with basketball than with arcade games or Quake. Its @@ -32,15 +36,11 @@ games are the team and strategic aspects. Team play is dynamic and varied, with roles constantly changing as the game state changes. Strategic play is explored in organized league games; after 6+ years of league -play, strategies are still being invented and refined. -

- -The Netrek Vanilla Server is an open source software package that -provides a multi-player battle simulation server for Netrek clients. +href=http://www.inl.org/>league games; after more than six years +of league play, strategies are still being invented and refined.

-

Latest Source Release

+

Latest Source Release

Version 2.9pl7 of the Netrek Vanilla Server was released on 23rd April 2001 and may be downloaded from:

@@ -85,7 +85,7 @@

-

Latest Binary Release

+

Latest Binary Release

Version 2.9pl7 of the Netrek Vanilla Server was built for Red Hat i386, ppc, sparc and sparc64 platforms, and may be downloaded from the @@ -95,7 +95,7 @@ Debian packaging volunteers welcome!.

-

Changes

+

Changes

Changes for 2.9pl7 were:

@@ -117,8 +117,7 @@

-


-

Source Code Repository

+

Source Code Repository

The Netrek Vanilla Server source code is managed using CVS. To obtain an up-to-the-minute snapshot of the code, point your CVS client at the @@ -132,14 +131,11 @@ checkout Vanilla

-More information on CVS, along with source kits, may be found at Cyclic. Updates to the CVS repository -are mailed to vanilla-devel -list.

+Commits to the CVS repository are automatically mailed to the vanilla-devel +mailing list.

-


-

Development Community

+

Development Community

The community of developers who work on the server source code use a mailing list to coordinate the work. To join this mailing list, go to @@ -153,8 +149,7 @@ interconnected. Quozl, Ahn and Psychosis are the usual occupants and can assist with development or installation issues.

-


-

Futures

+

Futures

Some plans for the future, depending on availability of resources, are: