• 1
  • 2
13 posts :: Page 1 of 2
Par: (pas connecté)   (Read 3671 times)  
   
Forum Admin
Admin

christophedlr



Depuis:: 23/10/17
Messages: 530

Bonjour à tous,

TT-Bot est un bot (programme informatique qui intéragis avec un serveur) pour le jeu OpentTD.
Ce programme à de multiples fonctions :
- Fournir une utilisation simplifié du serveur
- Fournir des statistiques de la partie
- Fournir un système d'objectif

Il dispose de deux modes de fonctionnement :
- Compétition : Le bot en plus de fournir des rapports (simplifié en cours de partie, complet pour un serveur MySQL et dans son log), fournis un système d'objectif, ainsi il est possible de lui indiquer des objectifs, une fois les objectifs atteint, il indique donc la fin de la partie.
La partie n'est pas coupé, mais son rapport lui sera considéré comme clos, utile pour pimenter un peu le jeu en fournissant des restrictions supplémentaires et des objectifs à réalisé.
- Libre : Aucun objectif, quand aux restrictions, il ne les gères pas, il faudrat manuellement utilisé les commandes serveurs pour en appliquer.

Les rapports sont comme ceci :
- Position du joueur par rapport aux autres (Jeu, log et MySQL)
- Score du joueur d'après la fenêtre du jeu des scores (Jeu, log et MySQL)
- Score détaillé du joueur (log et MySQL)
- Véhicules/Trains/Aéronefs/Navires de la compagnie (Log et MySQL)
- Prix de la compagnie (Log et MySQL)
- Argent en poche du joueur (Log et MySQL)
- Compagnie du joueur (Log et MYSQL)
- Durée de la partie (Log et MYSQL, en mode compétition seulement)
- Gagnant (Jeu, Log et MySQL, en mode compétition seulement)


Outre cette gestion, il peut aussi envoyer des informations au serveur, ainsi il est possible de lui faire charger une carte d'après une sauvegarde ou encore appliquer des restrictions serveurs (uniquement en mode compétition), le bannissement est bien entendu possible via le bot, tous comme les avertissements (message envoyé au joueur).


Le bot est pour le moment écrit exclusivement en français, il est sous licence GNU/GPL V3 et est totalement gratuit.
Il fonctionne aussi bien sous Windows (depuis 2K) que sous Linux avec des binaires fournis pour les deux plateforme.
Pour Linux, les utilisateurs de Debian, Ubuntu et toute distribution utilisant apt-get ou aptitude (qui est maintenant recommandé par Debian), un dépôt est disponible et vous permet donc de télécharger binaires et sources.

Quand aux autres distributions Linux, vous avez les binaires en version .TAR.GZ et les sources en .TAR.GZ.
Pour les Windowsiens, le programme d'installation propose une installation seule du programme, seule des sources ou encore les deux.


Le Bot est disponible en version 64bits et 32bits, permettant aux prossesseurs d'un système 64bits, que le bot s'execute plus rapidement.


Enfin, le bot est en deux parties :
- Jeu : où le bot va donc faire son boulot
- Console : Vous y administrez le bot, pouvez connaitre sa version etc.

En mode console, il gère la couleur pour afficher les messages et messages de debug (activable dans les options).
La mise en forme gras, souligné et clignotant sont fonctionnel pour Linux mais pas pour Windows, donc les couleurs prédéfinis (autre que pour les messages standard), s'efforce de remplacer cela par des couleurs et un fond pour windows.


