forum

[Programme] Osu! Local Scores Synchronizer (Open Bêta v0.4)

posted
Total Posts
47
Topic Starter
FunkySayu
Bonjour à tous et à toutes.
Je viens aujourd'hui vous présenter un petit programme que je suis en train de concevoir, que je met en Open Bêta. Il s'agit d'un synchronisateur des bases des données des scores locaux de plusieurs utilisateurs, pour que ceux ci puissent pouvoir comparer leurs scores tout au long de leur évolution.

I - Avant propos

Ce logiciel est développé sous licence GPL par l'association Virtual Sanctuary Team (http://virtualsanctuary.fr.cr/). Il est basé sur un lecteur de base de données d'Osu! développé en Ruby par watashi (https://github.com/watashi/osu-db) sous licence GPL, et sur un compilateur de script bash fait par Fatih Kodak (http://www.f2ko.de/programs.php?lang=en&pid=b2e), ainsi que le langage Python.
Je tiens à souligner que le logiciel ici présent est sous Open Bêta ; cela signifie qu'il est sujet à des bugs et des mises à jours fréquentes (pour l'instant non automatiques). Je tiens aussi à souligner que tout bug raporté sera un bug en moins. Ainsi, si vous avez des choses à souligner, n'hésitez pas à le faire à l'adresse suivante : teamvirtualsanctuary[AT]gmail{DOT}com.

Ce logiciel est toléré par la charte d'Osu! (vérifié auprés d'un admin).

Si vous n'êtes pas un fervant lecteur, j'ai fait une petite vidéo de démonstration (désolé je n'ai pris que le left de mon micro sans faire gaffe, donc c'est pas en stéréo...)



II - Introduction et présentation

Le logiciel que je propose se base sur une relation client - serveur. Il est donc par conséquent obligatoire de posséder un ordinateur allumé constament qui puisse faire office de serveur. Pour l'instant, j'ai développé le serveur que sur Linux. Dans ma prochaine mise à jour, j'étendrais cela à windows.


II.1 - A quoi ça sert ?


Osu! Local Scores Synchronizer (que j'abrégerais OLSS) permet de synchroniser plusieurs fichiers de scores locaux automatiquement à l'ouverture d'Osu!. Ceci permet tout simplement de récupérer et pouvoir comparer les scores de plusieurs utilisateurs (qui ne sont pas sur le même PC) directement dans le jeu.
Voilà par exemple ce que l'on obtient après une synchronisation :

On voit sur cette image non pas les scores locaux d'un utilisateur, mais de plusieurs sur une map. Bien évidemment, ceux-ci sont triés par scores décroissant.


II.2 - Bien, mais comment ça marche ?


OLSS requiert 3 ordinateurs minimum : 2 ordinateurs de joueurs d'Osu! (minimum), et un serveur permettant de synchroniser les données envoyées par les utilisateurs. Le seul fichier que modifie OLSS est le fichier scores.db (dans la racine d'Osu!) contenant tous les scores des utilisateurs.

Schématisons un peu tout cela :

  1. A l'étape 1, le joueur rouge envoie ses scores au serveur. Le serveur les reçoit, et synchronise l'ensemble des scores qu'il possède, c'est à dire que ceux du joueur rouge. Ainsi à l'étape 2, le joueur rouge ne reçoit que ses scores en retour.
  2. A l'étape 3, c'est au tour du joueur bleu de se connecter. Le serveur reçoit ses scores, et les synchronise avec les scores qu'il possède. Ainsi, à l'étape 4, le joueur bleu reçoit ses scores et ceux du joueur rouges.
  3. Si l'on mettais maintenant une cinquième étape, où le joueur rouge se reconnecterais avec de nouveaux scores (bah oui, il a joué entre temps...). Il envoie ses scores, et reçoit aussi ceux du joueur bleu en retour. Et ainsi de suite.

II.3 - Concrètement, ça ressemble à quoi ?


OLSS, lorsqu'il s'installe, créé un launcher pour osu! (petit programme qui s'execute avant osu!) permettant de synchroniser les scores. Ce launcher est généré à l'installation, et se nomera «osu!launcher.exe». Pour synchroniser vos scores, vous devrez utiliser ce launcher plutôt que le raccourcis standard vers osu!.
Notez qu'il est fortement recommandé de quitter osu! avant de lancer ce programme (je ne me porte pas garant de ce qu'il adviendra de vos scores si vous faites ça).
Ce launcher (pour la version actuelle, la v0.4) ressemble tout bêtement à cela :

Bon d'accord, je vous l'accorde c'est pas bien joli (je dois vous avouer ne pas trop avoir bossé là dessus). Mais bon ça fait le taff.

