Hi Darrell,

I deleted your original message with team selection question, so replying 
in this one.

>Question 2:
>
>I’m having trouble with the “picking team” logic in my netrek client.
>
>The server sends an SP_MASK packet:
>struct mask_spacket { /* SP_MASK py-struct "!bbxx" #19 */
>    char type;
>    char mask;
>    char pad1;
>    char pad2;
>};
>Here’s what the currently online servers send:
>continuum.us.netrek.org <http://continuum.us.netrek.org/> sends mask = 15 
>(fed + rom + kli + ori)
>netrek.beesenterprises.com <http://netrek.beesenterprises.com/> sends 
>mask = 3  (fed + rom)
>pickled.netrek.org <http://pickled.netrek.org/> sends mask = 2 (rom)
>

So this one is pretty simple, each server sends current allowed teams as 
bitmap.

I can also confirm that I get same values (that's what I have as allowed
teams in selection tiles)

>Then the client sends a CP_OUTFIT packet:
>struct outfit_cpacket { /* CP_OUTFIT py-struct "!bbbx" #9 */
>    char type;
>    char team;
>    char ship;
>    char pad1;
>};
>It looks like the “Team” has to be an integer between 0 and 3 inclusive:
>netrek-server-vanilla/ntserv/getentry.c:
>            if (teamPick < 0 || teamPick > 3) {
>                new_warning(UNDEF,"Get real!");
>                sendPickokPacket(0);
>                teamPick= -1;
>                continue;
>            }
>

So after reading netrekxpmod sources I can see that team selection is 
based on teams numerical order:

0 - FED
1 - ROM
2 - KLI
3 - ORI

You send CP_OUTFIT that contains your desired team and ship type.

In response you should expect SP_PICKOK packet with either 1 (approved) or 
0 (rejected)

>On beesenterprises.com <http://beesenterprises.com/>, when I send team = 0 
>I end up rom.  Anything else I am rejected.
>On pickled.netrek.org <http://pickled.netrek.org/> when I send team = 0 I 
>end up rom. Anything else I am rejected. 
>On continuum.us.netrek.org <http://continuum.us.netrek.org/>, when I send 
>team = 0, I end up rom.  Anything else I am rejected.
>

So here you'll have to expand on what do you mean by "I end up rom or get 
rejected".
If you send 0 as team you're supposed to become federation player, not 
romulan
Also I would suggest running your own vanilla server which will allow you
enabling debugging and actually seeing what's wrong. That's the way I used
to code the client

>Is there a way to select teams?  What does the team = 0 or 1 or 2 or 3 
>mean in the CP_OUTFIT packet?
>
>I have a pulldown menu with the “preferred team”, but it doesn’t work the 
>way a player would expect.
>
>Darrell

Hope this helps
Stas

On Fri, 29 Mar 2019, Darrell Root wrote:

> Date: Fri, 29 Mar 2019 17:33:51 -0700
> From: Darrell Root <darrellroot at mac.com>
> Reply-To: Netrek Development Mailing List <netrek-dev at us.netrek.org>
> To: Netrek Development Mailing List <netrek-dev at us.netrek.org>
> Subject: [netrek-dev] Mac Swift Netrek client v0.5 now available
> 
> netrek-dev folks,
> 
> I’m a week late, but my Mac Swift Netrek Client v0.5 is now available on https://networkmom.net/netrek/ <https://networkmom.net/netrek/>
> Direct binary link: https://networkmom.net/download/netrek-v0.5.app.zip <https://networkmom.net/download/netrek-v0.5.app.zip>
> This binary is scanned/notarized by Apple and my developer ID.
> 
> Updates too numerous to list.
> 
> My thanks to Andrew Sillers for his CP_Updates suggestion.  Idle users don’t get Ghostbusted on continuum.us.netrek.org <http://continuum.us.netrek.org/> any more.
> 
> I’m still stumped by team selection per my earlier email, and would appreciate any suggestions (preferably without implementing the “generic” packet type 32).
> 
> I have support for “basic tips” (in green) and “advanced tips” (in red) which cycle every 5 seconds when not playing (and can be turned off in preferences).  I’m happy to accept pointers to any “list of advanced tips” to further populate it.
> 
> Bug reports appreciated, but to avoid too much spam consider sending them only to me if they are not of general interest.
> 
> Darrell
> darrellroot AT mac.com <http://mac.com/>
> 
>