Exécution des binaires

Au final, l'utilisateur devrait pouvoir lancer le jeu avec un binaire (./tbt) ou en cliquant (tbt.exe), et tout devrait se faire de manière transparente depuis l'interface graphique. Pour l'instant, c'est pas tout à fait ca, il reste encore des choses à faire à la main.

Le niveau débutant donne les manipulations minimales à faire pour lancer une partie classique :

  • 2 coachs humains sur la même machine
  • 1 programme serveur.
  • 2 programmes clients (console et/ou interface graphique).

Le niveau expert vous donne quelques indices pour changer un peu la configuration par défaut.

Level Rookie

Tout d'abord, récupérez, compilez et installez les sources comme décrit dans CompilationDeveloppeur.

Ensuite, copiez les 3 fichiers XML:

  • $prefix/share/stechec/bb5/default_config.xml
  • $prefix/share/stechec/bb5/team/amazon.xml
  • $prefix/share/stechec/bb5/formation/default.xml

dans le répertoire $prefix/bin ($prefix étant le répertoire que vous avez passé au --prefix au moment du ./configure).

Puis ouvrez au moins 3 consoles devant vous, dans chacune, lancez :

$ cd $prefix/bin
$ ./stechec_server default_config.xml
$ cd $prefix/bin
$ ./tbt_console
$ cd $prefix/bin
$ ./tbt_lightmenu

Normalement, une fenêtre SDL s'ouvre, des joueurs sont affichés, ... et vous pouvez jouer. Note : vous pouvez aussi lancer deux clients graphiques ./tbt_lightmenu ou deux clients textuels ./tbt_console. Il est tout de même conseillé d'utiliser au moins un client textuel, car les logs du client graphique ne sont pas assez détaillés.

Pour le client console, on a pas fait de doc dessus, mais il devrait être simple à utiliser. Pour avoir la liste des commandes disponibles, tapez help. Les autres commandes utiles sont end pour terminer le tour et repasser sur l'interface graphique, ainsi que kickoff et giveBall pour gerer le kick-off si c'est au client console de le faire. La plupart du temps, il vous proposera tout seul la liste des choix disponibles.

Level Expert

Fichier de configuration

À placer dans un fichier. Par défaut, les programmes recherchent, dans l'ordre, le nom de fichier fournit en premier argument de la ligne de commande (si il existe), puis le fichier tbtrc dans le répertoire courant, puis $HOME/.tbt/tbtrc en dernier recours.

Pour l'instant, il n'y a pas de valeur par défaut ni de vérification de validité des champs. Faites attention à ce que vous mettez, sinon ca risque de vous sauter à la tronche.

Note : Il existe pour le moment 3 fichiers xml différents. Un pour la configuration du client/serveur, un pour les équipes, et un pour le placement des joueurs sur le terrain. Vous pouvez trouver les dernières versions des fichiers xml dans le répertoire conf/, sur le svn. Pour les 2 derniers, vous pouvez aussi les générer avec le Teamroster 0.5 ou SNORE, à condition de les retoucher à la main après. Le fichier de configuration, quant à lui, ressemble à cela :

<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE config SYSTEM "file:///home/victor/work/tbt/local/share/stechec/config.dtd">

<config>

  <game>
    <nb_team>2</nb_team>
  </game>

  <client>
    <rules>bb5_client_rules</rules>
    <connect val="network" host="localhost" port="25151"
             game_uid="41" connect_on_startup="true" />
    <team>team.xml</team>
  </client>

  <client id="1">
    <mode spectator="false" />
    <debug verbose="3" printloc="false" />
  </client>

  <client id="2">
    <mode spectator="false" />
    <debug verbose="5" printloc="false" />
  </client>

  <server>
    <rules>bb5_arbiter</rules>
    <options persistent="true" start_game_timeout="30" />
    <listen port="25151" />
    <log enabled="false" file="match.log" />
    <nb_spectator>0</nb_spectator>
    <debug verbose="8" printloc="true" />
    <server_debug verbose="3" printloc="false" />
  </server>

</config>

  • mode: network pour que le client se connecte à un serveur, standalone pour jouer seul. Pour l'instant, laisser spectator a false.
  • connect: pour le jeu réseau, là ou doit se connecter le client. Comme un seul serveur peut héberger plusieurs parties, il est nécessaire de préciser quelle partie rejoindre (game_uid).
  • debug: plus verbose est élevé, plus le programme est... bavard... Si printloc est mis à true, les messages de debug seront préfixés par le nom du fichier et la ligne d'où vient le message. Voir si c'est utile.
  • listen: écoute sur le port donné.
  • server_debug: même chose que debug. Pour le serveur, deux niveaux de log sont distincts : celui du serveur central qui accepte les nouveaux arrivants et gere les parties, et ceux des parties.

Un certain nombre de champs sont à peu près inutiles, mais comme cela a déjà été dit, work in progress...