On a donc 4 champs et 2 boutons :
  1. Votre nom d'utilisateur pour vous authentifier au prés du serveur
  2. Votre mot de passe
  3. L'ADRESSE IP du serveur (les noms de domaines ne sont pas encore supportés, c'est à venir)
  4. et les pseudonymes à synchroniser (si vous laissez ce champ vide, le serveur synchronisera tous les utilisateurs qu'il a enregistré.
  5. le bouton Synchronise lance la synchronisation auprès du serveur (ce qui prend entre 5 et 20 secondes max normalement)
  6. et le bouton Quit and start Osu!, qui porte bien son nom.
Jusque là, c'est pas compliqué à suivre. Pour synchroniser auprés d'un serveur, il suffit donc de cliquer sur Synchronise, et paf! vos scores sont synchronisés avec les autres utilisateurs.


II.4 - Bien, mais qu'en est-il du serveur ?

Alors je le re-souligne, si le logiciel est en Open Bêta, c'est pas pour rien. Pour l'instant, le serveur est potentiellement instable (je boss là dessus). J'ai donc, par précaution, préféré le faire tourner en premier plan (foreground). Pour l'intérompre, un Ctrl+C est de rigueur.
Pour executer le serveur après installation, il suffit juste de faire un ./start_server.py dans le dossier d'installation. Vous vous retrouverez avec un truc ressemblant un peu à ça après une connexion :

C'est pas très beau, mais c'est pratique pour savoir qui trifouille chez vous. En passant, un fichier log est lui aussi créé, un peu plus renseigné que l'affichage ici.

Un fichier white_list.cfg est présent sur le serveur. Sa syntaxe est la suivante :
<pseudo> <mot_de_passe>
Par exemple:
FunkySayu Roblochon
FunkySayu2 Migraine
FunkySayu3 OursDesBois
Note : j'ai un doute sur la gestion des mots de passe à espace.


III - Installation et téléchargement

III.1 - Téléchargement et installation du client

J'ai mis la version 0.4 du client disponible à l'adresse suivante : http://funkysayu2.fr.cr/OLSS/OLSSClientInstaller0.4.zip
Pour installer, il suffit de déziper l'archive et d'executer le fichier installer.bat (FIXME: peut être avec les droits d'admin ?). L'installer installera Python2.7 (pour faire tourner le logiciel) sur votre ordinateur. Pas de panique, c'est juste un interpreteur (pas un truc virulé ou je ne sais quoi). Ensuite, il fera tourner la petite interface graphique qui vous guidera tout simplement durant l'installation.
A la fin de l'installation, vous aurez un fichier .exe sur votre bureau. Je vous recommande de changer tous vos raccourcis vers Osu par ce petit fichier (démarrer osu sans passer par ce .exe ne synchronisera pas vos scores).
Et je crois que c'est tout.

J'ai des problèmes avec un ami qui n'arrive pas à installer le client sur son Windows 8. Donc hésitez pas à feedback là dessus (teamvirtualsanctuary[AT]gmail{DOT}com)



III.2 - Téléchargement, installation et configuration du serveur

De même, j'ai mis la version 0.4 du serveur disponible à l'adresser suivante : http://funkysayu2.fr.cr/OLSS/OLSSServer0.4.zip
A l'intérieur de l'archive, vous trouverez tout pour faire tourner le logiciel. Il suffit de bien configurer le tout, et c'est partit !

Pour ce qui est de la configuration, vous devrez ouvrir le port 8282 sur votre serveur. Ce port est reconfigurable facilement sur le serveur, mais pour les clients, c'est plus compliqué...
Une fois que c'est fait, n'oubliez pas d'éditer votre white_list.cfg

Pour tout problème d'exécution, feedback at : teamvirtualsanctuary[AT]gmail{DOT}com

III.3 - Téléchargement des sources

Je compte mettre à disponibilité les sources de mes programmes sur un git. Pour l'instant, vu que c'est du Python, vous pouvez déjà jetter un oeuil :p


IV - Versions et Todo List

IV.1 - Historique des versions

0.4 (par FunkySayu) Open Bêta release
- création d'un installer pour Windows :
- installe Python2.7
- installe le client
- créé les répertoires permettant de faire tourner le client
- créé les fichiers batchs de lancement.

0.3 (par FunkySayu) Closed Bêta release
- création d'une interface graphique côté client.

0.2 (par FunkySayu) Closed Bêta release
- création d'un systeme Client-Serveur permettant de synchroniser
les scores automatiquement a distance.

0.1 (par FunkySayu) Alpha release
- création des méthodes d'analyse de scores locaux
- conception des fonctions de concatenations des fichiers scores

IV.2 - Todo List

Version 0.5
- sécurisation générale du serveur
- porter le serveur sous windows
- ajout d'un fichier de licence (il faudrait que je le fasse un jour quand meme)
- incorporation du système de connexion par nom de domaine côté client

Version 0.6
- incorporation d'un changelog du côté du client : cela lui permettra de savoir qui l'a dépassé au niveau des scores locaux (un peu comme sur Osu! par rapport au scores globaux)

Version 0.7
- traduction (viable) en anglais

Version 0.8
- PEUT ETRE des mises à jour automatique sur un serveur mandataire.

Version 1.0
- des tests éprouvés et un debug de ouf.

Proposez vos idées à l'adresse teamvirtualsanctuary[AT]gmail{DOT}com !


V - Notes

V.1 - Historique des modification du post

08/03/13 : ajout de la vidéo de démonstration de la v0.4.
09/03/13 : information à propos du problème de compatibilité avec la MàJ de Osu! du 09/03.
11/03/13 : suppression de l'information à propos du problème de compatibilité avec la MàJ de Osu! (lié à une base de donnée corrompue)

V.2 - Note importante

EN AUCUN CAS J'OUVRIRAIS UN SERVEUR POUR DES PERSONNES QUE JE NE CONNAIS PAS ;). Pas la peine de me mailer / me mp.

Pensez à nous, chaque like est un pas de plus vers les sponsors : http://www.facebook.com/Team.Virtual.Sanctuary , http://virtualsanctuary.fr.cr/
Je vous remercie d'avoir lu jusqu'ici, et à bientôt :p
Fraolinch
J'attends une heure d'être réveillé, je reviens lire tout ça et je te dis quoi.
Ça a l'air sympa en tout cas, j'peux dire au moins ça.

EDIT: ok j'ai tout lu. Honnêtement je sais pas trop quoi dire, j'y connais pas grand chose en prog. etc.
Tout ce que je saurais pointer c'est les typos/fautes.
Le flemmard de service te souhaite bonne chance pour la suite.
Topic Starter
FunkySayu
Merci bien de ta réponse Fraolinch :) N'hésites pas à me souligner les fautes d'orthographe : même si j'essaye de faire de mon mieux, je suis extrêmement mauvais... Si tu veux aussi qu'on revoit un peu le post pour qu'il soit plus explicatif, n'hésite pas non plus !

J'ai fait une petite vidéo de démo pour le côté client (désolé mon micro n'a pris que le côté gauche).



