You handle this the same way you handle everything else multiplayer:
Enumerate all the possible actions involved in the task.
Decide who and when to send messages representing such actions.
Decide what to do when receiving messages representing such actions.
For example, the actions may include:
Select character (client sends this to the host)
Character selection confirmed/denied (the host sends this back to all clients)
When any user selects a character, they send the first kind of message to the host, and waits for confirmation. Then if the host determines that nobody else has selected the same character, respond with a confirmation containing the character and the user, otherwise respond with a denial. And when a client receives a confirmation, they set that user's character to the specified character.
Don't expect any concrete examples for what you're asking for, especially given the version you're using. You have to sort it out yourself. And while you're at it, learn the relationship between correspondence chess and online multiplayer.
One thing that I now demand of all networking novices is an understanding of procedures in correspondence chess, even if they don't all play chess. That's the closest physical analogue of how actual multiplayer games work, and it stops dead most rookie myths about multiplayer games.
The connection is not a shared board between the players on a table, it's just the mailman in a correspondence game.
Nothing happens on your board until you act upon mail sent out by your opponent.
Nothing happens on your opponent's board until you send him/her mail stating what your move is.
For the same reason you can't use chess notation in backgammon, bridge or StarCraft, you have to tailor the form and notation to the game.