[Prog] DaocYou, PlugIN Php en Gold (Création d'un fichier XML)

Répondre
Partager Rechercher
Coucou tout le monde, voilà j'ai passé en phase "test" étendue le dernier plugin PHP pour DaocYou.

En fait ce script PHP crée un fichier XML et tient a jour une base de données MySql sur un historique des prises de forts et reliques !

Ce fichier XML permet donc d'avoir accès a des information impossible a avoir en temps normal (pas d'historisation faites par Goa).
Vous pouvez bien entendu l'utiliser pour vous, votre site web, ...
Pensez juste a moi, simplement en me citant

Les liens :

Script PHP
Script création DB

THE fichier XML

Comme il n'est malheureusement impossible de rafrachir ce fichier XML a partir du server d'hébergement (veulent pas me filer accès a CronTab), je "trigger" le fichier régulièrement depuis le boulot, pour un refresh optimal.

Si quelqu'un se sent en forme pour mettre le script sur un serveur avec CronTab qu'il me fasse signe

Prochaine version de Daoc You avec Utilisation de ce script dans très peu de temps !

==============================================
Partie plus technique
==============================================

Description du script PHP :

Ce script contient en réalité 2 parties.

*La première est un interface permettant d'aller lire le fichier XML des états reliques/keeps fournis directement par GOA. Ces données sont archivées de façon intélligentes dans la base de données MySql.
Seul les changements d'état sont historisés !
Ce qui veux dire qu'on peut demander de rafraichir 300 fois, si il n'y a eu aucun changement au niveau reliques/forts/abysses alors la base de donnée ne prendra pas 1k !

Il existe 3 tables dans la DB, une pour l'historisations des reliques, une pour les accès abysses et une dernière pour les forts.

* La deuxième partie du script est en fait la création du nouveau fichier XML lui même ! Il s'agit simplement d'un "dump" de la base de données vers un fichier XML. Actuellement il n'y a pas de "purge" de la DB prévue, mais ca peux être ajouté très facilement si elle devient vraiment tros grosse.

Structure du fichier XML généré :

<data Auteur_XML="South Alb Broceliande" Info_Importante="Necrites Rules da World" FileStamp="**DataTimeGénérationFichierXml**">

<Reliques>
<Serveur name="XXXX"> --> Pour tout les serveurs (A Fois)
<DataSet timestamp="XXXX">-->Date/time Historisation (B Fois)
<Relik name="XXXX" type="XXXX" realm="XXXX"> --> Pour chaque reliques qui a bougé pd le DataSet !!
<owner>Nom Nouveau Proprio</owner>
</Relik>
</DataSet>
</Serveur>
</Reliques>

<Keeps>
<Serveur name="XXXX"> --> Pour tout les serveurs (A Fois)
<DataSet timestamp="XXXX">-->Date/time Historisation (B Fois)
<Keep name="XXXX" realm="XXXX"> --> Pour chaque fort qui a bougé pd le DataSet !!
<owner>Realm Nouveau Proprio</owner>
<guildname>Nom Guilde Si fort Claim</guildname>
<guildID>Guild ID si claim</GuildID>
</Relik>
</DataSet>
</Serveur>
</Keeps>

<abysses>
<Serveur name="XXXX"> --> Pour tout les serveurs (A Fois)
<DataSet timestamp="XXXX">-->Date/time Historisation (B Fois)
<owner>Realm qui a les abysses ou Unknow si indéterminable</owner>
</DataSet>
</Serveur>
</abysses>

</data>

Voilà la tête du fichier XML, avec ses info il y a moyen de sortir pas mal d'info comme :

* Voir qui possède les Abysses même si indéterminable
* Historique simple des prises de fort
* Temps de claim des forts
* ...

Voilà !

Si il y a un motivé pour hébergé le XML ca m'interesse bien entendu !

Pour générer le fichier xml il faut appeler le script PHP avec un paramètre qui est en fait l'adresse du fichier XML de GOA :

exemple :
daocyou.php?RefreshDbWithData=http://camelot-europe.goa.com/herald/servers.xml

cette action va rafraichir la DB et ensuite créer un fichier XML upToDate ! Le refresh idéal est de 10 minutes, les fichier XML de Goa ne sont à première vue rafrachis que toutes les 20 minutes.

Voilou !

Pour toutes questions n'hésitez pas !
Pas besoin de chance

Le script tourne déjà très bien pour le moment !
Première fois que j'écrit un truc un PhP un peu plus compliqué que 3 ligne de code, suis contente de moi, et j'en fais profiter les autres qui voudrait parser des pages XML également !
jvais tester ton code
si c'est bien je pourais le metre sur mon serv
mais bon telement je vien peus souvent ici
js uis visible surtout sur irc.enclavenet.org ou dans daoc
hib/broc
Coucou, merci pour les remarques, effectivement le script PHP est terminé ainsi que la BDD

J'ai une dernière version (pas celle présente sur le site qui limite a une semaine les données stockée), enfin c'est configurable.

Vous remarquerez également que pour le moment ce script ne tourne plus (impacte dans Daoc You) .
Pour plusieurs raisons :

1) Je suis limité sur le temps d'execution d'un script PHP par mon hébergeur et il arrive que la génération du fichier XML par le script prend plus de 5 secondes (qui est ma limite actuelle)
2) Problème d'hébergeur tout court avec la bande passante que vous me bouffer !
3) Impossibilité de schedullé l'execution du script de mise a jour de la DB automatiquement sur le serveur.

Voilà, comme ce projet est complètement gratuit et a disposition de tout le monde, vous pouvez repomper, modifier, en gros faire ce que vous voulez avec les sources que j'ai mis a disposition.
Z'avez qu'a juste me citer dans ce cas là, c'est tout ce que je demande

Je mettrais le dernier script Php en ligne bientôt !!
Et bien sûr si un hébergeur pouvait se montrer !!! Le rêve serais qu'il soit hébergé sur les serveurs de GOA, ca leur permettrais de connaitre qui possède les abysses, et un historique des prises de forts On peut toujours réver lol !

Aller biz a tout le monde !!!
Coucou voilà, pour ceux qui voudrais héberger ce fichier :

Script Php :

http://users.skynet.be/bk228433/RunMe.txt

Création DB :

http://users.skynet.be/bk228433/SQLTables.txt

Il reste juste a configurer les accès DB dans le script PHP, ainsi que si souhaité le nombre de jours historisable dans le DB (Ce qui permet ainsi de limiter la taille de la DB qui pourais devenir autrement très grosse !

Voilà, normalement le script tourne TRES bien, il reste juste a le générer automatiquement.
Une fois lancé il va en
1) Mettre à jour les tables de la base de données avec l'état des forts/reliques/...
2) Générer un fichier XML avec les informations voulues !!

Voilà !!

Tenez moi au courant ceux qui pense faire tourner ce script ou qui voudrait y apporter des modifications !
Ce post parlant de Xml et de proposition technique il aurait surement plus sa place dans la partie "Daoc - Technique". Au moins la bas tu auras des gens qui passent souvent et pourront peut-etre héberger le projet.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés