Logo Khaganat
Traductions de cette page?:

Analyseur en ligne de log client

Description

Faire un analyseur de log du chat du client, accessible en ligne.

La version web permet à tout le monde de se servir de l'outil, sans chercher de compatibilité avec les OS, d'autant que les fonctions sont assez simples.

Un premier script fait par votre dévoué scoui peut être trouvé ici. Libre à n'importe qui de le cloner/forker afin de le modifier, je ne suis pas encore un expert git mais si vous voulez push des modifications dessus n’hésitez pas ( et si je dois modifier des choses dans la config du projet/dépôt pour que ça soit faisable faite le moi savoir).

Vous pouvez également le voir en ligne ici mais je ne promet pas de le mettre à jour instantanément, mais j'essayerai.

Fonctionnalitées, pistes

  • Pouvoir cocher les canaux qu'on veut afficher, parfois on est intéressé par plusieurs canaux ensembles. Trouver la liste des canaux possibles.
  • Pour Alentours, les balises sont (SAY)\|(SHOUT)\|(SAY/EMT).
  • Penser à mettre (SYSTEM/ZON) : c'est ce qui indique où on est.
  • Tri des tells : la difficulté est d'identifier à qui on cause. La structure est toujours * (TELL) * Cible vous dit : et * (TELL) * vous dites à Cible: (avec ces espaces), il faut donc renseigner Cible.
  • Choisir le format d'export : en mode texte basique, mais aussi la version pour forum, pour wiki, avec des codes de mise en forme. Dans ces codes de mise en forme, dans les possibilités :
    • Mettre dans un format différent “X dit :” et ce qui suit ; pouvoir paramétrer avant et après (couleur, gras, italique ?)
    • Colorer différemment une ligne sur deux ?
    • Mettre en forme différemment uniquement les différentes balises : ce qui est dit, ce qui est crié, ce qui est en emote, bref par canal.
    • Pour ces histoire de mise en forme : permettre de rentrer un code couleur html et de choisir sur une palette, mettre en gras, italique, souligné ; ça devrait suffire.
  • Pouvoir remplacer, si on le souhaite, “Vous dites :” par “Perso dit :”
  • Si un screenshot a été pris, possibilité de l'inclure dans le log en remplaçant par un lien vers l'image, en bbcode, wiki ou mardown. Il faut donc indiquer où on a hébergé l'image ; si l'hébergeur change le nom de l'image (screenshot1457.jpg devenant zagjezgae47621745.jpg), on laissera le joueur gérer, on se contente de mâcher le boulot en mettant la bonne balise et le début de l'adresse. J'ai l'impression que le log n'enregistre plus le screenshot ? Il faudra remettre ça…
  • Afficher ou non l'horodatage (heure:minute:seconde).
  • Supprimer ou non les propos HRP (entre parenthèses).
  • Gérer le multilingue avec des balises $lang_balise, qui renvoie à des fichiers de langue, pour que ce soit facile à traduire pour tous les clients.

Voilà pour mettre nos logs ici et là…

Dans les fonctionnalités sympa en rab, proposer un hébergement voir un archivage des logs ? La personne nettoie son log, elle voir le résultat à l'écran, et elle a en option : “copier” (elle peut aussi tout sélectionner à la main, mais un bouton c'est sympa), “exporter en format…” (txt, sans doute), “Héberger publiquement” (le log sera référencé dans une liste) “Héberger de façon privée” (sans le lien on ne retrouve rien). Comme pour les pastebins, il y a une durée d'hébergement, de 1 jour à 1 an, le tout sans obligation d'inscription ; pour plus de temps en ligne, il faut avoir un compte et c'est uniquement les logs publics. Si la personne a un compte, elle a une interface pour voir la liste de ses logs privés et publics, ainsi qu'un espace pour ses favoris (des logs d'autres personnes qu'elle a noté ; possibilité d'ajouter un titre personnalisé pour s'y retrouver). Ça commence à devenir un vrai cms avec le compte, à réserver quand on aura fini !

Cela pourrait aussi être sympa d'avoir des outils pour analyser le sys.infos (combien de coups reçus, donnés, quels armes, coups par minute, etc) ; de faire des moyennes de vitesse d'assemblée… bref des trucs de kikimeter absolument inutiles !

