ogsteam / ogspy Goto Github PK
View Code? Open in Web Editor NEWOGSpy collects data from a game to helps players to spy all the universe
Home Page: https://forum.ogsteam.eu
License: GNU General Public License v2.0
OGSpy collects data from a game to helps players to spy all the universe
Home Page: https://forum.ogsteam.eu
License: GNU General Public License v2.0
Modification du schema BDD
Ajout des ID joueur et alliance
dans galaxie + classements
Prévoir une transition vers un chiffrement de mots de passes plus sécurisé. Une version intermédiaire sera nécessaire pour la conversion des mots de passes au moment du Login de l'utilisateur.
Pour les autres ce sera un Reset par email.
Certaines sont désormais manquantes. A remplacer par l'image générique.
Lorsque l'on utilise un pseudo ig contenant des espaces, il est impossible de mettre ce pseudo dans le profil du joueur.
Ce champ du profil ne prend pas en compte les espaces.
Exemple : Pseudo ig Space Dandy. Si on entre dans le champ pseugo ig du profil de l'utilisateur, on a une erreur lors de la validation.
Par contre, si on met Space%20Dandy le pseudo est enregistré. Je ne sais par contre si le lien xTense <---> OgSpy fonctionne dans ce cas donc si les informations sont bien remontées sur le serveur.
Possibilité de resetter les données du serveur OGSpy par le panneau admin.
Le bâtiment "Dock Spatial" n'est pas pris en compte.
Ajouter dans upgrade : ALTER TABLE ogspy_user_building ADD Dock
smallint(2) NOT NULL default '0' AFTER Silo
;
Et mettre à jour le schéma SQL.
Remontée Forum
J'ai trouvé un petit bug sur le nombre des cases dans l'espace personnel, les boosters cases sont comptés 2 fois, au lieu d'avoir un +15 sur planète ou un +6 sur lune j'ai +30 et +6.
Mais seulement dans la page empire, dans la page simulation, les cases des planètes sont correctes.
Actualisation du skin avec mise en place d'un nouveau template
Ajouter lors de l'installation d'un OGSpy les paramètres de configuration Ogame suivant (comme avec le nombre de galaxie) :
Bonjour,
je reviens vers vous suite à ma demande sur slack de mise en compatibilité avec ogame.us
je suis sous chrome.
la barre xtense du navigateur ne renvoi pas les donnée des rapport d'esponnage realisé et subi.
de plus sur la cartographie, les mod pandore et quimesonde ne marche pas, ils sont vident....
pourriez vous m'aider.
Merci a vous
gestion en utf-8
Le fait de ne pas utiliser de prefix pour le nom des tables empêche l'installation complète.
Déplacer le Change Log sur Github
De nombreux mots de passes corrects sont refusés à cause d'une taille trop grande.
C'est bien dommage pour la sécurité.
Lorsqu'il y a pas de defense sur une lune (a vérifier) les defenses de la planete remonte sur la lune et nous avons les defenses en double, cela peut s'averer etre trompeur lorsque l'on recherche une info
Librairies Google Obsolète
Permettre à l'utilisateur de s’inscrire par lui même via la fonction mail
Bonjour,
J'ai voulu mettre à jour OGSpy en 3.4, j'ai donc sauvegardé fichiers et base de données. Ensuite j'ai uploadé le contenu du zip obtenu sur github en écrasant les fichiers existants.
Lorsque je veux lancer l'install pour mettre à jour, j'obtiens une page blanche et dans les logs du serveur web j'ai ceci :
PHP Parse error: syntax error, unexpected '[' in /home/vhosts/ogam/ogspy/vendor/sabre/uri/lib/functions.php on line 45
Apache version 2.2.15
PHP version 5.3.3
Merci d'avance.
Cdt, Thibaut.
Ajout de la configuration pour envoi mail
Sur un serveur, fonction setcookie() de php ne semble pas fonctionner
=> php .ini ????
=> passer via BDD ??
Notre librairie est bien trop ancienne et pose des problèmes de qualité.
Les tooltips seraient à revoir avec une nouvelle lib.
L'administrateur peut via une option de l'utilisateur pousser son utilisateur à changer de mot de passe à sa prochaine connexion.
L'opération sera à faire dès la page de Connexion
J'utilise le mod quimsonde sur notre serveur d'alliance mais il semble que seuls les RE de mon pseudo sont remontés sur le serveur alors que d'autres utilisateurs utilisent xTense et leurs informations remontent correctement sur le serveur.
Sur cette image, on voit que seul un profil (Taz) utilise le module ce qui est faux.
Je ne sais pas comment debug ce problème.
Merci de votre retour
Warning sur page administration :
Apache 2.4.25 / PHP 5.6.30 / OGSpy 3.4.0
URL (IPv6) = http://localhost/ogame/ogspyb/index.php?action=administration&subaction=infoserver
Présence de 2 warnings :
Warning: array_map() expects parameter 1 to be a valid callback, function 'hexhex' not found or invalid function name in C:\Logiciels\xampp\htdocs\ogspyb\core\functions.php on line 112
Warning: implode(): Invalid arguments passed in C:\Logiciels\xampp\htdocs\ogspyb\core\functions.php on line 112
La fonction concernée est function decode_ip($int_ip)
(http:// localhost => $int_ip=string(32) "00000000000000000000000000000001") =>Affichage de "::"
(http://127.0.0.1 => $int_ip=string(8) "7f000001") =>Affichage de "127.0.0.1" (pas de warning)
Le problème vient du contexte. (ex dans une classe "foo" il faut faire array_map(array('Foo','myfonction'), ...)
La fonction isolée dans un fichier simple PHP fonctionne correctement.
function decode_ip($int_ip)
{
if (strlen($int_ip) == 32) {
$int_ip = substr(chunk_split($int_ip, 4, ':'), 0, 39);
$int_ip = ':' . implode(':', array_map("hexhex", explode(':', $int_ip))) . ':';
preg_match_all("/(:0)+/", $int_ip, $zeros);
if (count($zeros[0]) > 0) {
$match = '';
foreach ($zeros[0] as $zero)
if (strlen($zero) > strlen($match))
$match = $zero;
$int_ip = preg_replace('/' . $match . '/', ':', $int_ip, 1);
}
return preg_replace('/(^:([^:]))|(([^:]):$)/', '$2$4', $int_ip);
}
$hexipbang = explode('.', chunk_split($int_ip, 2, '.'));
return hexdec($hexipbang[0]) . '.' . hexdec($hexipbang[1]) . '.' . hexdec($hexipbang[2]) . '.' . hexdec($hexipbang[3]);
}
function hexhex($value)
{
return dechex(hexdec($value));
}$ip = "00000000000000000000000000000001";
var_dump(decode_ip($ip));$ip = "7f000001";
var_dump(decode_ip($ip));
Option pour indiquer à l'utilisateur si :
PHP 5.6 will be required for this release.
génération d'un salt [ durant installation ]
Dans mon univers une personne a :
SUPERMAN (543.066.492) 26.724.904.853 Pts
Mais dans OGSpy on arrive à la limite max des tables :
1 SUPERMAN 2 147 483 647 Pts
Message d'erreur sur la transmission de données lorsque l'on saisi un lien https pour le forum d'alliance dans les paramètres d'OGSpy
Le passage d'une fonction en paramètre d'une autre fonction se fait par le nom de cette fonction.
ex : function fct(callable $callback, ...)
Lorsque l'on utilise des namespaces l'environnement des variables (et fonctions) change, il faut donc en prendre en compte. (http://php.net/manual/en/language.namespaces.php - http://php.net/manual/fr/language.types.callable.php)
À la place de $a = fct('myfct);
Faire $a = fct('mynamespace\myfct');
ou $a = fct(__NAMESPACE__.'\myfct');
Ainsi, pour toutes les fonctions ayant des callback, il faut rajouter __NAMESPACE__.'\'.
devant le nom de la fonction/class/object. (Si c'est un objet/class il faut peut-être faire avec un array)
Liste à minimale des fonctions PHP avec callback :
array array_map ( callable $callback , array
$array1 [, array $ ... ] )
array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )
mixed array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] )
bool array_walk ( array &$array , callable $callback [, mixed $userdata = NULL ] )
bool array_walk_recursive ( array &$array , callable $callback [, mixed $userdata = NULL ] )
int iterator_apply ( Traversable $iterator , callable $function [, array $args ] )
mixed call_user_func_array ( callable $callback , array $param_arr )
mixed call_user_func ( callable $callback [, mixed$parameter [, mixed $ ... ]] )
bool usort ( array &$array , callable $value_compare_func )
bool uasort ( array &$array , callable $value_compare_func )public mixed ReflectionFunction::invoke ([ mixed
$parameter [, mixed $ ... ]] )
public mixed ReflectionMethod::invoke ( object $object [, mixed$parameter [, mixed $ ... ]] )
==>Il faut vérifier dans tout le code l'utilisation ou non de ces fonctions et corriger le code sous peine d'erreur (non visible).
Un utilisateur doit pouvoir valider son adresse mail,
découplage de la couche model
cf : OGSteam/mod-autoupdate#21
Lors de la mise à jour du mod Inactifs de l'ancienne version 1.0.8 vers la nouvelle 1.0.10
La mise à jour se déroule correctement mais au retour sur le tableau de mise à jour la version installée reste en 1.0.8 et propose de maj vers 1.0.10
En désinstallant le mod et en le réinstallant directement, la bonne version (1.0.10) est bien prise en compte
Afin de sécuriser réinitialisation mail , création d'un classe token
cette classe pourra être utile pour les formulaires ( inscription autonome des joueurs par exemple )
ajout du la biblio PHP mailer
Pouvoir envoyer sur adresse mail directement les informations du compte (réinitialisation du mdp)
Au lieu d'utiliser une constante à travers le code d'OGSPY, la classe DB pourrait se charger de modifier la requête à la volée.
Qu'en pensez vous?
Visualiser si le joueur a :
du coup, ajouté dans la base de donnée un champs (bool) confirmation mail
mise en place d'un autoloader pour appel classe model
Création d'un Token d'Authentification pour les connexions Xtense et autres modules externes.
Erreur du script Docker
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.