Modification du topic principale :
Ajout de la vidéo
Sayuki
Je viens de tout lire, ça m'a l'air vraiment bien sympa ce programme. Faudra que je le teste un de ces quatres avec un pote. J'irai rapporter les bugs si j'en trouve. ;)
Topic Starter
FunkySayu
@Fuyuneko Merci beaucoup à toi :D
Normalement, sous 2 jours si je suis pas un flémar, je fais la version Windows du serveur (pas très long en fait, mais ça sent le massive debug... haaaa Windows...)

Il est possible que j'ouvre un serveur de test chez moi. A voir.
rezoons
C'est vrai que ça à l'air plutôt sympa :). Par contre je ne pourrais pas tester car aucun de mes amis ne joue à OSU! :( .
En tout cas je te souhaite bonne chance pour la suite.
Sakisan
Ça à l'air très intéressant, mais plutôt compliqué pour le résultat que ça produit. Enfin, je relirai ça à mon aise quand j'aurai le temps...
au fait si tu veux des gens pour rapport er des bugs, pourquoi le poster sur le forum français et pas le forum general ?
Topic Starter
FunkySayu
J'ai posté sur le forum fr pour plusieurs raisons : je suis pas forcement excellent en anglais, et ça m'aurais pris des plombes à expliquer le principe du soft en anglais.

En fait, Sakisan, c'est pas si compliqué que ça. On a juste besoin d'un PC qui reste allumé tout le temps, et bien config. Le reste, c'est de l'installation :D Peut être ai-je mal tourné mon post :)
Car l'utilisation prend 10s à chaque ouverture d'osu (le temps de synchroniser quoi), et le temps d'installation. C'tout :)
Topic Starter
FunkySayu
Apparemment, depuis la dernière mise à jour, le logiciel plante. Je vais donc modifier le lecteur et essayer de trouver ce qui ne va pas.

Le serveur sera actualisé aussi dans la nouvelle version (v0.5), et sera porté sous windows avec une interface graphique permettant de le gérer. Se sera prés début de semaine prochaine à priori.

Mise à jour du post principale :
- note sur le fait que le reader est instable avec la nouvelle version de Osu! (Maj du 09/03/2013).
Dark Adonis

FunkySayu wrote:

En fait, Sakisan, c'est pas si compliqué que ça. On a juste besoin d'un PC qui reste allumé tout le temps, et bien config.
Bah en fait, c'est ça le gros obstacle, avoir un serveur~
Mais je trouve le concept vachement intéressant tout de même :o
Topic Starter
FunkySayu
@Dark Adonis
Je suis bien d'accord (et je m'en suis rendu compte que récemment en fait). C'est pour ça que j'ai choisis de porter le serveur sous windows. Du coup, les utilisateurs pourront synchro leurs scores sur le pc d'un ami (si le NAT de la box est bien configuré, pour ça je trouverais les liens pour expliquer).
Nomeji
C'est vraiment un super programme que tu as fais. Je vais demander à un ami de l’installer sur son serveur et je rapporterais les bugs. On a une bonne petite communauté de joueurs et une personne qui a un serveur donc ton programme va nous être super utile. Merci beaucoup.

Je suppose que ton programme peut aussi fonctionner sur un serveur OVH ou autre donc il n'est pas obligatoire d'avoir un ordinateur toujours allumer si on paye un petit abonnement.
Topic Starter
FunkySayu
Bonjour Nomeji.
Le principe de «l'ordinateur tout le temps allumé» est simplement là pour expliquer ce qu'est un serveur.

Un serveur OVH est parfaitement suffisent.

Petite note par rapport à ce que je disais précédemment, le bug que j'avais trouvé était lié à une base de donnée corrompu. Je vais donc continuer ma version serveur 0.5 sur windows (déjà portée, interface graphique en cours d'implémentation) et enlever la note sur le topic.

Mise à jour du post principale :
- suppression de la note sur une potentielle erreur lié à la mise à jour du 09/03 d'osu!.
Topic Starter
FunkySayu
Mise à jour majeur (version 0.5)

0.5 (par FunkySayu) Open Bêta release :
- serveur porté sous windows :
- création d'une interface de gestion du serveur
- lancement en daemon
- création d'un installer pour le serveur
- légère stabilisation du serveur
- modifications client
- modification graphique pour éviter de divulguer le password

Cette version permet le lancement de serveur sur Windows. Elle est donc plus pratique pour les utilisateurs ne possédant pas de serveurs Linux.

