Multijoueur

Widelands peut être joué sur un réseau local ou sur Internet. Cette fonctionnalité est conçue pour les jeux à plusieurs joueurs, mais peut être utilisée pour toute autre configuration de joueurs (même les jeux avec IA uniquement).

## Menu

Le menu multijoueur contient deux boutons :

* Jeu sur Internet, où vous pouvez vous connecter au lobby du métaserveur et héberger une partie ouverte aux joueurs du monde entier
* LAN / Direct IP, où vous pouvez trouver des jeux définis en local, vous connecter avec une adresse IP connue et héberger ces jeux

## Connectez-vous au lobby du métaserveur

Cette fenêtre collectera les informations nécessaires pour vous connecter à votre compte personnel. Un pseudo est nécessaire et ce sera votre nom dans le hall. Si le nom est déjà pris (quelqu'un est connecté ou le nom est le même que celui de l'utilisateur enregistré sur le site Widelands), un simple numéro sera ajouté à la fin du pseudo. Par exemple, si vous souhaitez vous connecter sous *myNick* et qu'il y a déjà un joueur portant le même nom, vous obtiendrez le nom *myNick1* . Le prochain joueur avec les mêmes journaux recevra le nom *myNick2* .

Le mot de passe n'est requis que lorsque vous souhaitez vous connecter en tant qu'utilisateur enregistré.

Pour le définir, accédez à votre page de profil et sélectionnez l' onglet Mot de passe de jeu . Là, vous pouvez définir un mot de passe qui sera utilisé uniquement pour les jeux. Entrez ce mot de passe dans Widelands et vous pourrez utiliser votre nom de forum. Le mot de passe est stocké avec le cryptage sha1. Le mot de passe n'est pas stocké en texte brut ; nous avons déjà modifié ce texte trompeur dans le coffre. Seul un hachage est stocké et transmis au serveur.

Cocher *Se connecter à un compte enregistré* entraînera la connexion en tant qu'utilisateur enregistré. Ne le cochez pas si vous n'avez pas encore généré de mot de passe. L'utilisateur enregistré n'est pas nécessaire pour héberger ou rejoindre un jeu !

*Utilisez désormais automatiquement ces informations de connexion.* peut être une option utile pour la plupart des joueurs. Cette fenêtre sera masquée à l'avenir et après avoir cliqué sur *le jeu Internet* dans le menu multijoueur, vous vous connecterez directement au lobby sans autre question. Après avoir accepté cette option, bouton vert sera affiché dans le menu multijoueur. Après avoir cliqué dessus, vous aurez la possibilité de modifier quoi que ce soit concernant le pseudo, le mot de passe ou d'autres options de connexion.

## Lobby du métaserveur

Cette partie d'un menu est directement connectée via Internet au serveur Widelands. L'interface utilisateur est divisée en quelques parties :

* liste des joueurs
* discussion sur le métaserveur
* liste des jeux
* menu pour héberger un jeu

### Liste des joueurs

Cette partie contient une liste de tous les utilisateurs connectés. Les noms sont précédés d'un panneau coloré (utilisé comme indicateur de pentes routières dans le jeu). Le rouge signifie que le joueur n’est pas du tout enregistré. Le jaune est pour la norme, enregistrée par les utilisateurs du site Widelands. Les verts sont utilisés uniquement pour les administrateurs Widelands.

La liste contient *une section Points* qui est controversée à plusieurs égards. Le forum contient quelques idées (par exemple ici ), mais il n'y a pas eu de consensus clair à ce sujet. En théorie, tous les joueurs auront la possibilité de marquer des points dans leurs parties. Le nombre de points montrera la force du joueur. Actuellement, nous ne savons pas comment résoudre tous les problèmes liés.

La liste contient également *la position du jeu* , qui indique qui joue actuellement et quel jeu (dans la liste des jeux). Si quelqu'un est connecté à un jeu, il ne peut ni lire ni écrire quoi que ce soit sur le chat du métaserveur.

