Add players to game upon request, allowing game start when ready
Check if maximum allowed is lower than entered

Not the other way around...
Do not send layoff actions through peerjs to the host

The host can manipulate the state of the stack and the layoff stack
directly
Pass the turn to the first joined player when the game is started
Show current layed of cards on the table