Liens de téléchargement :
- Client : http://funkysayu2.fr.cr/OLSS/OLSSClientInstaller0.5.zip
- Serveur Windows : http://funkysayu2.fr.cr/OLSS/OLSSServer ... 0.5Win.zip
Je vous demande encore un peu de patiente pour le serveur linux.

Liens complémentaires
- Configurer le pare feu de la box : http://config.emule-inside.net/routeurs.php (configurer la redirection du port 8282 en TCP)
- la vidéo YouTube pour les informations à propos du changelog :


(edit : pas de modification du post principale ce soir, j'ai pas le temps :))
Nomeji
Quand va tu mettre à jour la version Linux du serveur ? J'en aurais besoin. Merci d'avance.
Topic Starter
FunkySayu
Bonjour.

Mes excuses, j'ai pas mis à jour la version linux. Mais pour ce faire, rien de grave, il suffit juste de changer une ligne :D
Dans le fichier «config.py», il suffit de changer la ligne
__version__ = '0.4'
par
__version__ = '0.5'

Il n'y a pas eu de modifications majeures, d'où un changement de version aussi simple pour linux.
Linuxomaniac
Salut !
Merci beaucoup pour ce magnifique soft ! J'ai juste un problème pour le serveur Linux. Tu as déclaré une importation des fichiers contenus dans « bin » (import bin.server as server), mais ce dossier est vide. Donc j'ai regardé tous les scripts, et effectivement il manque toutes les fonctions du serveur. En conséquences, impossible de lancer le serveur (logique, hein).
Voilà merci encore !
Topic Starter
FunkySayu
Bonjour.

Bon. Suite à pas mal de requettes, j'vais refaire un zip (ou un tar.gz) de la version linux. Il devrait être en ligne d'ici cette aprés midi.

La version 0.6 (open bêta) arrive aussi bientôt, avec le changelog (ce qui s'est passé après votre synchronisation). Je voudrais travailler sur l'optimisation du serveur si possible avant de la publier.

EDIT : Voilà qui est fait ! http://funkysayu2.fr.cr/OLSS/OLSSServer0.5_Linux.tar.gz
Linuxomaniac
Aw yeah ! Ça marche ! Merci beaucoup !
Topic Starter
FunkySayu
Pas de problèmes :) hésites pas à rapporter les bugs !
Linuxomaniac
Pour les utilisateurs sous Linux, j'ai fait un petit script de démarrage et d'arrêt.

EDIT : Fonction de backup ajoutée.

#!/bin/bash

### À configurer ###

utilisateur="" # Utilisateur lançant le serveur
dossier="" # Chemin absolu vers le serveur
sauvegardes="" # Chemin absolu vers le dossier de sauvegarde des scores, sans le « / » à la fin

#################

as_user() {
if [ "`whoami`" = "$utilisateur" ]; then
bash -c "$1"
else
su - "$utilisateur" -c "$1"
fi
}

start() {
if ps ax | grep -v grep | grep -i screen | grep start_server.py > /dev/null; then
echo "OLSS est déjà lancé !"
else
echo "Démarrage de OLSS..."
as_user "cd $dossier && screen -dmS olss ./start_server.py"
sleep 3

if ps ax | grep -v grep | grep -i screen | grep start_server.py > /dev/null; then
echo "OLSS est lancé."
else
echo "Impossible de lancer OLSS !"
fi
fi
}

stop() {
if ps ax | grep -v grep | grep -i screen | grep start_server.py > /dev/null; then
echo "Arrêt de OLSS..."
as_user "screen -p 0 -S olss -X eval 'stuff \"^C\"\015'"
sleep 3
fi

if ps ax | grep -v grep | grep -i screen | grep start_server.py > /dev/null; then
echo "OLSS n'a pas pu être arrêté !"
else
echo "OLSS est éteint."
fi
}

case "$1" in
start|"")
start
;;

stop)
stop
;;

restart)
stop
start
;;

backup)
date=$(date "+%d"/"%m"/"%y"-"%H":"%M":"%S")
echo "Sauvegarde des scores..."
as_user "cd $dossier && zip -r $sauvegardes/scores_$date.zip userScore"
if [ -f "$sauvegardes/scores_$date.zip" ]; then
echo "Les scores ont été sauvegardés dans le fichier scores_$date.zip."
else
echo "Il y a eu un problème lors de la sauvegarde des scores !"
fi
find $sauvegardes -type f -mtime +5 -exec rm -f {} \;
;;


*)
echo "Utilisation : $0 [start|stop|restart|backup]"
;;
esac

En partant du principe que le script s'appelle « olss.sh », pour lancer automatiquement le serveur au démarrage, tapez ceci en console :
sudo ln -s ~chemin absolu vers le script~/olss.sh /etc/init.d/olss.sh
cd /etc/init.d
sudo update-rc.d olss.sh defaults 99

Si vous voulez lancer une sauvegarde automatique des scores, tapez (toujours en console) :
crontab -e
Puis, pour configurer cron, rentrez :
00 9 * * * ~chemin absolu vers le script~/olss.sh backup
Cela lance une sauvegarde tous les jours à neuf heures.

Pour plus d'infos sur crontab, RTFM : http://www.siteduzero.com/informatique/ ... ulierement.
Topic Starter
FunkySayu
Nice one ! Merci bien :)
Je verrais si je peux l'intégrer à la prochaine version
Nomeji
Je voudrais te signaler un premier problème :
Ton programme ne fonctionne pas si on installe python dans un répertoire différent de celui par défaut.