### Discussion sur le métaserveur

Cette partie est un simple chat qui permet aux joueurs de communiquer. Les messages du métaserveur sont également envoyés ici. Le premier message concerne la connexion :

```
*** Server offset is X seconds

```

Ceci n'est qu'une pure information. un décalage de 0 seconde signifie une synchronisation parfaite de l'heure entre vos horloges et celles du métaserveur. Un décalage important (par exemple 3 600 secondes) signifie généralement que vous avez un fuseau horaire différent. L'horloge du métaserveur est synchronisée avec l'heure d'Europe centrale (CET ou CEST).

D'autres messages ici visent à informer les joueurs sur des événements récents ou d'autres informations. Le texte standard est :

```
*** For hosting a game, please take a look at the notes at:
*** http://wl.widelands.org/wiki/InternetGaming

```

**Rédaction de messages**

Il existe deux types de messages :

* général, qui sont lisibles par tous les utilisateurs
* personnels, qui ne sont lisibles que par un destinataire et un expéditeur spécifiques

Pour rédiger un message général, vous pouvez taper n'importe quoi sur la ligne en bas. J'apparaîtrai dans une dernière ligne dans la fenêtre de discussion. Pour rédiger un message personnel, précédez `@Nickname`le texte et il ne sera envoyé qu’à un seul destinataire. Il est également possible de choisir une personne dans la liste des joueurs, de double-cliquer sur le nom, puis la syntaxe correcte sera fournie dans la ligne du bas. Tous les messages privés sont marqués et si vous envoyez un message comme :

```
@yourNick My message to you!

```

Tu verras:

```
myNick @ yourNick: My message to you!

```

Il est également possible d'ajouter votre nom au début du message. Si vous écrivez :

```
/me is writing

```

Il sera remplacé par :

```
yourNick is writing

```

**Bip sonore**

Pendant un certain temps, tous les messages envoyés dans le chat sont également signalés par un court bip. Vous pouvez maintenant attendre les autres joueurs et laisser la fenêtre Widelands en arrière-plan. Quand quelqu'un vous demandera quelque chose, vous entendrez un signal.

**canal IRC**

