Page 1 of 1
Connexion au information de la BDD Serveur DAOC
PostPosted: Thu Mar 23, 2017 1:27 pm
by Jag
Bonjour à tous,
Je me suis lancé il y a peu dans la création d'un petit server DAOC pour but de faire un Portail d'information qui pourrai servir pour les serveur.
Exemple nombre de personne connecter par zone ou la position des joueurs en temps réel etc...
Je suis donc a la recherche de plusieurs information en BDD. Notamment les information en temps réel du joueur.
Sur mon serveur quand j'ai un joueur de log je n'ai pas trouver dans la base les informations le concernant. Uniquement sa position / level etc... à sa déconnexion.
Voila si vous avez des idées je suis preneur
Merci d'avance et bonne journée

Re: Connexion au information de la BDD Serveur DAOC
PostPosted: Sat Mar 25, 2017 4:46 pm
by HunabKu
Bonjour Jag.
Ces données ne sont pas sauvegardées. Ni en base de données, ni en fichiers.
Re: Connexion au information de la BDD Serveur DAOC
PostPosted: Mon Mar 27, 2017 7:58 pm
by Fulmine
Salut,
Boa techniquement les datas sont sauvegardé (enfin, sa postition, son level tout ça) mais a intervalle régulière genre toutes les dix minutes de mémoire, cette intervalle est également modifiable mais je ne connais pas l'étendu des données sauvegardé a chaque intervalle. Le plus simple serait de créer un petit script que te permettrais de récupérer les datas que tu souhaite si jamais il te faut un exemple je vais avoir du temps dans pas longtemps, je pourrais te montrer.
Les pistes possibles :
- Créer une mini api pour faire des requêtes
- Envoyer des données a intervalle régulière plus fréquente que la sauvegarde à un serveur web externe
Re: Connexion au information de la BDD Serveur DAOC
PostPosted: Tue Mar 28, 2017 9:09 am
by Graveen
Apres définir une table sous MariaDB en "Memory" pour sauver de manière ultra rapide les positions des joueurs c'est faisable et peu compliqué (en script par exemple). Mais le mieux serait d'avoir une API à exposer. Leodagan avait plus ou moins maquetté ça, de mémoire (DOL Nancy WS).
Re: Connexion au information de la BDD Serveur DAOC
PostPosted: Fri Mar 31, 2017 7:50 am
by Jag
Merci pour vos réponse.
Le But n'étant pas de faire du temps réel mais plus de la statistique, le temps réel ne m'importe que très peu.
Boa techniquement les datas sont sauvegardé (enfin, sa postition, son level tout ça) mais a intervalle régulière genre toutes les dix minutes de mémoire, cette intervalle est également modifiable mais je ne connais pas l'étendu des données sauvegardé a chaque intervalle. Le plus simple serait de créer un petit script que te permettrais de récupérer les datas que tu souhaite si jamais il te faut un exemple je vais avoir du temps dans pas longtemps, je pourrais te montrer.
Si c'est sauvegardé toutes les dix minute ça me va me suffirai de faire un trigger sur la table concerné vers une autre table (créée pour l'occasion) après un petit ETL (qui tournerai une fois par jours) pour alimenter ma base du portail.
Sinon l'API me semblais une bonne option aussi mais plus complexe (pour moi) que géré ça en BDD (en effet je suis plus DBA que programmeur ^^)
Du coup je vais regarder pour voir les intervalles de sauvegarde (voir sur du cas concret l'intervalle de sauvegarde des position des joeurs)
Et aussi me renseigner comme réaliser une API (en C# j'imagine ? ou Java c'est possible ?).
Merci encore pour vos réponse et à bientot

Re: Connexion au information de la BDD Serveur DAOC
PostPosted: Fri Mar 31, 2017 8:58 am
by HunabKu
Essaye de creuser en t'inspirant du système de news du Keep Manager dans ce cas

Re: Connexion au information de la BDD Serveur DAOC
PostPosted: Fri Apr 07, 2017 7:56 pm
by Fulmine
Merci pour vos réponse.
Et aussi me renseigner comme réaliser une API (en C# j'imagine ? ou Java c'est possible ?).
Si tu a juste besoin de récupérer quelques informations disponibles dans la base de données, tu n'as pas forcement besoin de la faire en C# ton API. Le java conviendrais parfaitement, je suppose que tu dois être plus expérimenté en java.
L'avantage de développer ton API en C# c'est que tu pourrais l'intégrer directement dans le code du serveur et avoir accès a plus de données qui ne serait pas forcement disponible dans la base de données.
Re: Connexion au information de la BDD Serveur DAOC
PostPosted: Sat Apr 08, 2017 6:22 am
by Leodagan
Fulmine,
Je pense que le principe c'est d'avoir une API pour récupérer des informations plus fraiche qu'en Base de Donnée...
La position du joueur n'y est sauvée qu'a intervalles réguliers et lorsqu'il quitte le jeu...
A ma connaissance on peu modifier l'intervalle des sauvegardes des joueurs dans le fichier de configuration (World Save Interval quelquechose comme ça...)
Pour coder une API ça sera en C# pour pouvoir s'intégrer au code du jeu et récupérer les informations de positions des joueurs plus régulièrement que lors des sauvegardes du monde...
Après exposer ces informations via un API Web, ou simplement les écrire régulièrement dans un fichier texte, voir sous Linux balancer ça dans un "Pipe" nommé ou un Socket Unix, ça devrait être une 30 aines de lignes de code à tout casser

Re: Connexion au information de la BDD Serveur DAOC
PostPosted: Sat Apr 08, 2017 8:43 am
by Fulmine
Fulmine,
Je pense que le principe c'est d'avoir une API pour récupérer des informations plus fraiche qu'en Base de Donnée...
Je suis totalement d'accord avec toi

C'est juste que comme il a parler de java et et qu'il avait pas forcément besoin d'avoir les infos instant, je lui est juste dit qu'il pouvait le faire en java si il le voulait
Re: Connexion au information de la BDD Serveur DAOC
PostPosted: Tue Apr 11, 2017 11:43 am
by Graveen
Merci pour vos réponse.
Et aussi me renseigner comme réaliser une API (en C# j'imagine ? ou Java c'est possible ?).
Si tu a juste besoin de récupérer quelques informations disponibles dans la base de données, tu n'as pas forcement besoin de la faire en C# ton API. Le java conviendrais parfaitement, je suppose que tu dois être plus expérimenté en java.
L'avantage de développer ton API en C# c'est que tu pourrais l'intégrer directement dans le code du serveur et avoir accès a plus de données qui ne serait pas forcement disponible dans la base de données.
Juste je réagis à l'aspect "pas forcément en C#", mais côté "pas forcément passer par les APIs d'accès à la DB de DOL".
Bon, y'a eu un tas de softs qui justement l'ont fait (en C# mais sans passer par DOLDatabase) mais c'est plus intéressant de passer par DOLDatabase: d'une part tu apprends comment marche notre micro ORM, d'autre part tu prépares la plongée dans le code du core, et tu y trouves une maintenanbilité ( de ton code) bien meilleure... que du bonus, quoi
