Looking at Gytha's __init__.py which contains a paste of the protocol definition; SP_PSTATUS, indicates PDEAD state client animates explosion SP_PSTATUS, indicates POUTFIT state clients returns to team selection window Looking at Gytha's PhaseFlight class, the event loop exits on POUTFIT "# no longer flying". Looking at Gytha's nt_play_a_slot "keep playing on a server, until user chooses a quit option, or a list option to return to the server list", play continues until POUTFIT. On Thu, Jul 16, 2020 at 01:55:03PM -0700, Darrell Root wrote: > Netrek-dev, > > My Swift Netrek server has a compatibility problem with COW and Windows > clients. > > When a person dies, the clients do not pop up the “choose team” screen. So > people have to disconnect to respawn. > The clients also do not show the “you were killed by [WEAPON] from [PLAYER] > message when connected to my server. > > What message/flag sent from the server triggers that window / message? > > I was assuming it was the whydead and whodead fields in the SP_YOU, but so far > I haven’t been able to get it working. > > Here’s a sequence of SP_YOU messages from [1]pickled.netrek.org. These can be > assumed to be correct. I’ve put the death and respan in BOLD > > "Received SP_YOU 12 1 hostile 13 war 0 armies 0 tractor 0 flags 33562624 damage > 64 shieldStrength 100 fuel 10000 engineTemp 0 weaponsTemp 0 whyDead 0 whodead > 6" > "Received SP_YOU 12 1 hostile 13 war 0 armies 0 tractor 0 flags 33562624 damage > 103 shieldStrength 100 fuel 10000 engineTemp 0 weaponsTemp 0 whyDead 2 whodead > 6" > "Received SP_YOU 12 1 hostile 13 war 0 armies 0 tractor 0 flags 33562624 damage > 103 shieldStrength 100 fuel 9980 engineTemp 5 weaponsTemp 0 whyDead 2 whodead > 6" > "Received SP_YOU 12 1 hostile 13 war 0 armies 0 tractor 0 flags 33562624 damage > 103 shieldStrength 100 fuel 9960 engineTemp 10 weaponsTemp 0 whyDead 2 whodead > 6" > "Received SP_YOU 12 1 hostile 13 war 0 armies 0 tractor 0 flags 33562624 damage > 103 shieldStrength 100 fuel 9940 engineTemp 15 weaponsTemp 0 whyDead 2 whodead > 6" > "Received SP_YOU 12 1 hostile 13 war 0 armies 0 tractor 0 flags 33562624 damage > 103 shieldStrength 100 fuel 9924 engineTemp 19 weaponsTemp 0 whyDead 2 whodead > 6" > "Received SP_YOU 12 1 hostile 13 war 0 armies 0 tractor 0 flags 33562624 damage > 103 shieldStrength 100 fuel 9908 engineTemp 23 weaponsTemp 0 whyDead 2 whodead > 6" > "Received SP_YOU 12 1 hostile 13 war 0 armies 0 tractor 0 flags 33562624 damage > 103 shieldStrength 100 fuel 9892 engineTemp 27 weaponsTemp 0 whyDead 2 whodead > 6" > "Received SP_YOU 12 1 hostile 13 war 0 armies 0 tractor 0 flags 33562624 damage > 103 shieldStrength 100 fuel 9876 engineTemp 31 weaponsTemp 0 whyDead 2 whodead > 6" > "Received SP_YOU 12 1 hostile 13 war 0 armies 0 tractor 0 flags 33562624 damage > 103 shieldStrength 100 fuel 9860 engineTemp 35 weaponsTemp 0 whyDead 2 whodead > 6" > "Received SP_YOU 12 1 hostile 13 war 0 armies 0 tractor 0 flags 33562624 damage > 103 shieldStrength 100 fuel 9848 engineTemp 38 weaponsTemp 0 whyDead 2 whodead > 6" > "Received SP_YOU 12 1 hostile 13 war 0 armies 0 tractor 0 flags 33562624 damage > 103 shieldStrength 100 fuel 9836 engineTemp 41 weaponsTemp 0 whyDead 2 whodead > 6" > "Received SP_YOU 12 1 hostile 13 war 0 armies 0 tractor 0 flags 2049 damage > 0 shieldStrength 100 fuel 10000 engineTemp 0 weaponsTemp 0 whyDead 2 whodead 6" > "Received SP_YOU 12 1 hostile 13 war 0 armies 0 tractor 0 flags 33556481 damage > 0 shieldStrength 100 fuel 10000 engineTemp 0 weaponsTemp 0 whyDead 2 whodead 6” > > Here’s a sequence of SP_YOU messages from [2]netrek.networkmom.net. > > "Received SP_YOU 12 16 hostile 14 war 14 armies 0 tractor 0 flags 2048 damage > 78 shieldStrength 100 fuel 9460 engineTemp 5 weaponsTemp 0 whyDead 0 whodead 0" > "Received SP_YOU 12 16 hostile 14 war 14 armies 0 tractor 0 flags 2048 damage > 118 shieldStrength 100 fuel 9460 engineTemp 5 weaponsTemp 0 whyDead 2 whodead > 0" > "Received SP_YOU 12 16 hostile 14 war 14 armies 0 tractor 0 flags 2048 damage > 118 shieldStrength 100 fuel 9460 engineTemp 5 weaponsTemp 0 whyDead 2 whodead > 0" > "Received SP_YOU 12 16 hostile 14 war 14 armies 0 tractor 0 flags 2048 damage > 118 shieldStrength 100 fuel 9460 engineTemp 5 weaponsTemp 0 whyDead 2 whodead > 0” > > …large number of identical messages deleted… > > "Received SP_YOU 12 16 hostile 14 war 14 armies 0 tractor 0 flags 2048 damage > 118 shieldStrength 100 fuel 9460 engineTemp 5 weaponsTemp 0 whyDead 2 whodead > 0" > "Received SP_YOU 12 16 hostile 14 war 14 armies 0 tractor 0 flags 2048 damage > 118 shieldStrength 100 fuel 9460 engineTemp 5 weaponsTemp 0 whyDead 2 whodead > 0" > "Received SP_YOU 12 16 hostile 14 war 14 armies 0 tractor 0 flags 2048 damage 0 > shieldStrength 100 fuel 10000 engineTemp 0 weaponsTemp 0 whyDead 0 whodead 0” > > (Looks like I need to fix whodead, but 0 is valid so I don’t think that’s the > cause). > > Could it be PFREFIT? > > For reference, here’s the p_flags fields. While my current implementation is > missing red/yellow/green, I don’t see anything relevant. > > /* bit masks of p_flags */ > #define PFSHIELD 0x0001 /*!< shields are up */ > #define PFREPAIR 0x0002 /*!< repairing damage or shields */ > #define PFBOMB 0x0004 /*!< bombing planet while orbiting */ > #define PFORBIT 0x0008 /*!< orbiting planet p_planet */ > #define PFCLOAK 0x0010 > #define PFWEP 0x0020 > #define PFENG 0x0040 > #define PFROBOT 0x0080 > #define PFBEAMUP 0x0100 > #define PFBEAMDOWN 0x0200 > #define PFSELFDEST 0x0400 > #define PFGREEN 0x0800 > #define PFYELLOW 0x1000 > #define PFRED 0x2000 > #define PFPLOCK 0x4000 /* Locked on a player */ > #define PFPLLOCK 0x8000 /* Locked on a planet */ > #define PFCOPILOT 0x10000 /* Allow copilots */ > #define PFWAR 0x20000 /* computer reprogramming for war */ > #define PFPRACTR 0x40000 /* practice type robot (no kills) */ > #define PFDOCK 0x80000 /*!< docked to a base, p_dock_with valid */ > #define PFREFIT 0x100000 /* true if about to refit */ > #define PFREFITTING 0x200000 /* true if currently refitting */ > #define PFTRACT 0x400000 /* tractor beam activated */ > #define PFPRESS 0x800000 /* pressor beam activated */ > #define PFDOCKOK 0x1000000 /* docking permission */ > #define PFSEEN 0x2000000 /* seen by enemy on galactic map? */ > /*#define PFCYBORG 0x4000000 a cyborg? 7/27/91 TC */ > #define PFOBSERV 0x8000000 /* for observers */ > #define PFTWARP 0x40000000 /* isae -- SB transwarp */ > > References: > > [1] http://pickled.netrek.org/ > [2] http://netrek.networkmom.net/ > _______________________________________________ > netrek-dev mailing list > netrek-dev at us.netrek.org > http://mailman.us.netrek.org/mailman/listinfo/netrek-dev -- James Cameron http://quozl.netrek.org/