Le canal IRC (#widelands, discutez ici ) est également connecté au chat du métaserveur. Tous les messages qui y sont envoyés sont affichés dans la fenêtre de discussion et tous les messages envoyés par les joueurs sont affichés aux clients IRC.

### Liste des jeux

Cette partie de la mise en page contient tous les jeux disponibles sur le métaserveur. Il existe trois principaux types de jeux et tous sont indiqués par des marques spéciales :

Cette marque signifie que le jeu est correctement connecté au métaserveur et que vous devriez pouvoir vous connecter au jeu.

Cette marque signifie que le jeu est correctement connecté au métaserveur, mais que la version Widelands est différente de la vôtre. En fonction des évolutions entre les versions, il est possible ou non de connecter l'hébergeur et de jouer au jeu.

Cette marque signifie que l'hôte ne peut pas rejoindre. Il y a deux raisons principales à cela : le jeu est déjà démarré (il n'y a aucune chance de rejoindre le jeu en cours) ou l'hôte n'est pas connecté au métaserveur (il n'y a aucune chance de rejoindre un hôte inaccessible).

**Problèmes possibles**

1. **Impossible de rejoindre une partie ouverte (bouton vert).** Certains programmes antivirus arrêtent toute connexion extérieure (sauf les protocoles et ports standard). Lorsque vous essayez de rejoindre un hôte doté d'un tel antivirus, votre jeu Widelands attendra un (long) temps, enverra un message d'avertissement et plantera probablement. Du point de vue de l'hôte, un joueur rejoindra et quittera soudainement le serveur hébergé. Il devrait y avoir un message indiquant que le joueur a voulu rejoindre, mais il a échoué. Pour éviter une telle situation, un programme antivirus doit être configuré pour permettre aux personnes de rejoindre le serveur. Si vous n'êtes pas expérimenté avec la configuration avancée, il est également possible de désactiver temporairement l'antivirus, puis d'attendre les participants qui souhaitent jouer et, après leur inscription, d'activer l'antivirus. Cela devrait fonctionner aussi.
2. **Impossible de rejoindre le serveur avec "?" signe.** Utiliser différentes versions de Wildelands est toujours un risque. La plupart du temps, cela fonctionne bien si le numéro de version est presque le même. (Nous parlons de versions de développement, pas de versions publiées .) Mais parfois entre les builds, il y a des changements dans le code qui ne permettent pas de jouer dans les mêmes conditions. Les problèmes les plus courants concernaient des fichiers ou des scripts manquants (dans les anciens, certains fichiers n'existaient pas, alors que les plus récents en avaient). Certains changements qui diffèrent du gameplay (pas de l'interface utilisateur !) peuvent être détectés juste après le démarrage du jeu, puis un message de désynchronisation est envoyé et le joueur est expulsé (voir ci-dessous ).

### Menu pour héberger un jeu

Ce menu est très simple : vous pouvez taper le nom du serveur/jeu que vous souhaitez héberger, puis appuyer sur le bouton «  *ouvrir un nouveau jeu*  ». Après cela, vous devriez pouvoir choisir une carte et des joueurs, comme en mode solo avec quelques ajouts.

**Bug/fonctionnalité**

Le nom du jeu peut contenir uniquement des espaces ou peut même être une chaîne vide. Le nom sera toujours valable. Mais pour les joueurs (humains), la *position de Jeu* sera méconnaissable des joueurs libres. Par accident, vous pouvez écrire à quelqu'un qui joue déjà. C'est pourquoi vous devez donner des *noms lisibles* aux jeux.

## Configuration du jeu multijoueur

Cette partie contient quelques parties :

* liste de clients
* liste des joueurs
* détails de la carte
* conditions de victoire
* chat en jeu

### liste de clients

La liste des clients contient le nom de tous les clients et leur rôle dans le jeu futur. Le rôle peut être :

Cela signifie que le client est un spectateur. Il ou elle peut voir toute la carte et les joueurs autour sans brouillard de guerre.

Cela signifie que le client est un joueur et qu'il sera répertorié dans la liste des joueurs.

### liste des joueurs

C'est l'endroit où vous pouvez voir tous les joueurs qui jouent. Les joueurs IA sont marqués comme un visage sur un écran, les joueurs humains sont marqués comme une icône de personne. Les emblèmes des tribus indiquent la tribu que le joueur jouera. Toutes les propriétés sont similaires à la fenêtre de démarrage du jeu solo .

### détails de la carte

Les détails de la carte expliquent quel type de carte et quelles conditions de victoire sont utilisés dans le jeu. Une petite icône de carte vous amène à la fenêtre de choix de la carte. Si vous ne choisissez pas celui-ci lors de l'hébergement du jeu, vous pouvez le faire à tout moment.

Vous pouvez choisir n'importe laquelle des parties multijoueurs enregistrées ou commencer de manière nouvelle avec n'importe quelle carte que vous avez dans les répertoires appropriés de Widelands. Si un joueur n'a pas de carte que vous avez sélectionnée, la carte sera transférée via le jeu Widelands lui-même. De plus, toutes les parties sauvegardées sélectionnées seront également transférées. La transmission est peer to peer (votre ordinateur est connecté directement à un autre) et les fichiers sont généralement divisés en parties plus petites. La progression de l'envoi des fichiers est affichée sur la fenêtre de discussion avec les messages appropriés.

### conditions de victoire

Comme c'est le cas en mode solo , vous pouvez choisir les conditions de gain entre une liste donnée en cliquant sur un bouton sous *Type de* titre de jeu.

### chat en jeu

Il s'agit d'une partie très similaire au chat du métaserveur , mais vous devez vous rappeler qu'il existe quelques différences :

* le chat est complètement indépendant du chat du métaserveur (vous ne pouvez écrire qu'à toute personne connectée au métaserveur et vous ne pouvez pas lire ses messages),
* le chat colore les noms des joueurs en fonction de leur position,
* le spectateur est coloré en gris,
* tous les messages seront également lisibles sur le chat en jeu (le chat restera tel quel)

### message d'absence de connexion

Si vous n'avez pas de connexion claire avec Metaserver, le jeu générera une erreur visible dans le chat :

```
*** METASERVER: ERROR: The metaserver was unable to connect to your game. Most likely it can't be connected to from the internet! Please take a look at [[ InternetGaming ]] to lear how to set up your internet connection for hosting a game online.

```

### message de mauvaise version

Si le joueur dispose d'une version trop ancienne (ou trop nouvelle) de Widelands et que les connexions échouent, les messages sont similaires à ceux ci-dessous :

```
*** WARNING: nickName uses version: bzrXXXX[trunk], while Host uses version: bzrYYYY[trunk]
*** nickName has joined the game
*** nickName has left the game (Something went wrong: [/build/path/to/a/file/script.h:99] The script 'something:path/to/a/script was not found!)

```

Après ce nom de client `\<free\>`sans rôle est visible sur la liste des clients

## Jeu multijoueur

Lorsque vous démarrez le jeu et que vous ouvrez le chat en jeu ( **Entrer** ), la fenêtre peut ressembler à ci-dessous :

Comme vous pouvez le voir, il ressemble beaucoup au mode solo. Il y a quelques différences mineures.

### Menu du bas

Le menu inférieur du jeu standard est presque le même que celui du mode solo. La seule exception est que vous pouvez y ouvrir un chat multijoueur en jeu. La fenêtre apparaît également après avoir appuyé sur **Entrée** .

## Jouer sur un réseau local (LAN)

Avant de démarrer une partie LAN, assurez-vous que votre pare-feu autorise l'accès aux ports 7394, 7395 et 7396. Ensuite, démarrez Widelands, allez dans le menu multijoueur - vous pouvez maintenant changer votre nom ici -, cliquez sur "héberger une nouvelle partie" et sélectionnez une carte que vous souhaitez jouer. Après avoir cliqué sur OK, il vous suffit d'attendre que les autres joueurs vous rejoignent

Tous les autres clients connectés au réseau devraient maintenant trouver le serveur et le répertorier, dès que ces personnes entrent dans le menu multijoueur.

Lorsque tous les joueurs sont prêts, cliquez simplement sur "Démarrer la partie".

## Jouer sur Internet

Widelands propose des jeux Internet via notre métaserveur. L'interface utilisateur devrait facilement vous guider à travers les étapes d'ouverture d'un jeu.

Alternativement, vous pouvez utiliser le menu du jeu LAN et ouvrir un serveur (en tant qu'hôte) ou saisir manuellement l'adresse IP du serveur ouvert (en tant que client).

## Messages de désynchronisation

Les "désynchronisations" sont des bugs qui surviennent lorsque l'hôte et le client ne sont plus synchronisés. Bien sûr, il peut encore y avoir des bugs dans le code Widelands qui conduisent à de telles désynchronisations, mais dans la plupart des cas connus, le problème est basé sur différentes versions de Widelands.

Si vous obtenez plusieurs désynchronisations tout le temps au début du jeu, il y a effectivement un problème avec les versions de Widelands utilisées. Si le serveur et le client utilisent la même version, assurez-vous qu'aucune autre version plus ancienne de Widelands ou de données Widelands plus anciennes n'est installée sur votre système (par exemple, vous avez installé une version plus récente sur une ancienne sous Windows / vous avez installé différentes versions de Widelands). via apt-get/rpm) Seulement si le serveur et le client ont absolument la même version et les mêmes données, vous pouvez être sûr d'avoir un minimum de risque de désynchronisation.