Liste des canaux que je vois dans mes logs, vite fait. Voir où, dans le code, ces balises sont précisées ; il faudra adapter à notre propre système de chat, vu que les noms de nos canaux seront différents.

  • (SYSTEM/AROUND) : Message général (en général, “Bienvenue dans Ryzom !” mais ça sert aussi lors des events).
  • (SYSTEM/MTD) : Le mot du jour du serveur.
  • (SYSTEM/ZON) : Lorsqu'on passe d'une zone à une autre, le nom de cette zone.
  • (SYSTEM) : le sys.info
  • (SYSTEM/CHK) : Préviens qu'on est en zone protégé/pvp ?
  • (SYSTEM/MIS) : résistances, esquives, bref ce qui fait qu'un coup échoue.
  • (SYSTEM/SPL) : fin d'un effet ?
  • (SYSTEM/DGM) : Dommages infligés
  • (SYSTEM/DG) : Dégâts reçus.
  • (SYSTEM/CHKCB) : Informations sur la cible (comme “trop loin, vous ne pouvez plus la toucher”).
  • (SYSTEM/AROUND) : rejoindre, quitter équipe, autre ?
  • (UNIVERSE) : canal univers
  • (TELL) : message privé
  • (SAY) : canal alentours
  • (SHOUT) : cri en alentours
  • (SAY/EMT) : émote en alentours.
  • (DYN0) : Canal dynamique 0 (chez moi, uni français). Incrémente suivant les canaux, bien sûr.
  • (TEAM) : canal Equipe

Liste présente dans le default.cfg, elle liste les sous-categorie de SYSTEM plus EMT qui lui est dans SAY

  • “SYS” ⇒ “Default system messages”,
  • “BC” ⇒ “Broadcast messages”,
  • “TAGBC” ⇒ “Taged broadcast messages : color should remain white as some word are tagged”,
  • “XP” ⇒ “XP Gain”,
  • “SP” ⇒ “SP Gain”,
  • “TTL” ⇒ “Title”,
  • “TSK” ⇒ “Task”,
  • “ZON” ⇒ “Zone”,
  • “DG” ⇒ “Damage to me”,
  • “DMG” ⇒ “Damage to me”,
  • “DGP” ⇒ “Damage to me from player”,
  • “DGM” ⇒ “Damage from me”,
  • “MIS” ⇒ “The opponent misses”,
  • “MISM” ⇒ “I miss”,
  • “ITM” ⇒ “Item”,
  • “ITMO” ⇒ “Item other in group”,
  • “ITMF” ⇒ “Item failed”,
  • “SPL” ⇒ “Spell to me”,
  • “SPLM” ⇒ “Spell from me”,
  • “EMT” ⇒ “Emote”,
  • “MTD” ⇒ “2Message Of The Day”,
  • “FORLD” ⇒ “Forage Locate Deposit”,
  • “CHK” ⇒ “Tous ce qui ne remplit pas une condition”,
  • “CHKCB” ⇒ “Tous ce qui ne remplit pas une condition en combat (trop loin, cible invalide, pas assez de mana, etc.)”,
  • “PVPTM” ⇒ “PVP timer”,
  • “THM” ⇒ “Thema finished”,
  • “AMB” ⇒ “Ambiance”,
  • “ISE” ⇒ “ Item special effect”,
  • “ISE2” ⇒ “Item special effect with center text (for effects without flying text)”,
  • “OSM” ⇒ “Outpost state message”,
  • “AROUND” ⇒ “Only in around channel”,
  • “R2_INVITE” ⇒ “Ring invitation”

Complétez avec les fonctionnalités que vous aimeriez avoir !

Qui travaille dessus ?

Zat peut essayer mais ça risque de jamais être fait :p

Osquallo est en train de travailler sur un premier script php et verra par la suite pour faire une version python. Le résultat peut être vu ici. Et pour le kikimeter, comme dit zat, pour le ska j'ai déjà fait un début de script de ce genre accessible ici (mais pas pour les nouvelles balises par contre).

Compétences demandées

  • Maitriser un langage web (php, python, autre) permettant de gérer une analyse.

Difficulté estimée ou temps restant à y passer

Quelques jours ; ça ne doit pas être extrêmement complexe une fois qu'on maitrise le langage web. (ouai enfin non pour un truc simple oui mais toutes les fonctionnalités listé sur cette page c'est plusieurs semaines surtout si pas fait à temps plein, c'est pas si rapide que ça de codé le temps passe tréééés vite, et puis avec osqua ça prend forcement plus longtemps si il arrive a finir déjà !)

Il est possible de s'appuyer sur http://ryzom.kervala.net/logs.php : Kervala a mis les sources en ligne.

Tâches liées

Commentaires

CC Attribution-Share Alike 4.0 International Driven by DokuWiki
fr/taf/web/analyseur_log_client.txt · Dernière modification : 2021/12/03 18:18 de 127.0.0.1

Licences Mentions légales Accueil du site Contact