On peut tout de même s'en sortir en utilisant uniquement les fichiers .py mais ça reste moins pratique.

EDIT: Même problème pour le bouton "Quit and start Osu!". Il ne lance pas Osu! si-il n'a pas été installé dans le répertoire par défaut.
Topic Starter
FunkySayu
Bonjour.

De souvenir, je n'ai pas vraiment le choix pour ce qui est de Python. J'vais essayer de proposer un choix différent à l'installation.

Pour information, normalement, le répertoire d'installation de Osu! est demandé au lancement de l'installer. A voir si maintenant j'ai eu un problème pour récupérer le dossier d'installation de Osu!.

Merci pour le report, je regarderais cela de plus près.
Arnold0
Il recherche bien le dossier d'installation d'osu! quand on installe la version windows du serveur et la récupération fonctionne. (Attention je parle bien du SERVEUR j'ai pas encore tester le client.)

par contre la première fois il ma dit un truc du genre bat to exe convertor n'est pas un fichier win32 valide. La seconde fois il essayait d'enregistrer dans desktop alors que le dossier s'appelle bureau quand windows est en français.

Puis il y à un léger problème quand on lance avec le lanceur, et qu'on clique sur start server il ne ce passe rien. par contre si je lance le fichier start_server.py sa fonctionne. (Le statut est running mais j'ai pas encore tester avec un client.)

j'ai fait un fichier bat pour lancer start server.py que j'ai mis dans démarrage mais la quand je redémarre le serveur s'ouvre mais le statut ne passe pas à running.
Adrean
Yo! j'ai un petit soucis avec le logiciel, mon osu! est installé sur un mon 2ème Disque Dur et après avoir faire l'installation ( 'succesfully' as they said ) quand j'essaye de synchoniser avec le serveur, le logiciel m'affiche un message d'erreur ' file scores.nb not found ' est-ce dû au fait que c'est pas l'emplacement par défaut d'osu! ?
Arnold0
Tiens en fait juste pour dire que le setup de python a marche impec pour moi et kenhiro alors qu'on est tout les deux sur windows 8 x).
Also kenhiro a son dossier osu! sur le burreau et sa marche?!
Topic Starter
FunkySayu
par contre la première fois il ma dit un truc du genre bat to exe convertor n'est pas un fichier win32 valide. La seconde fois il essayait d'enregistrer dans desktop alors que le dossier s'appelle bureau quand windows est en français.
J'ajoute à la todo list
- debug : bat to exe convertor n'est pas un fichier win32 valide (il est possible que cela vienne d'une mauvaise selection de l'architecture logicielle. Indiques moi si tu es en 32 bits ou en 64 bits s'il te plait).
- debug : problème de versionnage en fonction de la langue de windows (dossier d'enregistrement du exe osu launcher

Puis il y à un léger problème quand on lance avec le lanceur, et qu'on clique sur start server il ne ce passe rien. par contre si je lance le fichier start_server.py sa fonctionne. (Le statut est running mais j'ai pas encore tester avec un client.)
Cela vient probablement d'un changement de répertoire par défaut d'installation, de Python. A ajouter dans la version 0.7.

Ajouté à la todo list.

Yo! j'ai un petit soucis avec le logiciel, mon osu! est installé sur un mon 2ème Disque Dur et après avoir faire l'installation ( 'succesfully' as they said ) quand j'essaye de synchoniser avec le serveur, le logiciel m'affiche un message d'erreur ' file scores.nb not found ' est-ce dû au fait que c'est pas l'emplacement par défaut d'osu! ?
Très probablement. Est-ce que l'installer t'indique le bon chemin pour le répertoire d'installation de Osu! ? Si oui (attention à la lettre du disque), tente une réinstallation, et dit moi si ça n'a pas changé. Si non, supprime le précédent launcher de osu!, indique le bon chemin d'installation, réinstalle, et dis moi ce qu'il en est.
Merci pour le feedback, je tenterais d'ajouter ça en fonction de ta réponse (ajouté à la todo list).

Tiens en fait juste pour dire que le setup de python a marche impec pour moi et kenhiro alors qu'on est tout les deux sur windows 8 x).
Merci pour le feedback. Juste pour savoir, avez vous eu un avertissement de Windows disant que "windows avait évité l'appel d'un programme dangereux" ou un truc du genre ? Si oui, vous l'avez désactivé comment ? Si non, vous sauriez d'où cela pourrait provenir ? Merci bien.

Also kenhiro a son dossier osu! sur le burreau et sa marche?!
Probablement un bon enregistrement du dossier d'installation de osu à l'installation ? Je ne sais pas trop que dire, car si c'est pas ça, ça ressemble à un jolie coup de luck :D


