[Mod]Superapix

Démarré par machine, 28 Février 2013, 15:45:35

« précédent - suivant »

machine

^^

je tag dans la soirée alors :)

Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/

Anubys

Ok pour moi également ;)

Ed la poignee

roms0406

Aka-Thor

06 Mai 2013, 19:54:52 #124 Dernière édition: 07 Mai 2013, 00:21:55 par Aka-Thor
Bonjour,

Je suis nouveau sur le forum mais cela fait bien longtemps que j'utilise vos outils.
Et étant un peu radin sur les bords, je reste hébergé chez free.... (bah oui 5€ par mois en plus ça fait beaucoup ! =D )
Donc jusque là rien d'anormal superapix ne marche pas et je sais très bien pourquoi et c'est plus ou moins pour cela que je suis ici.

J'ai voulu essayer renette + pommedapi mais j'ai un bug rien ne s'upload.

Alors j'ai réfléchi 5minutes et je me suis dis que si le serv ne peut aller chercher les fichiers .xml , je vais lui donner moi.
Donc j'ai pondu un script Python pour faire tout ça.
Puis je dois modifier les fichiers .php mais ça à l'air d'être en bonne voie.

Par contre j'ai un problème avec le lien "http://uni{uni}.ogame.fr/api/playerData.xml?id={id}", je n'ai trouvé dans aucun fichier .php de super apix une fonction qui le traite. Je voudrai donc savoir si possible comment est traité le id={id} ?
Parce que vu que les id ne commencent pas forcément à 0 ou 1... et puis ça fait beaucoup de fichiers aussi...

