Braldaguim

Présentation

Braldaguim est une interface de visualisation des données du jeu braldahim à destination des communautés.

Les données du jeu sont issues à la fois des données publiques et des scripts disponibles aux adresses : http://public.braldahim.com et http://sp.braldahim.com.

Licence

Braldaguim est distribué sous la licence : GNU Affero General Public License, vous pouvez la consulter sur le site officiel.

Téléchargement

Les versions disponibles sont :

Vous pouvez consulter le code par le web : https://www.guim.info/websvn/, dans la catégorie Mathieu own dev/braldahim.

Installation

Le code est disponible à partir du dépôt SVN, il suffit de faire un checkout ou bien de prendre une des archives.

Une fois les fichiers récupérer, vous les placez à l'emplacement de votre choix, par exemple /var/www/braldahim.

Les répertoires suivant doivent être accessible en écriture par votre serveur web :

  • braldahim/csv
  • braldahim/cache
  • braldahim/cache/img

Pour les rendre accessible en écriture, sous Linux, on peut utiliser la commande suivante (ou affiner les droits) :

chmod 777 braldahim/csv braldahim/cache braldahim/cache/img

Ensuite il faut initialiser la base de données :

  • création de la base et de l'utilisateur le cas échéant
  • mise en place de la structure

Si vous souhaitez utiliser un préfixe pour les tables de votre base de données, il faut éditer le fichier initdb.sql et ajouter le préfixe devant chaque nom de table. Vous pourrez configurer le préfixe plus tard.

sudo mysql_setpermission
  # Vous répondez au question pour créer une base,
  # un utilisateur et une connexion en localhost.
  # Vous donnez tous les droits à l'utilisateur
sudo mysql -u mon_utilisateur -p ma_base_de_données < braldahim/initdb.sql

Puis, il faut créer (ou modifier) le fichier de configuration conf.local.php : * indiquez les informations de connexion à la base de données précédemment créées * indiquer le numéro de votre communauté dans COMMUNAUTE * indiquer le nom de votre communauté dans COMMUNAUTE_NOM

// numero identifiant la communauté
define('COMMUNAUTE', 1);
// nom de la communaute
define('COMMUNAUTE_NOM', 'Les premiers bralduns');

// base de données
define('DB_HOST', 'localhost');
define('DB_NAME', 'nom base de données');
define('DB_USER', 'nom utilisateur');
define('DB_PASS', 'mot de passe');

Vous pouvez modifier d'autres paramètre, mais ils sont facultatifs :

// Durée en secondes qui doit séparer 2 mises à jour manuelles d'un joueur
// Certains script ne peuvent être appelé que 14 fois par jours, donc il faut une limite autour de 6200s
define('UPDATE_DELAY', 6200);

// Niveau de zoom par défaut de la page "position"
// Le minimum est 1, et 8 permet de voir tout braldahim
define('DEF_ZOOM', 3)

// Préfixe éventuel devant le nom de chaque table, laissez vide si pas de préfixe.
define('DB_PREFIX', 'br');

// Lien vers le forum de la communauté (apparait dans les liens du menu)
define('FORUM_LINK', 'http://www.monforum.com/');

L'interface de visualisation génère des images en utilisant la bibliothèque GD, il faut donc installer le paquet php-gd sous Debian.

Une fois ces éléments en place vous pouvez visitez avec votre navigateur la page install.php, qui donne un compte rendu des éventuelles erreurs.

Mise à jour à partir d'une version précédente

La procédure pour mettre à jour une version déjà installée est la suivante :

  • renommez le répertoire dans lequel est installé l'application : braldaguim vers braldaguim.old
  • décompressez la nouvelle version dans le répertoire braldaguim
  • mettez à jour la base de données avec les scripts nommés db_version1_version2.sql (avec phpmyadmin ou mysql directement), la version1 étant celle de votre version actuelle. Il faut passer tous les scripts s'il y en a plusieurs. Par exemple db_0.2_0.3.sql pour passer de la 0.2 à la 0.3.
  • visitez avec votre navigateur la page install.php pour vérifier qu'il n'y a pas d'erreur.

Scripts de mise-à-jour

Fonctionnement

Le principe de fonctionnement de braldaguim est de mettre à jour sa base de données régulièrement à partir des informations statiques et dynamiques de braldahim. Pour ce faire, il est nécessaire d'exécuter des scripts à intervalle régulier.

Les données publiques concernent les zones, les villes, la liste des membres, la liste des communautés, etc. Elles permettent de faire le lien entre la communauté gérée par l'application et ses membres et permettent également de tracer sur la carte les zones et les ville. Ces informations sont assez généralistes.

Les données privées permettent d'obtenir des informations sur un membre en particulier (sa position), sa vue (l'ensemble des cases qui l'environnent), ses compétences et caractéristiques, etc.