Mise à jour de la todo list pour la version 0.6
- annulation de l'optimisation du serveur (manque de temps pour l'instant, reporté à la v0.7)
- ajout d'un changelog basique
- annulation d'un système d'options par GUI du changelog (afficher tel ou tel chose), reporté à la v0.7
- annulation de l'optimisation du changelog (reporté à la v0.7)
- debug : « bat to exe convertor n'est pas un fichier win32 valide»
- debug : problème de chemin en fonction de la langue de windows (dossier d'enregistrement du exe osu launcher, nommé Bureau ou Desktop selon la langue de windows)
- debug : peut être un problème d'affichage correcte du chemin par défaut du répertoire d'osu! (qui doit être vide dans le cas d'une recherche infructueuse)
- ajout d'une recherche dans le chemin par défaut d'osu! sur d'autres disques durs (D:, E:, F:...) [note : une exploitation des liens peut etre une solution]
- vérification de la validité du chemin (test du fichier scores.db par exemple ?)

--EDIT--
méta planta sur le numero de la prochaine version...

--EDIT--
A la suite du sujet lancé [...], il me faudra intégrer quelques nouvelles fonctionnalitées sur la v0.7 / 0.8

ATTENTION : le dernier mot de passe enregistré reste affiché dans la fenêtre du serveur et les mots de passes sont stockés en clair. Preferez utiliser un autre mot de passe que celui de votre compte osu!!
Ajouté à la todo list v0.7

Le bouton synchronise reste enfoncé lors de l'envois et le logiciel peut même indiquer ne répond pas. Ceci est normal laissez le faire.
Ajouté à la todo list v0.7

Une petite note au niveau des objectifs de la v0.6 : je cherche particulièrement à régler les problèmes d'installation au plus vite, histoire faire tourner le soft chez tout le monde. Croyant que j'avais réglé le problème, j'avais commencé à travailler sur une nouvelle fonctionnalité du client. C'est pourquoi on verra quand même une nouvelle fonctionnalité apparaitre sur la v0.6.

Mise à jour de la todo list pour la version 0.7
- optimisation serveur
- optimisation de la création du changelog
- ajout de fonctionnalitées et de filtres sur le changelog
- cryptage des mots de passe (il serait temps)
- ajout d'un MOTD du serveur, qui sera affiché dans le changelog (MOTD donné à l'authentification)
- modification des noms des clients... J'ai mis OSLL au lieu de OLSS... j'connais même plus le nom de mon soft honte sur moi
- debug : freeze sur la synchronisation serveur.
Arnold0
Quote:
ATTENTION : le dernier mot de passe enregistré reste affiché dans la fenêtre du serveur et les mots de passes sont stockés en clair. Preferez utiliser un autre mot de passe que celui de votre compte osu!!

Ajouté à la todo list v0.7
Sa viens de mon serveur pour créer son compte sa pas du tiens

- cryptage des mots de passe (il serait temps)
Cryptage coté client ou coté serveur? Car si c'est coté serveur, mon serveur pour créer son compte auto ne fonctionnera plus et je ne serais pas faire du cryptage je m'y connais pas assez en c++. En gros si mdp crypté adios la création de compte auto donc OLSS @french n'aurais plus d’intérêt :\ (A moins qu'une personne ne m'explique?)

Quote:
Puis il y à un léger problème quand on lance avec le lanceur, et qu'on clique sur start server il ne ce passe rien. par contre si je lance le fichier start_server.py sa fonctionne. (Le statut est running mais j'ai pas encore tester avec un client.)

Cela vient probablement d'un changement de répertoire par défaut d'installation, de Python. A ajouter dans la version 0.7.
J'ai installé python dans le rep. par deffaut.

Quote:
Tiens en fait juste pour dire que le setup de python a marche impec pour moi et kenhiro alors qu'on est tout les deux sur windows 8 x).

Merci pour le feedback. Juste pour savoir, avez vous eu un avertissement de Windows disant que "windows avait évité l'appel d'un programme dangereux" ou un truc du genre ? Si oui, vous l'avez désactivé comment ? Si non, vous sauriez d'où cela pourrait provenir ? Merci bien.
Non aucune erreur mais j'avais désactivé le truc de windows qui avertis de programmes a risques pendent l'installation et je pense que kenhiro la fait aussi.

Quote:
par contre la première fois il ma dit un truc du genre bat to exe convertor n'est pas un fichier win32 valide. La seconde fois il essayait d'enregistrer dans desktop alors que le dossier s'appelle bureau quand windows est en français.


