En fait ce qu'on appelle "serveur" est juste le programme communiquant lancé en premier, et qui s'occupe de centraliser les données entre les différents clients (réseau en étoile). Il te faut le programmer toi-même, et le lancer sur un PC.
Ensuite, tu te connectes dessus via les clients en entrant son adresse IP (127.0.0.1 si tu le teste en local, sur le même PC que les clients).
Du coup, il te faut connaître d'office l'IP et le port du serveur, par contre lorsque le serveur reçoit une demande d'ouverture de socket de la part d'un client, l'IP et le port du client sont transmis dans la foulée pour permettre la réponse.
Un serveur, qu lancement, ouvre un socket appelé "socket d'écoute" sur un port défini. Quand un client se connecte sur ce socket, il faut créer un socket de gestion client, le connecter au client en retour, et déconnecter le client du socket d'écoute pour permettre aux clients suivants de s'y connecter à leur tour.
En POO, on utilise généralement des objets "image client", qui sont créés par le serveur et s'occupent d'un seul client. Chacun possède le socket correspondant à son client, et tous sont exécutés en parallèle du serveur (qui lui n'a plus que la fonction d'écoute/spawn d'images).