[conquest] Irken server

Jon Trulson jon at radscan.com
Sun Nov 21 12:11:43 MST 2004


On Sun, 21 Nov 2004, Almighty Tallest Cataboligne wrote:

> You have been chosen as one of the elite "Invaders"...good for you.
>
> As part of "Operation Impending Doom II" a new conquest server has
> been linked with some special planets to explore:
>
> Irken Conquest
> tamqfl1-ar6-4-62-209-034.tamqfl1.dsl-verizon.net:41701
>   (yuk, can this be set to IP address only?)

 	Of course :) Pass the preferred name or IP address to conquestd 
using '-N', as in '-N 1.2.3.4'.  It will show up on the metaserver as 
that.

> Refit Vacant KillBots SwitchTeam

 	No SlingShot eh? :)

> Version 8.0.1n 11/19/2004
>  (previous versions didnt allow proper planet visibility...I think
> prev 8.0.1 clients will be ok, but I'm not sure about that)

 	Actually, no versions will properly pick these up, is was yet 
another oversight in the protocol (my humble apologies).  Attached is the 
(small) 8.0.1n patch that should be applied to 8.0.1m servers so these 
planets can be seen.  I'll make an official 8.0.1n (or 'o', if I fix more 
bugs) release available tonight.

>      Limbo       O    -     136              (was jinx...dumb name)

 	Hey!  It's part of Conquest history :)

>      Blorch      M    G     196

 	Hehe... I assume you know that GOD planets are undefeatable...

>      Foodcourtia D    -     100

LOL


> Your assignment is:  Blorch - "home of the slaughtering rat people."
> Except for Jon, his assignment is Vort, "home of the Universe's most
> comfortable couch."

 	Thanks. I'll avoid trying to bomb it though.


-- 
Jon Trulson    mailto:jon at radscan.com
ID: 1A9A2B09, FP: C23F328A721264E7 B6188192EC733962
PGP keys at http://radscan.com/~jon/PGPKeys.txt
#include <std/disclaimer.h>
"I am Nomad." -Nomad
-------------- next part --------------
Index: client.c
===================================================================
RCS file: /home/jon/src/repository/conquest/client.c,v
retrieving revision 1.10
diff -c -r1.10 client.c
*** client.c	2004/11/14 22:34:04	1.10
--- client.c	2004/11/20 05:29:25
***************
*** 390,395 ****
--- 390,409 ----
    if (Context.recmode == RECMODE_ON)
      recordWriteEvent(buf);
  
+   /* in protocol 6, we 'forgot' planet realness.  To avoid breaking
+      protocol again, and allow unpatched clients and/or servers to
+      work we check to see if SPPLANETINFO_FLAGS_FVALID is set.  If so,
+      _then_ we pay attn to any other flags present. Else we ignore
+      them. */
+   if (splaninfo->flags & SPPLANETINFO_FLAGS_FVALID)
+     {                           /* we have valid flags */
+ 
+       if (splaninfo->flags & SPPLANETINFO_FLAGS_REAL)
+         Planets[pnum].real = TRUE;
+       else
+         Planets[pnum].real = FALSE;
+     }
+ 
    Planets[pnum].primary = primary;
    Planets[pnum].orbrad = (real)((real)((Unsgn32)ntohl(splaninfo->orbrad)) / 10.0);
    Planets[pnum].orbvel = (real)((real)((Sgn32)ntohl(splaninfo->orbvel)) / 100.0);
Index: protocol.h
===================================================================
RCS file: /home/jon/src/repository/conquest/protocol.h,v
retrieving revision 1.9
diff -c -r1.9 protocol.h
*** protocol.h	2004/10/23 00:19:31	1.9
--- protocol.h	2004/11/20 05:31:52
***************
*** 278,288 ****
  
  } spPlanetLoc2_t;
  
  typedef struct _sp_planetinfo {
    Unsgn8 type;			/* SP_PLANETINFO */
    Unsgn8 pnum;			/* planet number */
    Unsgn8 primary;
!   Unsgn8 pad1;
  
    Unsgn32 orbrad;               /* x10 */
  
--- 278,293 ----
  
  } spPlanetLoc2_t;
  
+ 
+ #define SPPLANETINFO_FLAGS_NONE       0x00
+ #define SPPLANETINFO_FLAGS_FVALID     0x01 /* flags are valid */
+ #define SPPLANETINFO_FLAGS_REAL       0x02 /* planet is real (visible) */
+ 
  typedef struct _sp_planetinfo {
    Unsgn8 type;			/* SP_PLANETINFO */
    Unsgn8 pnum;			/* planet number */
    Unsgn8 primary;
!   Unsgn8 flags;
  
    Unsgn32 orbrad;               /* x10 */
  
Index: serverpkt.c
===================================================================
RCS file: /home/jon/src/repository/conquest/serverpkt.c,v
retrieving revision 1.6
diff -c -r1.6 serverpkt.c
*** serverpkt.c	2004/08/09 00:45:37	1.6
--- serverpkt.c	2004/11/20 05:39:18
***************
*** 994,1001 ****
--- 994,1007 ----
  
    memset((void *)&splaninfo, 0, sizeof(spPlanetInfo_t));
  
+   splaninfo.flags = SPPLANETINFO_FLAGS_FVALID;
+ 
    splaninfo.type = SP_PLANETINFO;
    splaninfo.pnum = pnum;
+ 
+   if (Planets[pnum].real)
+     splaninfo.flags |= SPPLANETINFO_FLAGS_REAL;
+ 
    splaninfo.primary = (Unsgn8)Planets[pnum].primary;
  
    splaninfo.orbrad = (Unsgn32)htonl((Unsgn32)(Planets[pnum].orbrad * 10.0));
Index: version.c
===================================================================
RCS file: /home/jon/src/repository/conquest/version.c,v
retrieving revision 1.54
diff -c -r1.54 version.c
*** version.c	2004/11/14 22:34:04	1.54
--- version.c	2004/11/20 05:23:09
***************
*** 9,15 ****
   ***********************************************************************/
  
  const char *ConquestId = "$Id: version.c,v 1.54 2004/11/14 22:34:04 jon Exp $";
! const char *ConquestVersion = "Version 8.0.1m";
! const char *ConquestDate = "11/14/2004";
  
  /* That's it! */
--- 9,15 ----
   ***********************************************************************/
  
  const char *ConquestId = "$Id: version.c,v 1.54 2004/11/14 22:34:04 jon Exp $";
! const char *ConquestVersion = "Version 8.0.1n";
! const char *ConquestDate = "11/19/2004";
  
  /* That's it! */


More information about the Conquest mailing list