J'ajoute à la todo list
- debug : bat to exe convertor n'est pas un fichier win32 valide (il est possible que cela vienne d'une mauvaise selection de l'architecture logicielle. Indiques moi si tu es en 32 bits ou en 64 bits s'il te plait).
- debug : problème de versionnage en fonction de la langue de windows (dossier d'enregistrement du exe osu launcher
Le serveur ou j'ai eu l'erreur est en 32 bit. Le bug du burreau a eu lieu sur le serveur avec la version serveur sous windows XP en français mais n'a pas eu lieu avec le client sur windows 8 pourtant aussi en français :\

Désolé de mon noobisme mais c'est quoi un MOTD ?
Topic Starter
FunkySayu
Cryptage coté client ou coté serveur? Car si c'est coté serveur, mon serveur pour créer son compte auto ne fonctionnera plus et je ne serais pas faire du cryptage je m'y connais pas assez en c++. En gros si mdp crypté adios la création de compte auto donc OLSS @french n'aurais plus d’intérêt :\ (A moins qu'une personne ne m'explique?)
Ne pas avoir de mots de passe crypté pour une version d'un logiciel officiel n'est pas admissible. Si je ne le fais pas dans la v0.7, je devrais le faire avant la RC de mon soft (Release complete). Cependant, je pense pas m'embetter de trop avec ça. Je pense qu'un simple cryptage MD5 (http://fr.wikipedia.org/wiki/MD5) enregistré sur le serveur fera l'affaire.
Si tu n'es pas au courant, le MD5 est un cryptage basique non réversible intégré dans beaucoup de librairies disponibles par défaut dans les outils de développement. Il consiste simplement à crypter un mot de passe et à l'enregistrer au moment de l'enregistrement du compte, et ensuite de le comparer à chaque nouvelle connexion (on le recrypte par le même procédé ; si les 2 chaines finales sont identiques, alors le mot de passe est bon). Je pense aussi l'implémenter sur la version client, de manière un peu plus subtile. A voir :)

J'ai installé python dans le rep. par deffaut.
Etonnant. Dans ce cas, tu dois avoir l'executable python.exe à l'adresse C:\Python27\python.exe . Si ce n'est pas le cas, il faudra que je revois mon soft, car il doit y avoir un bug...

Non aucune erreur mais j'avais désactivé le truc de windows qui avertis de programmes a risques pendent l'installation et je pense que kenhiro la fait aussi.
C'est noté merci. Je chercherais la procédure exacte pour le faire.

Le serveur ou j'ai eu l'erreur est en 32 bit. Le bug du burreau a eu lieu sur le serveur avec la version serveur sous windows XP en français mais n'a pas eu lieu avec le client sur windows 8 pourtant aussi en français :\
Jusqu'à maintenant, il est vrai que j'ai testé le soft que sur du Windows 7. Il va falloir que je fasse de la VM pour regarder ça de plus pret.

Désolé de mon noobisme mais c'est quoi un MOTD ?
MOTD veut dire Message Of The Day. C'est un message qui est envoyé par le serveur à l'authentification (configurable par l'administrateur serveur), et qui dit, par exemple, à qui appartient le serveur. On peut aussi faire un rappel sur une mise à jour, ou des trucs dans le genre.
Arnold0
Ha ok le MOTD j'avais déjà vu sa mais je m'en rappelait plus :\
Pour le MD5 c'est a voir si j'y arrive avec mon serveur je regarderais sa plus tard. Sinon je créerais moi même les compte mais sa sera pas très pratique :\

PS : Toujours aucun scores des joueurs de french autres que moi et kenhiro :\
Senryakku
hs/ salut funkysayu, team recon here :D
Topic Starter
FunkySayu
Ha ha on se retrouve partout tous les deux :D
Allons sur l'offtopic pour parler, se sera mieux ;) p/2186745
Arnold0
Je viens de test sur ma tour chez moi ou osu! est dans un second disque dur (puisque mon disque systeme est un ssd de seulement 60Go) et là j'ai droit a scores.db not found

osu! est là : E:\Program Files (x86)\osu!


EDIT : mon puush n'envois plus les screens correctement ?!?
krius_old

Arnold0 wrote:

Je viens de test sur ma tour chez moi ou osu! est dans un second disque dur (puisque mon disque systeme est un ssd de seulement 60Go) et là j'ai droit a scores.db not found

osu! est là : E:\Program Files (x86)\osu!


EDIT : mon puush n'envois plus les screens correctement ?!?
Tes images font 0 octets, y'a du y avoir un problème lors de l'envoi, ça marche actuellement, essaye de repuush.
Kurai
puush fait bli et dès fois il up des trucs vides, reboot ton PC.
Topic Starter
FunkySayu
Je viens de test sur ma tour chez moi ou osu! est dans un second disque dur (puisque mon disque systeme est un ssd de seulement 60Go) et là j'ai droit a scores.db not found
osu! est là : E:\Program Files (x86)\osu!
Scores.db not found, c'est typiquement que OLSS s'est installé dans le mauvais dossier. Le problème, c'est que je ne comprend pas pourquoi. Si tu as spécifié le bon dossier, pourquoi ne veut-il pas s'installer au bon endroit ? Ca fait 2 jours que je cherche les possibilitées, mais je trouve rien de valable : j'arrive correctement à l'installer sur mes autres disques, alors pourquoi pas toi :/ Mais je cherche toujours ;D

EDIT : j'ai peut être trouvé : rajoute en \ à la fin :
E:\Program Files (x86)\osu!\
Arnold0
Nope sa marche pas même avec le \
Sinon pour le ping sur mon serveur normal que sa marche pas car je ne connait pas le port de l'ICMP du coup je l'ai pas redirigé vers le serveur dans ma freebox et pour le serveur je l'ai réouvert car il mettais running mais il fonctionnais pas (Je l'ai relancé ce matin j'avais pas remarqué qu'il fonctionnait pas :o)
Topic Starter
FunkySayu
Mise à jour majeur (version 0.6)

Note importante : la version linux n'est pas encore disponible. Merci de patienter un peu pour celle-ci, car j'optimise quelque chose derrière.

0.6 (par FunkySayu) Open Bêta release :
serveur windows
- ajout d'une section MOTD (Message of the Day) permettant d'envoyer un petit message aux utilisateurs se synchronisant
- légère stabilisation du serveur
client
- (installer) l'installer vérifie maintenant si le chemin spécifié est valide ou pas. Pour ce faire, il vérifie si le fichier scores.db existe bien dans le dossier indiqué.
- ajout d'une fonctionnalité : le changelog (voir plus bas)
- ajout d'un reader de la base de donnée osu!.db. Ce reader est potentiellement instable, merci de me contacter pour tout bug.
- créations des sections Information, new top scores, new passed map, what about your scores sur le changelog
- optimisation légère des algorithmes de lecture du changelog
- ajout d'une mise à jour du statut de l'application (envoie des scores, authentification...)

Liens de téléchargement :
- Client : http://funkysayu2.fr.cr/OLSS/OLSSClientInstaller0.6.zip
- Serveur Windows : http://funkysayu2.fr.cr/OLSS/OLSSServer ... 0.6Win.zip
Je vous demande encore un peu de patience pour le serveur linux.

Liens complémentaires
- (rappel) Configurer le pare feu de la box : http://config.emule-inside.net/routeurs.php (configurer la redirection du port 8282 en TCP)

Présentation du changelog (version 0.6)
Le changelog est un utilitaire qui permet de savoir ce qu'il s'est passé depuis votre dernière synchronisation. Celui-ci ne marche qu'après une synchronisation effectuée. Pour le calculer, il suffit de cliquer sur le bouton View changelog, et vous obtiendrez quelque chose comme ça :

::::::::: Wassup since the last synchronisation ? :::::::::

:::: Informations
~ Message of the day ......... : No message of the day :(
~ Number of beatmap registered : 3151
~ Number of new top .......... : 6
~ Number of new passed maps .. : 634

~~~ Have fun with the Osu Local Scores Synchronizer ! ~~~
~~~ by Virtual Sanctuary Team ~~~

:::: New top scores

KenHirokeke has take the lead on only my railgun -Euro Beat Charger Mix- [Insane] (2239232 pts)
KenHirokeke has take the lead on Senbonzakura (Short Ver.) [eveless] (3315608 pts)
jyvii has take the lead on A Gangnam Style Hurly Burly [Pie's INSANE STYLE] (1267680 pts)
KenHirokeke has take the lead on Tsugai Kogarashi [Insane] (6513588 pts)
KenHirokeke has take the lead on Blue Bird (TV Size) [Insane] (1345110 pts)
KenHirokeke has take the lead on Sign (TV Size) [Insane] (1767090 pts)

:::: New passed map

jyvii have passed the map Light My Fire (TV Size) [Vicho's Hard]
jyvii have passed the map Light My Fire (TV Size) [lolcubes's Normal]
jyvii have passed the map Light My Fire (TV Size) [S o r d a's Easy]
jyvii have passed the map A Little Piece of Heaven [Marathon]

And 630 unknow map passed.

:::: What about your scores ?

> You're the first on 561 maps.
You are ranked #2 on the map It's My Life [Hard].
You are ranked #3 on the map Corrosion [Lunatic].
You are ranked #5 on the map boot [Hard].
You are ranked #2 on the map When The Rain Begins To Fall (Nightcore Mix) [Insane].
You are ranked #2 on the map Parallel Hearts (TV Size) [Andrea's Heart].
You are ranked #2 on the map Hero [Fate].
You are ranked #2 on the map Kimi no Yume [Hard].
You are ranked #2 on the map Netoge Haijin Sprechchor [Insane].
You are ranked #2 on the map Memory [Ib].
You are ranked #2 on the map Revolutionary Etude [Presto].
You are ranked #2 on the map Wind God Girl [Lunatic].
You are ranked #3 on the map Answer is Near [Hard].
You are ranked #2 on the map Yaranaika [Hard].
You are ranked #2 on the map Look For The Truth [Truth].
You are ranked #2 on the map Bad Apple!! [Guest Diff Collab].
Musty
Je peux juste dire que tout ça se voit d'être interessant- Bonne chance pour la suite.
Topic Starter
FunkySayu
Bonjour à tous.

Comme vous avez dut le voir, Peppy a lancé une mise à jour de Osu! permettant de récupérer automatiquement les scores de toute votre Friend List dans le jeu (encore en bêta pour les utilisateurs supporters). Ainsi, mon programme ne sert techniquement plus à rien. Je me demande donc s'il y a encore une utilité à le développer, au vu des modifications actuelles du jeu.

Je vois personnellement plusieurs transitions possibles. Par exemple, je pourrais peut être faire une base de donnée exploitable par un site web. Le changelog (apparut en version 0.6) est aussi pas mal pour savoir où en sont vos amis. Mais en dehors de cela, mon programme n'a plus grande utilité.

S'il y a encore des gens intéressé par celui-ci, dans ce cas là je continuerais à le développer. Mais en attendant, je reste en stand by, et je réfléchis à comment faire pour le transitionner.

Vous avez des idées ou des propositions ?
Atsue
Personnellement, je trouve le concept encore intéressant. Pourquoi?, Car je joue sur plusieurs PC a plusieurs endroits différents, et que ça me permettrais de rassembler tout mes score locaux sans avoir a transférer les fichiers manuellement...
Mais bon, je pense qu'il y a assez peu de personnes dans le même cas que moi XD

En tout cas, ça m'a l'air d'être du bon boulot, reste a voir si d'autres y trouveront toujours une utilité.
Sayuki
Et puis ça permettra aux non-supporters de pouvoir se comparer à ses amis :)
Arnold0
Sa permet aussi de comparer les scores sur des maps pas ranked par ex :
Sinon mon serveur et down, je l'ai pas relancé a cause du problème de ma freebox qui marche, puis qui marche plus, puis qui remarche, puis qui remarche plus etc...
Sushi
Cela pourrait être également utile pour faire des genre de défis "top 6" sur des maps, des trucs du genre.
Ekoro

Sushi wrote:

Cela pourrait être également utile pour faire des genre de défis "top 6" sur des maps, des trucs du genre.
osu!marathon pls
Yuzeyun
Si tu peux récupérer les replays conservés après la fin d'une map ça serait vachement plus pratique.

Au passage, je te conseille de changer ton PATH et rajouter le ., si possible. Il y aura plus besoin de faire le ./ dans la commande. ;)
Please sign in to reply.

New reply