A couple of things I’ve noticed when doing some testing on what happens when a player joins an online game whilst the first player is still in the “choose a side” dialogue.
The second player’s game will display the main map, but no pieces get placed.
StartUp GKCs with " On First Game Launch/Load Of Session" or “At Start Of Every Fresh Game Only” (surprisingly to me) will execute for the second player; but because there are no pieces, no further logic is executed (thankfully).
When the 1st player selects a side and exits the dialogue, that player gets the map and all expected pieces, and the “one time” startup GKCs both execute correctly.
The second player’s map remains empty. That player must re-synchronise to the first player, or to some other player who joins the game afterwards.
The obvious solution to this race condition is that the person starting an online game should do so in isolation from other players. This can be guaranteed by opening the game before going online and creating a room.
I have a feeling this can’t be fixed but I mention it in case the specific Startup GKC or Map issue can be better handled by Vassal.