L'ensemble de ses données permettent de cartographier le monde de braldahim.

Mode automatique

Vous n'êtes pas obligé de mettre en place le mode automatique. Celui-ci nécessite d'avoir accès à la ligne de commande ; si vous êtes sur un hébergement mutualisé vous ne pourrez certainement pas utiliser cette technique.

Il y a deux scripts qui récupèrent les informations :

  • update-csv.php : télécharge les fichiers csv à partir de [http://public.braldahim.com], puis met à jour la base de données, ce sont les données statiques du jeu ;
  • fetcher.php : interroge les scripts disponibles sur [http://sp.braldahim.com] pour chacun des membres de la communauté inscrits sur l'application, ce sont les données dynamiques.

Pour exécuter les scripts périodiquement, il suffit de faire appel à cron. Une crontab possible est :

# mise a jour des données dynamiques toutes les 4 heures
0 */4 * * * www-data cd /var/www/guim.info/www/braldahim && /usr/bin/php fetcher.php dynamique >>/var/www/guim.info/www/braldahim/csv/fetch.log 2>&1
# mise à jour des données statiques toutes les 12 heures
0 */12 * * * www-data cd /var/www/guim.info/www/braldahim && /usr/bin/php fetcher.php statique >>/var/www/guim.info/www/braldahim/csv/fetch.log 2>&1
# mise a jour des fichiers csv une seule fois par jour
0 11 * * * www-data cd /var/www/guim.info/www/braldahim && /usr/bin/php update-csv.php >>/var/www/guim.info/www/braldahim/csv/update.log 2>&1

Mode manuel

Dans ce mode chaque joueur a la possibilité de mettre à jour ses informations dans le menu Gestion du compte.

Utilisation

Pour que l'application collecte des données et que les utilisateurs puissent en profiter, il est nécessaire de s'inscrire.

Inscription

L'inscription demande le numéro de braldûn et le mot de passe restreint disponible sur le site de braldahim.

Pour obtenir son mot de passe restreint, il faut se connecter sur [http://www.braldahim.com], puis cliquer sur le lien "Paramètres". Le mot de passe restreint est donné en bas de page, c'est une suite de 64 caractères alphanumériques.

L'inscription d'un utilisateur ne sera possible que s'il appartient à la communauté déclarée dans le fichier de configuration.

Visualisation

La page nommée Position affiche la carte du monde avec des calques en plus :

  • Fond de carte : la carte en elle-même avec les villes, les environnements (plaine, forêt, montagne, ...)
  • Brouillard : le calque qui grise les parties qui n'ont pas été visitée depuis longtemps
  • Membres : ensemble des membres inscrits de la communauté
  • Lieux mythiques et lieux de quêtes : lieux peu courant qui ne sont référencés nul part
  • Lieux standard : les lieux commun (boutique, hôtel de ville, etc)
  • Nids : les nids des monstres
  • Légende : affiche la légende

Les fonctionnalités sont les suivantes :

  • chaque calque peut être activé ou désactivé
  • il est possible de déplacer la carte (haut/bas/gauche/droite) et de zoomer/dé-zoomer
  • un tableau des membres permet de centrer la carte sur un membre précis
  • un tableau des villes permet de centrer la carte sur une ville précise
  • une calculatrice permet de calculer le nombre de cases qui séparent 2 membres
  • par défaut la carte est centré sur le joueur connecté

Bestiaire

La page nommée Bestiaire regroupe les identifications de monstres/gibiers que les joueurs ont réussi. La liste des monstres connus se construit donc au fur et à mesure des identifications des joueurs.

C'est le script evenements qui permet d'automatiser la collecte des identifications des joueurs. Dans la version 0.1, les joueurs devaient faire un copier/coller de leur identification, cela n'est plus nécessaire.

Profils

La page des profils liste l'ensemble des joueurs de la communauté avec leurs caractéristiques et leurs compétences. Cela permet de comparer les joueurs.

Une ligne résume chaque braldun sous forme graphique : points de vie, balance de faim, points d'expérience, date limite d'action.

Le graphique de la DLA doit se lire comme suit :

  • gris : inactivité
  • jaune : début d'activité (6 PA)
  • vert : activité (12 PA)

Profil

Simulateur

La page simulateur permet de simuler la monté en niveau de son braldun. La page est préconfigurée avec les caractéristiques et compétences communes de votre braldun.

Vous pouvez ensuite faire monter ou descendre les éléments suivants :

  • niveau
  • caractéristiques (force, agilité, vigueur, sagesse)
  • choisir les compétences communes
  • les bonus que vous avez eu en changeant de niveau (10, 20, 30, 40)

Chaque changement influe sur le nombre de point d'investissement à votre disposition. Vous pouvez donc planifier votre évolution.

Simulateur