[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