Pour terminer, actuellement le bot est encore au stade de développement, il est capable de reconnaitre les commandes (actuellement composé que d'un seul mot), et de fournir un message en cas de mauvaises commandes.

La commande help devrait arrivé très rapidement pour fournir la liste et afficher l'aide de  chaque commande.

Plus d'informations au fur et à mesure du développement.

Par: (pas connecté)    
   
Forum Admin
Admin

christophedlr



Depuis:: 23/10/17
Messages: 530

Bonsoir, voici la liste des changements fait depuis cet après-midi :
- Suppression de la gestion de la couleur dans la console sous windows uniquement (fonctionne pas)
- Ajout de la commande ver donnant le numéro de version
- Ajout de la commande copyright donnant les informations de Copyright
- Ajout de la commande help donnant la liste des commandes

Au paravent la liste des comandes étaient :
- exit pour quitter le programme

Je viens de faire un commit sur le serveur SVN local (6ème commit d'ailleurs Wink ) et une sauvegarde de celui-ci (comme chaque soir où je travaille sur un projet Wink ).

Par: (pas connecté)    
   
Forum Admin
Admin

christophedlr



Depuis:: 23/10/17
Messages: 530

Bonsoir à tous,

Une information sur le bot.
Je n'ai actuellement plus le temps et la motivation pour continuer le bot, je garde les sources (le dépôt SVN).
Je met donc le projet en suspend pour le moment, le temps de retrouver toute la motivation.

Par: (pas connecté)    
   
Forum Admin
Admin

christophedlr



Depuis:: 23/10/17
Messages: 530

Bonjour à tous,

Après un moment d'absence de travail sur ce projet, je le reprend en partant de zéro.
J'ai commencé ce matin avec le peu de temps de dispo que j'avais.

Actuellement l'aide est incluse, ainsi que l'affichage de la version et j'ai commencé le menu du bot si on le lance sans paramètre.


Aucune photo d'écran, mais j'espère vous en fournir une d'ici demain soir.

Par:     

Anonymous


après 7 mois d'absence le revoilà en plein forme pour nous apprendre plein de chose ggg


on attend avec impatiente

Par:     

Anonymous


je le reprend en partant de zéro.





(Petit hommage à Gamekult et à ce topic: http://www.gamekult.com/forum/lire_n550218_page1/ )

Ben, bon courage ! ^-^'

Par: (pas connecté)    
   
Forum Admin
Admin

christophedlr



Depuis:: 23/10/17
Messages: 530

Bonjour à tous,

Voici trois photos d'écran de l'interface du bot, montrant ses fonctionnalités actuelles.

L'aide : http://img841.imageshack.us/img841/4692/ttbothelp.png
Affichage de la version : http://img830.imageshack.us/img830/7213/ttbotversion.png
Affichage de l'auteur de la traduction : http://img838.imageshack.us/img838/3923/ttbotauthor.png

Voila une liste de ce qui est actuellement fait sur le bot :




    Le bot est programmé totalement en anglais, et dispose de son propre système (utilisant Qt cela dit) de traduction par fichiers INI à placé dans le répertoire du bot.

    Actuellement deux langues gérés : français et anglais.
    Pour le moment le français est sélectionné par défaut (pour les tests, car au final se sera l'anglais), mais la prochaine commande permettra de modifier la langue désirés, il suffira alors de le relancer pour prendre en compte les changements.

    Ce système est important car le fichier de traduction contiendra tous les textes du bot aussi bien avec son interface que IG.
    Le fichier de configuration sera placé dans le répertoire : HOME$/.TTBot, sous Windows se sera C:\Users\<utilisateur>\.TTBot ou C:\Documents and Settings\<utilisateur>\TTbot pour les utilisateurs de Windows XP (lautre possibilité c'est pour les utilisateurs de Vista/Seven).

    Les traductions sont placés dans le répertoire du bot pour des raisons de simplicité.
    Les accents ne sont pas utilisés du fait que la console Windows ne gère pas l'UTF-8, les accents apparaissent alors n'importe comment.

    Quand il sera fini, le bot ne nécessitera pas de devoir le démarrer et lui fournir les informations.
    En effet, il est prévu de pouvoir lui passer les informations via la ligne de commande, ce qui est déjà une chose très pratique.

    Ensuite, pour Linux il est prévu un daemon (quand j'aurais trouvé comment ça fonctionne lol), le simple fait de lancer le programme manuellement alors qu'il est déjà démarré, permettra juste d'accéder à certaines informations (presque toute les fonctions seront de toute façon accessible par mot de passe IG).


    Maintenant une liste de ce que je prévois (quelques peu différente de celle de départ quand j'avais commencé) :


      Je n'ai pas tous énoncé, car les idées se bouscules (et ne sont même pas mises au propre lol), toutefois je vais revenir sur les points évoqués.


      Gestion utilisateur
      [hr]
      Via l'interface du bot (pas du tous possible IG pour des raisons de sécurités), il est possible de lui fournir un utilisateur et un mot de passe associé.
      Ainsi, au lieu qu'un seul mot de passe soit disponible pour tous, chacun à ses propres informations, permettant alors de savoir qui fait quoi.

      Si par exemple demain Benoit veut intervenir sur le bot, il utilisera son mot de passe, si je passes juste après j'utilise le mien etc.
      Cela permet de tenir un log à jour et s'assurer qu'il y a pas de problème, cela permet en outre que si un mot de passe est découvert par un joueur malintentionné, cela évite que les autres aient les miens liés.


      Mail d'urgence
      [hr]
      En fait il s'agit d'une commande utilisable uniquement IG, qui va permettre en fait de prévenir toute les personnes qui sont enregistré pour le bot comme ayant les autorisations pour intervenir sur une partie.

      Cet e-mail indique donc un problème avec un joueur (c'est tous un rapport qui est fait), et il donne le nom du joueur qui à prévenu.
      Dès qu'une personne habilité à le faire intervient, si elle y pense, elle indique au bot qu'elle est intervenue.
      A ce moment là, un nouvel e-mail est envoyé aux personnes concernés, indiquant alors que un tel est intervenu et à réglé le problème.

      Ce système est assez intéressant du fait qu'il y a pas toujours qu'une personne pour régler les problèmes IG, ainsi au lieu de chercher qui prévenir, tous le monde est prévenu, ainsi le premier qui peut réagir va pouvoir le faire.


      Log des informations
      [hr]
      Ce système va enregistrer les informations qu'on lui aura demandé.
      Cela peut être les accès au bot en administrateur (les accès demandant un password), comme les objectifs définis etc.
      Un joueur met souvent le bordel ? Pas de soucis, on demande au bot de faire un log des actions du joueur.

      Objectifs
      [hr]On peut définir des objectifs, par exemple atteindre une valeur de compagnie de 5M€ en 3 ans, les réglages prévus sont assez nombreux par rapport à cela.
      Ainsi, on peu pimenter les parties.


      C'est à peu près tous pour l'instant, je rebosserais sur le bot ce soir certainement.

      Par: (pas connecté)    
         
      Forum Admin
      Admin

      christophedlr



      Depuis:: 23/10/17
      Messages: 530

      Bonjour à tous,

      Me revoilà et avec un peu de travail réalisé ce matin même sur le bot.
      Je vous donne deux photos d'écran.

      Voici le menu principal du bot :
      http://img844.imageshack.us/img844/4170/ttbot.png

      Et en exclusivité, une partie du code source du bot, à savoir ici le code du menu justement (non encore comitté, je vais le faire de suite Wink ) :
      http://img265.imageshack.us/img265/7417/ttbotsource.png

      Voila c'est tous pour le moment, mais la suite arrivera bien assez vite Wink

      Par: (pas connecté)    
         
      Forum Admin
      Admin

      christophedlr



      Depuis:: 23/10/17
      Messages: 530

      Bonjour à tous,

      Et oui je ne chôme pas, un nouveau commit sur le serveur subversion, avec l'ajout de 2 commandes au sein du bot (son interface) : help, qui affichera donc la liste de toute les commandes qu'il gère et exit qui permet de quitter (cette commande stoppera aussi le bot quand cela sera géré).

      Je pense revenir bosser sur le bot en fin d'après-midi, avec une nouvelle commande : clear, cette commande vide tous simplement la console de gestion du bot (son interface), ce qui est pratique si vous lui faite afficher différentes information et que vous vous y retrouvez pas.

      Cette commande sera la première à être dépendante de l'OS, une condition #ifdef permettra de savoir si c'est sous windows ou linux que l'on est et donc utilisez cls sous windows ou clear sous linux.

      Par: (pas connecté)    
         
      Forum Admin
      Admin

      christophedlr



      Depuis:: 23/10/17
      Messages: 530

      Coucou me revoilà, je viens de finir la commande clear qui va donc effacer la console et ré affiche le prompt bien entendu.

      Je viens de faire un nouveau commit, je bosserais plus dessus ce soir car là je dois sortir acheter les croquettes du chien Wink

      P.S. : Ce soir AVANT la partie si j'ai le temps bien sur Wink

      13 posts :: Page 1 of 2
      • 1
      • 2