aoe2cm2 icon indicating copy to clipboard operation
aoe2cm2 copied to clipboard

Host/Guest and name selection timing issue

Open HSZemi opened this issue 4 years ago • 3 comments

When a player joins a draft, they are asked whether they want to be Host, Guest, or Spectator.

At that point, they technically joined the Draft as Spectator, but can upgrade to Host or Guest. Once somebody upgrades to Host or Guest, the option becomes unavailable to other users. If Host and Guest are present, further users automatically join the Draft as Spectators and do not have the option to upgrade.

After selecting Host or Guest, users are asked to set their name if they have not already done so. Only then do they try to upgrade to Host or Guest.

If another user upgrades to e.g. Host while the user who wants to upgrade to Host as well is still picking their name, the upgrade fails and the user silently stays a Spectator. That is unfortunate.

HSZemi avatar May 07 '20 09:05 HSZemi

~How about sharing a slightly different URL for spectators vs players? Any user landing on via the Player URL after both the Host and Guests have joined would silently join as a Spectator.~

We are now sharing separate URLs for Players and Spectators. Is this till an issue that is reported often?

lalitpatel avatar Jun 15 '20 08:06 lalitpatel

So far, I have received zero reports of that occurring.

HSZemi avatar Jun 15 '20 09:06 HSZemi

I found a somewhat related issue. I do not think this has happened yet but I feel it is a possibility.

For games that are live streamed by players, they often do the drafts on stream. There is often a delay between when one captain joins the draft and the other joins it (they send the link on discord and the other player might be afk or busy etc). During that time, one of the viewers of the stream can use the draft id and to join the draft as the Guest Captain before the actual captain joins the draft and there by hijacking the draft.

Possible solution:

Should append an auto generated hard to guess secret param to draft link that is shared to players so the viewers cannot use the draft id to guess the player's link and join the draft as a player.

Example:

https://aoe2cm.net/draft/kNOoJ?secret=HbuJPx
https://aoe2cm.net/spectate/kNOoJ

lalitpatel avatar Mar 08 '21 05:03 lalitpatel