script pour jouer à nos jeux automatiquement sous linux

Espace libre pour faire connaître vos dernières réalisations ou les événements concernant la communauté (concours, jeux individuels, etc.)

Modérateurs: Stormi, Otto Grimwald

script pour jouer à nos jeux automatiquement sous linux

Messagepar Otto Grimwald le Lun Oct 20, 2008 9:44 pm

bonsoir,

j'ai réalisé un petit script pour linux qui permet de télécharger automatiquement un de nos jeux (à choisir dans une liste), si besoin un interpréteur, et d'y jouer.

L'interface (en mode texte) est très basique, mais ce script fait cela :
- création d'un dossier ~/.ifictionfr où seront stockés les jeux
- si gargoyle est présent, cela propose de l'utiliser dans le futur
- sinon si frotz n'est pas présent, cela le télécharge et le copie dans le dossier de jeux
- liste les jeux et propose de taper le code (3 chiffres) pour y jouer, voire de taper un mot du jeu (ex : filaments) (n'est pas implémenté pour tous les jeux)
- exécution de frotz dans un nouveau terminal

À améliorer :
- Du fait de l'utilisation de l'encodage isomachinchose dans le zcode, et que mon système est en utf8, je n'ai pas trouvé comment passer la console actuelle en isomachinchose. D'autre part, je ne sais pas ce que donne ce script sur un système non utf8 (à eventuellement tester...)
- j'aimerais bien faire un mode "jouer à un jeu au hasard", mais je ne me suis pas encore penché sur la question

Cela se trouve ici dans son état actuel :
http://ifiction.free.fr/fichiers/ifictionfr.sh

Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3031
Inscription: Mar Aoû 24, 2004 12:02 pm

Re: script pour jouer à nos jeux automatiquement sous linux

Messagepar Stormi le Mar Oct 21, 2008 12:58 pm

C'est sympa, je viens de tester et ça fonctionne bien sur ma Mandriva 2008.1

Il faudrait juste préciser que le paquetage xterm doit être installé (éventuellement détecter son absence dans le script).

La police d'affichage dans xterm n'est pas très belle, mais c'est peut-être lié à sa configuration par défaut sur mon système.

[Edit] Ce serait pas mal une petite interface graphique pour linux qui reprenne ces fonctionnalités et des idées du projet de Yoruk un de ces jours. Et après on part à l'assaut des principales distributions pour intégration dans les dépôts :)
Samuel V.
Avatar de l’utilisateur
Stormi
Grand Ancien
 
Messages: 1207
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Re: script pour jouer à nos jeux automatiquement sous linux

Messagepar Stormi le Mar Oct 21, 2008 1:17 pm

Suggestion d'amélioration : vérifier que le jeu n'a pas subi de mises à jour sur le site, sinon proposer la mise à jour. Attention : bien préciser que la mise à jour rend obsolètes tous les fichiers de sauvegarde du jeu en question.
Samuel V.
Avatar de l’utilisateur
Stormi
Grand Ancien
 
Messages: 1207
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Re: script pour jouer à nos jeux automatiquement sous linux

Messagepar Otto Grimwald le Mar Oct 21, 2008 4:55 pm

en fait j'aimerais bien que l'on puisse se passer d'xterm. Je pense que les polices d'affichage xterm sont toujours +/- moches et non antialiasées, surtout si on doit tabler sur des polices déjà installées partout. Pour se passer d'xterm, il faudrait trouver comment passer le terminal en iso8859, avec export LANG=fr_FR@euro ou autre, cela ne change rien.
Je vais essayer d'améliorer le truc pour inclure zoom ou gargoyle en plus de frotz.

Pour vérifier une mise à jour du jeu sur le site, je ne sais pas si c'est possible sans retélécharger le fichier à chaque fois, mais je peux proposer d'effacer certains jeux pour forcer une éventuellement mise à jour.

Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3031
Inscription: Mar Aoû 24, 2004 12:02 pm

Re: script pour jouer à nos jeux automatiquement sous linux

Messagepar Stormi le Mar Oct 21, 2008 5:00 pm

Pour vérifier les mises à jour ça supposerait par exemple d'avoir un md5sum du fichier sur le serveur, d'en faire un en local lors du téléchargement d'un fichier, et de comparer les deux. Ça me semble assez simple à réaliser.
Samuel V.
Avatar de l’utilisateur
Stormi
Grand Ancien
 
Messages: 1207
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Re: script pour jouer à nos jeux automatiquement sous linux

Messagepar Otto Grimwald le Mar Oct 21, 2008 6:19 pm

exact. Je me demande si à terme cela ne serait d'ailleurs pas plus simple de mettre tous les fichiers de jeux dans le même dossier sur le site internet, ce qui permettrait d'automatiser cela plus facilement...

Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3031
Inscription: Mar Aoû 24, 2004 12:02 pm

Re: script pour jouer à nos jeux automatiquement sous linux

Messagepar Otto Grimwald le Mer Oct 22, 2008 12:30 pm

j'ai fait une mise à jour. Grâce à quelqu'un sur linuxfr, j'ai pu trouver que luit faisait la conversion unicode iso8859, et maintenant cela s'ouvre dans le terminal en cours.
De plus cela permet maintenant de choisir un jeu au hasard, et j'ai commencé à sauvegarder le md5 pour les jeux téléchargés. Cela ne permet pas encore de récupérer celui des jeux en ligne, mais pour cela je pense regrouper tous nos jeux au même endroit, comme évoqué plus haut, et faire un petit menu d'options en plus.

Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3031
Inscription: Mar Aoû 24, 2004 12:02 pm

Re: script pour jouer à nos jeux automatiquement sous linux

Messagepar Eriorg le Mer Oct 22, 2008 5:48 pm

Otto Grimwald a écrit:je pense regrouper tous nos jeux au même endroit, comme évoqué plus haut, et faire un petit menu d'options en plus.

Ça ne risque pas de causer des problèmes avec les liens déjà présents sur l'IFWiki et sur IFDB, toute cette affaire, j'espère ? :(
Avatar de l’utilisateur
Eriorg
Grand Ancien
 
Messages: 857
Inscription: Jeu Déc 14, 2006 8:03 am
Localisation: Suisse

Re: script pour jouer à nos jeux automatiquement sous linux

Messagepar Otto Grimwald le Mer Oct 22, 2008 6:42 pm

oui tu as raison, cela serait un problème.

Peut-être que je peux copier tous les jeux et faire leur mise à jour future au même endroit dans un même dossier, tout en gardant l'ancien, et on pourra mettre à jour ifwiki et ifdb au fur et à mesure, tout en sachant qu'aux anciens liens il y aura toujours un jeu, mais qui pourrait être un peu plus vieux (je pourrais également les mettre à jour si nécessaire), et on s'arrangera pour que la migration se fasse en douceur...
À terme je souhaiterais également que la structure du site puisse se trouver sur le svn.

Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3031
Inscription: Mar Aoû 24, 2004 12:02 pm

Re: script pour jouer à nos jeux automatiquement sous linux

Messagepar Stormi le Jeu Oct 23, 2008 8:24 am

Concrètement, qu'apporterait la migration des jeux vers un seul et même répertoire ? Il n'est pas très difficile de parcourir une liste de fichiers même dans des répertoires différents. Par ailleurs cela risque d'empêcher la mise à jour de certains jeux via ifiction.free.fr/telechargement/, à moins de développer une interface spécifique pour permettre aux auteurs de faire leurs mises à jour.

(L'idée d'une telle interface est peut-être une bonne idée d'ailleurs car la création du md5sum pourrait se faire au moment de l'upload du fichier, ce qui simplifie les choses)
Samuel V.
Avatar de l’utilisateur
Stormi
Grand Ancien
 
Messages: 1207
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Re: script pour jouer à nos jeux automatiquement sous linux

Messagepar Otto Grimwald le Jeu Oct 23, 2008 11:21 am

le problème d'avoir des fichiers de jeux répartis un peu partout, c'est que c'est plus compliqué pour aller faire les mises à jour par ftp, d'un autre côté il faudrait que je regarde avec lftp comment utiliser la fonction de synchronisation.

Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3031
Inscription: Mar Aoû 24, 2004 12:02 pm

Re: script pour jouer à nos jeux automatiquement sous linux

Messagepar Stormi le Jeu Oct 23, 2008 1:12 pm

Petite correction sur la première ligne c'est #/!bin/bash qu'il faudrait mettre car le /bin/sh par défaut de certains systèmes ne comprend pas tout le script (problème rencontré sur ubuntu avec la commande 'function')
Samuel V.
Avatar de l’utilisateur
Stormi
Grand Ancien
 
Messages: 1207
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Re: script pour jouer à nos jeux automatiquement sous linux

Messagepar Otto Grimwald le Jeu Oct 23, 2008 8:35 pm

oui bonne remarque. Je me demande d'ailleurs pourquoi sur les autres systèmes cela a fonctionné correctement parce que cela aurait dû appeler /bin/sh comme environnement...

J'ai expérimenté le même problème sur pcbsd, mais depuis cette correction suggérée par ton message, cela fonctionne bien également pour peu que l'on ai frotz d'installé, ou la couche de compatibilité linux.

J'ai fait une petit correction également pour l'eeepc, car luit n'est pas installé dessus.

Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3031
Inscription: Mar Aoû 24, 2004 12:02 pm

Re: script pour jouer à nos jeux automatiquement sous linux

Messagepar Stormi le Jeu Oct 23, 2008 8:52 pm

Sur mandriva c'est bien simple, /bin/sh est un lien symbolique vers /bin/bash :)
Samuel V.
Avatar de l’utilisateur
Stormi
Grand Ancien
 
Messages: 1207
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Re: script pour jouer à nos jeux automatiquement sous linux

Messagepar Otto Grimwald le Jeu Oct 23, 2008 9:10 pm

ah exact, c'est pareil sous archlinux :)
bien vu, j'avais pas du tout pensé à cela.

Pour la suite, cela serait pas mal un menu en surbrillance pour sélectionner les jeux, mais cela sort du cadre de ce simple script. Ensuite, on peut utiliser zoom qui permet de gérer un dossier avec des jeux à sélectionner dedans.

Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3031
Inscription: Mar Aoû 24, 2004 12:02 pm

Re: script pour jouer à nos jeux automatiquement sous linux

Messagepar Otto Grimwald le Mer Nov 05, 2008 1:08 am

petite mise à jour (encore à développer et améliorer) :

- permet de jouer à un jeu passé en argument avec frotz et les options qui vont bien
- permet de jouer à un jeu sur une url distante par exemple

Code: Tout sélectionner
./ifictionfr.sh http://www.ifarchive.org/if-archive/games/zcode/ConanKillEverything.z5


rien de magique là dedans, cela télécharge juste le fichier avec wget, le copie dans le dossier temporaire et lance le jeu. Si c'est en zblorb, avec nfrotz, sinon avec frotz (nfrotz ne semble pas supporter les accents fr)

Reste encore à nettoyer et commenter tout ça...

Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3031
Inscription: Mar Aoû 24, 2004 12:02 pm

Re: script pour jouer à nos jeux automatiquement sous linux

Messagepar Otto Grimwald le Ven Nov 07, 2008 12:48 am

nouvelle mise à jour :

- utilise maintenant "dialog" (ou Xdialog avec gtk) pour choisir un jeu avec un menu à sélectionner. Dans le cas où dialog ne serait pas présent, utilise le menu textuel simple.

- encore pas mal buggé :) La fonction de jeu aléatoire ne fonctionne plus avec ce menu, je ne vois pas pourquoi (cela cherche à télécharger un fichier n'existant pas sur le serveur)

- permet d'ajouter des variables dans un fichier de configuration utilisateur, pour choisir les programmes par défaut préférés (ce n'est que le début pour le moment, les options devraient peut-être permettre de relire cela et de les modifier)

Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3031
Inscription: Mar Aoû 24, 2004 12:02 pm


Retourner vers Annonces

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron