Vanilla List Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [VANILLA-LIST:2806] max players
On Wed, 5 Jan 2000, Carlos Y. Villalpando wrote:
> Quoting Trent Piepho <xyzzy@speakeasy.org>:
> > The paradise client can change maxplayers at run time, depending on
> > whether it logs into a paradise (32), or bronco (20) server, or from
> > a "game parameter" packet.
>
> Actually, out of curiosity, what's the format of the game parameter
> packet?
This is the structure from the paradise header file. There are several (8)
subtypes of game parameter packets, subtype 0 is the one that sets sizes like
maxplayers. Some of the fields aren't relevant to to the bronco server
(thingies), while the galaxy width and flags are even ignored by the paradise
client. I think the nranks refers to paradise ranks and doesn't effect bronco
ranks. I'm not sure when exactly it is sent to the client, ie before login,
after login, etc.
struct gp_sizes_spacket {
INT8 type;
INT8 subtype; /* =0 */
CARD8 nplayers;
CARD8 nteams; /* max of 8 */
CARD8 nshiptypes;
CARD8 nranks; /* number of ranks */
CARD8 nroyal; /* number of royalties */
CARD8 nphasers;
CARD8 ntorps;
CARD8 nplasmas;
CARD8 nthingies; /* per-player */
CARD8 gthingies; /* auxiliary thingies */
CARD32 gwidth; /* galaxy width */
/* 16 bytes */
CARD32 flags; /* some game parameter flags */
#define GP_WRAPVERT (1<<0)
#define GP_WRAPHORIZ (1<<1)
#define GP_WRAPALL (GP_WRAPVERT|GP_WRAPHORIZ)
/*
The following bytes are room for growth. The size of this packet is
unimportant because it only gets sent once. hopefully we've got
plenty of room.
*/
INT32 ext1; /* maybe more flags? */
INT32 ext2;
INT32 ext3;
/* 32 bytes */
INT32 ext4;
INT32 ext5;
INT32 ext6;
INT32 ext7;
INT32 ext8;
INT32 ext9;
INT32 ext10;
INT32 ext11; /* 16 ints, 64 bytes */
};