Startup GKC not working on Player Join

I have a Startup GKC that is set to fire “At Start of Fresh Game or Player Join/Side-Change”.
It fires on a fresh game or when a player changes sides, but it does not trigger when a player joins a game.
We have a workaround for this by having a player join as observer then switching sides.

I am using v3.7.15.

That sounds like a bug, of course. The Player Join/Change-Side feature is relatively new.

Prior to this I would replace the Player Retire with an Action Button that adds required before and after actions to the core Vassal Retire button. This might include calling the same actions that a Startup GKC calls. Maybe that route can offer you an alternative.

Not a bug but rather an interpretation issue. Perhaps an improved wording of the option might help. Although, I don’t have any suggestions to offer. When a player joins via the wizard, the GKC fires once and only once regardless of how many players join. This is consistent with the start of fresh game where there should only be one event.

Looking at the Vassal code, this particular Start GKC triggers from two places. First is from the wizard as already stated, the second is in response to the user clicking on the “Retire/Join” button with the subsequent selection of a new side. Hence the “workaround” mentioned by the original poster for detecting a player join.

Adding a separate Startup GKC for just player join, retire and switch sides would decouple this action from the “Start of Fresh Game” event. That would give the module designer the flexibility to use either the same or different GKCs for these disparate events. Then the “Player Join/Side-Change” could be reported from both the wizard and the “Retire/Join” button.