Je vous partage mon travail :
'''
#!/usr/bin/env python3.3


import urllib.request as wget
#from urllib.error import URLError, HTTPError
import urllib.error
import ftplib


##########################
#    Variable globale
##########################
UNI = "105";

def uploadFTP( file_upload, ftp):
    file = open(file_upload+".xml", 'rb') # ici, j'ouvre le fichier ftp.py
    ftp.storbinary('STOR '+file_upload+".xml", file) # fichier à envoyer
    file.close() # on ferme le fichier
    print(file_upload +".xml upload succesfull")
   
def connectionFTP():
    #Connection FTP
    ftp = ftplib.FTP()
    ftp.connect("adresseftp")
    ftp.login("username","passwd")
    #ftp.set_pasv(passif)
   
    return ftp

def closeFTP(ftp):
    """ferme la connexion ftp
       - ftp: variable 'ftplib.FTP' sur une connexion ouverte
    """
    try:
        ftp.quit()
    except:
        ftp.close() 
   
def downloadXML( xml_addr ):
    try:
        url = "http://uni" + UNI + ".ogame.fr/api/"+ xml_addr + ".xml"
        xml = wget.urlopen(url)
        print("Download "+ xml_addr +".xml")
        xml_file = xml.read()
        xml_file = xml_file.decode("utf8","strict")
        return str(xml_file)
    except urllib.error.URLError as e:
        print(e.reason)
    except urllib.error.HTTPError as e:
        print(e.code)

def downloadHighscoreXML( xml_addr , var1, var2):
    try:
        var1 = str(var1)
        var2 = str(var2)
        url = "http://uni" + UNI + ".ogame.fr/api/"+ xml_addr +".xml?category="+ var1+"&type="+ var2
        xml = wget.urlopen(url)
        print("Download "+ xml_addr +".xml?category="+var1+"&type="+var2)
        xml_file = xml.read()
        xml_file = xml_file.decode("utf8","strict")
        return str(xml_file)
    except urllib.error.URLError as e:
        print(e.reason)
    except urllib.error.HTTPError as e:
        print(e.code)
       
def saveFile( data, name):
    """Enregistre les fichiers XML"""
   
    try:
        myfile = open( name+".xml", "w", encoding="utf8" )
        myfile.write( data )
        print("File "+ name +".xml saved")
        myfile.close()
    except IOError as e:
        print("Impossible d'écrire le fichier",e.errno)       
   
print("Download start ...
")
players = downloadXML( "players" )
saveFile( players , "CST_PLAYERS" )

alliances = downloadXML( "alliances" )
saveFile( alliances, "CST_ALLIANCES" )

universe = downloadXML( "universe" )
saveFile( universe, "CST_UNIVERSE" )

serverData = downloadXML( "serverData" )
saveFile( serverData, "CST_SERVERDATA" )

highscore = downloadHighscoreXML( "highscore", 1, 0 )
saveFile( highscore, "CST_PLAYERS_RANK_POINTS")

highscore = downloadHighscoreXML( "highscore", 1, 1 )
saveFile( highscore, "CST_PLAYERS_RANK_ECO")

highscore = downloadHighscoreXML( "highscore", 1, 2 )
saveFile( highscore, "CST_PLAYERS_RANK_TECHNOLOGY")

highscore = downloadHighscoreXML( "highscore", 1, 3 )
saveFile( highscore, "CST_PLAYERS_RANK_MILITARY")

highscore = downloadHighscoreXML( "highscore", 1, 4 )
saveFile( highscore, "CST_PLAYERS_RANK_MILITARY_BUILT")

highscore = downloadHighscoreXML( "highscore", 1, 5 )
saveFile( highscore, "CST_PLAYERS_RANK_MILITARY_DESTROYED")

highscore = downloadHighscoreXML( "highscore", 1, 6 )
saveFile( highscore, "CST_PLAYERS_RANK_MILITARY_LOST")

highscore = downloadHighscoreXML( "highscore", 1, 7 )
saveFile( highscore, "CST_PLAYERS_RANK_MILITARY_HONNOR")


highscore = downloadHighscoreXML( "highscore", 2, 0 )
saveFile( highscore, "CST_ALLIANCES_RANK_POINTS")

highscore = downloadHighscoreXML( "highscore", 2, 1 )
saveFile( highscore, "CST_ALLIANCES_RANK_ECO")

highscore = downloadHighscoreXML( "highscore", 2, 2 )
saveFile( highscore, "CST_ALLIANCES_RANK_TECHNOLOGY")

highscore = downloadHighscoreXML( "highscore", 2, 3 )
saveFile( highscore, "CST_ALLIANCES_RANK_MILITARY")

highscore = downloadHighscoreXML( "highscore", 2, 4 )
saveFile( highscore, "CST_ALLIANCES_RANK_MILITARY_BUILT")

highscore = downloadHighscoreXML( "highscore", 2, 5 )
saveFile( highscore, "CST_ALLIANCES_RANK_MILITARY_DESTROYED")

highscore = downloadHighscoreXML( "highscore", 2, 6 )
saveFile( highscore, "CST_ALLIANCES_RANK_MILITARY_LOST")

highscore = downloadHighscoreXML( "highscore", 2, 7 )
saveFile( highscore, "CST_ALLIANCES_RANK_MILITARY_HONNOR")


ftp = connectionFTP()

uploadFTP("CST_PLAYERS", ftp )
uploadFTP( "CST_ALLIANCES", ftp )
uploadFTP( "CST_UNIVERSE", ftp )
uploadFTP( "CST_SERVERDATA", ftp )
uploadFTP( "CST_PLAYERS_RANK_POINTS", ftp )
uploadFTP( "CST_PLAYERS_RANK_ECO", ftp )
uploadFTP( "CST_PLAYERS_RANK_TECHNOLOGY", ftp )
uploadFTP( "CST_PLAYERS_RANK_MILITARY", ftp )
uploadFTP( "CST_PLAYERS_RANK_MILITARY_BUILT", ftp )
uploadFTP( "CST_PLAYERS_RANK_MILITARY_DESTROYED", ftp )
uploadFTP( "CST_PLAYERS_RANK_MILITARY_LOST", ftp )
uploadFTP( "CST_PLAYERS_RANK_MILITARY_HONNOR", ftp )
uploadFTP( "CST_ALLIANCES_RANK_POINTS", ftp )
uploadFTP( "CST_ALLIANCES_RANK_ECO", ftp )
uploadFTP( "CST_ALLIANCES_RANK_TECHNOLOGY", ftp )
uploadFTP( "CST_ALLIANCES_RANK_MILITARY", ftp )
uploadFTP( "CST_ALLIANCES_RANK_MILITARY_BUILT", ftp )
uploadFTP( "CST_ALLIANCES_RANK_MILITARY_DESTROYED", ftp )
uploadFTP( "CST_ALLIANCES_RANK_MILITARY_LOST", ftp )
uploadFTP( "CST_ALLIANCES_RANK_MILITARY_HONNOR", ftp )
               
closeFTP(ftp)

print("Terminated...")


Edit : J'ai fini le script python qui marche à merveille.
J'upload directement dans le dossier xml de superapix.

J'ai modififé les fichiers .php qu'il fallait (en fait cst.php  et je sais plus lequel qui contenant la fonction copy() seulement) afin que le mod n'aille pas chercher les fichiers ailleurs, n'ai pas besoin de les renomer etc...

Je pensais que ça allait suffir pour que ça marche sur free... et bien non.
Ce n'est pas parce que j'ai fais de la m**** en modifiant les fichiers mais parce que c'est free !
J'ai testé le module en local avec mes fichiers que j'ai dl avec mon script et étrangement ça marche....

Donc si je créateur de ce mod a une idée de la fonction qui est dépréciée par free j'aimerai bien savoir :)

En fait pendant qu'il traite les fichiers .xml j'ai une erreur sql(fin beaucoup) mais ça va vite et pas le temps de les lire...

Edit 2 : je crois que d'après ce que j'ai pu lire de l'erreur, une requête SQL ne correspond pas à la version SQL de free...

un REPLACE INTO ogpy_superapix_rank_player(...)

D'après le timestamp à la fin, les données seraient insérées sauf que il n'y a rien dans la DB...

machine

07 Mai 2013, 06:08:16 #125 Dernière édition: 07 Mai 2013, 06:24:37 par machine
Interessant ton script ...

pour avoir les erreurs exacts actives le dans l admin ogspy ..
ca donnera une idée franche de ce qui peut ne pas coller,

a mon sens ta methode devrait coller et fonctionner ( ce ne peut pas etre replace into qui foire ... )

entre chaque tenta resinstalle et installe le mod

pourquoi ne pas te diriger vers un hebergeur gratuit ???

http://www.hostinger.fr/hebergement-web fonctionnait pour ogspy, il y en a surement d autre d ailleurs ...


edit, place tes xml dans un dossier xml au niveau du mod

"http://uni{uni}.ogame.fr/api/playerData.xml?id={id}" => n 'est pas utilisé ... on n utilise pas les fiches joueurs

Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/

Aka-Thor

J'ai oublié de reposter la nouvelle version de mon script. Mais en effet, je mets directement les fichiers dans le dossier xml du mod superapix.
et je les nomme directement, donc superapix n'a rien a traiter au niveau des fichiers sauf les lire.

Par contre comment voir les erreurs? vu qu'il est déjà activé. il y a un module debug ?

Pour l'hébergement, c'est vrai que le gratuit est intéressant mais parfois les pubs et tout qui vont avec...
J'ai essayé mon script en local et il marche parfaitement. D'après ce que j'ai pu voir d'une erreur SQL qui est passée c'est un UPDATE qui foire.
Visiblement free est aussi en retard sur la version du serveur SQL (5.quelquechose).

machine

Hostinger : pas de pub ....

Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/

Aka-Thor

07 Mai 2013, 18:32:08 #128 Dernière édition: 07 Mai 2013, 18:41:03 par Aka-Thor
Je vais aller voir ça je pense, j'ai déjà regardé vite fait à midi, ça à l'aire dêtre fort intéressant.

Mais pour mon problème de requêtes SQL je vois pas ce qui bug.

Si certains sont intéressés pour essayer mon script, il est open source hein :)

edit: bah je viens de créer un compte chez hostinger et ils se sont prit une attaque DDos tiens... xD

machine

j ai un bug signalé au niveau des lunes

les lunes apparaissent elles bien avec une maj superapix ?

Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/

Th4n4t0s

voilà j'ai installer superapix et voici le message d'erreur que j'obtiens en allant dessus

allow_url_fopen non activé, verifier votre configuration php

PS : suis chez hebergratuit, PHP version:    5.3.14

machine

Citation de: Th4n4t0s le 10 Mai 2013, 20:56:00
voilà j'ai installer superapix et voici le message d'erreur que j'obtiens en allant dessus

allow_url_fopen non activé, verifier votre configuration php

PS : suis chez hebergratuit, PHP version:    5.3.14

Si cette fonction n'est pas active, ca ne peut pas fonctionner ...
contact ton hebergeur pour voir si une modification de la config est possible ....

Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/

bdd_1

14 Mai 2013, 11:50:58 #132 Dernière édition: 14 Mai 2013, 11:56:06 par bdd_1
Lu,
DDos sur Hostinger  >:(
Quelles sont les tables à supprimer pour une install propre?
Le mod reste en step=0

PS: les croix d'xtense sont devenues Orange
MAC - OGSpy 3.2.0 - Xtense 2.6.2 - OGXtense GM 2.6.1.0 - FF41.0.2 - free.fr

machine

Citation de: bdd_1 le 14 Mai 2013, 11:50:58
Lu,
DDos sur Hostinger  >:(
Quelles sont les tables à supprimer pour une install propre?
Le mod reste en step=0

PS: les croix d'xtense sont devenues Orange


pour le mod si tu desinstalles et reinstalle, ca devrait le faire ( les tables sont supp en cas de desinstallation ... )

xtense / superapix n ont rien a voir ... :p

Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/

bdd_1

J'avais déjà tester une dé-install; sans succès.
Effectivement Xtense et superapix non rien à voir.
Mais comme c'est mon OGSpy qui est affecté, cela peut mètre la puce à l'oreille si qlq'un à déjà eu le même souci :
Disparition du dossier public_html, Fixation propriétaire fichier...
MAC - OGSpy 3.2.0 - Xtense 2.6.2 - OGXtense GM 2.6.1.0 - FF41.0.2 - free.fr