Recalbox Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • recalbox.com
    • Gitlab repository
    • Documentation
    • Discord

    Mode demo automatique

    Community projects
    mode demo
    8
    39
    9486
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • lolodebordo
      lolodebordo last edited by

      Mode DEMO avec lancement automatique des jeux

      1 Reply Last reply Reply Quote 0
      • lolodebordo
        lolodebordo last edited by acris

        Bonjour ,
        Si vous êtes intéressés par le déclenchement d'un mode démonstration avec lancement automatique des jeux . Je vous propose ce script custom.sh à positionner dans le partage \recalbox\share\system
        custom.sh

        #!/bin/sh
        #  Ce script verifie qu'aucun jeu n'est lancé puis lance un jeu parmis une liste
        # au bout de 90 sec , il stoppe le jeu lancé et en demarre un autre, sauf si celui-ci à été stoppé par un retour au menu ES (Hotkey...)
        # Le retour au menu ES attend 90 sec pour permettre de choisir un jeu.
        cp -f /usr/bin/python /recalbox/share/python2
        while true
        do
         
        [ ! "$TOT" == "90" ] && sleep 90
        ENCOURS=`ps aux |grep -e "python /usr/lib/python2.7"|grep -v grep `
        if [ "$ENCOURS" == "" ]; 
        then
        #  Etablissement de la liste des jeux disponibles sur certains emulateurs
        #  Lancement d'un jeu parmis la liste
        ls /recalbox/share/roms/mame/*.zip | awk '{print "mame:"$0;}'>/recalbox/share/liste.txt
        ls /recalbox/share/roms/snes/*.smc | awk '{print "snes:"$0;}'>>/recalbox/share/liste.txt
        ls /recalbox/share/roms/fba_libretro/*.zip | awk '{print "fba_libretro:"$0;}'>>/recalbox/share/liste.txt
        ls /recalbox/share/roms/psx/*.cue |awk '{print "psx:"$0;}' >>/recalbox/share/liste.txt
        ls /recalbox/share/roms/neogeo/*.zip |awk '{print "neogeo:"$0;}' >>/recalbox/share/liste.txt
        N=`wc -l /recalbox/share/liste.txt|cut -d' ' -f1`
        aan=$RANDOM
        NUM=$((RANDOM%$N+1))
        LIGF=$(head -$NUM /recalbox/share/liste.txt|tail -1)
        ROM=$(echo $LIGF|cut -d: -f2)
        SYSTEME=$(echo $LIGF|cut -d: -f1)
        echo $N $NUM $ROM $SYSTEME
        /recalbox/share/python2 /usr/lib/python2.7/site-packages/configgen/emulatorlauncher.pyc -p1index 0 -p1guid 03000000790000000600000010010000 -p1name "Microntek              USB Joystick          " -p1nbaxes 4 -p2index 1 -p2guid 03000000790000000600000010010000 -p2name "Microntek              USB Joystick          " -p2nbaxes 4  -system "$SYSTEME" -rom "$ROM" -emulator default -core default -ratio auto  2> /recalbox/share/system/logs/es_launch_stderr.log | head -300 > /recalbox/share/system/logs/es_launch_stdout.log &
        A=$!
        TOT=0
        while [ ! "`pidof python2`" == "" ]   
        do
        sleep 1
        TOT=`expr $TOT \+ 1`
        echo $TOT
        [ "$TOT" == "90" ] && break
        done
        echo arret
        killall python2
        killall retroarch 
        /etc/init.d/S31emulationstation restart
        else
        echo jeu en cours...
        fi
        done
        
        Substring cissou 2 Replies Last reply Reply Quote 4
        • Bardamuz
          Bardamuz last edited by

          @lolodebordo , salut je serait intéressé a tester ton script, c'est un des projet de long date de RecalBox 🙂 , mais pas encore vraiment mis en place.

          Mais c'est une bonne idée, et pas mal de gens aimerais bien avoir ça

          Same player shoot again

          1 Reply Last reply Reply Quote 0
          • lolodebordo
            lolodebordo last edited by

            Le système recalbox permet d’inserer Un script avec le nom custom.sh dans le répertoire partagé //recalbox/share/system.
            Ce script est lancé automatiquement au démarrage de la recalbox.
            N’hesites pas à le tester ,
            Dans sa version actuelle , il lance les jeux Psx,mame,neogeo mais il est facilement modifiable.

            1 Reply Last reply Reply Quote 1
            • Bardamuz
              Bardamuz last edited by

              @lolodebordo , merci je vais tester ça sous peu (en fait des que j'ai un moment)

              Same player shoot again

              1 Reply Last reply Reply Quote 0
              • cissou
                cissou last edited by

                miam miam sympa ca

                Dell 3020M + X360 sans fil
                Bartop Modulaire : Rpi3
                Gpi case rpi0 -sans W- [oui je suis un fou]

                1 Reply Last reply Reply Quote 0
                • GDEHON
                  GDEHON last edited by

                  Super ça, merci

                  1 Reply Last reply Reply Quote 0
                  • GDEHON
                    GDEHON last edited by

                    Salut
                    J'ai testé aussitot ton fichier mais ca ne fonctionne pas !?

                    Quand tu dis : "à positionner dans le partage \recalbox\share\system"
                    c'est dans ce dossier system ou c'est l'un dossier situé dedans, vu que tu precises dans le partage

                    Je pense ne pas avoir compris quelquechose....
                    Merci à toi

                    lolodebordo 1 Reply Last reply Reply Quote 0
                    • lolodebordo
                      lolodebordo @GDEHON last edited by lolodebordo

                      @gdehon tu dois copier ce script dans le partage réseau \\recabox\share\system sous le nom custom.sh
                      Tu accèdes bien à ta recalbox via un partage réseau comme pour ajouter des roms dans \\recalbox\share\roms?
                      Sinon en te connectant en ssh à ta recalbox avec le compte root, tu peux positionner le script dans /recalbox/share/system/

                      voljega 1 Reply Last reply Reply Quote 0
                      • voljega
                        voljega Banned @lolodebordo last edited by

                        @lolodebordo il faut aussi surement donner les droits d'exécution avec chmod 777 custom.sh

                        lolodebordo 1 Reply Last reply Reply Quote 0
                        • lolodebordo
                          lolodebordo @voljega last edited by lolodebordo

                          @voljega oui mais je crois qu'en copiant le script par le partage réseau, il est de fait exécutable.

                          1 Reply Last reply Reply Quote 0
                          • GDEHON
                            GDEHON last edited by GDEHON

                            J'ai placé custom.sh comme ceci
                            \recabox\share\system\custom.sh
                            via winscp
                            Peut être que c'est cela qui ne fonctionne pas !?
                            J'ai essayé en exécutant "mount-o remount, rw /boot dans la console de winscp, dans résultat...

                            Comment se connecte en ssh à la recalbox avec le compte root ?

                            Comment donner les droits d'exécution avec chmod 777 ?
                            Je connais pas ça...

                            Edit : besoin de redémarrer recalbox ou pas ?

                            lolodebordo 1 Reply Last reply Reply Quote 0
                            • lolodebordo
                              lolodebordo @GDEHON last edited by lolodebordo

                              @GDEHON ssh : compte root et mot de passe recalboxroot

                              Il faudra aussi redémarrer la recalbox

                              Autrement tu copie simplement le script dans \\recalbox\share\system et tu redémarres la recalbox

                              Il suffira d’attendre 90 sec et la démo démarre

                              1 Reply Last reply Reply Quote 0
                              • GDEHON
                                GDEHON last edited by

                                ssh c'est via putty ?

                                Ok pour le redémarrage de recalbox

                                En copiant simplement le script dans \recalbox\share\system et redémarrant la recalbox
                                via winscp, ça ne marche pas chez moi...

                                Je retenterais demain à tête reposée
                                Merci en tout cas

                                Il suffira d’attendre 90 sec et la démo démarre

                                1 Reply Last reply Reply Quote 0
                                • nayok
                                  nayok last edited by nayok

                                  Hello

                                  J'aime bcp l'idée.

                                  J'ai testé le script. Il se passe bien qqchose toutes les 90s.
                                  Ma recalbox lance qqchose passe par 2 écrans de chargement puis revient au menu sans apparemment lancer de jeu.

                                  Si j'essaie d'éteindre ou de redémarrer recalbox via son interface. Je me retrouve dans le jeu qui a été lancé en fond vraissemblablement.

                                  @lolodebordo tu vois ce que je veux dire ?

                                  Truc qui me préoccupe également c'est les "Microntek USB Joystick" dans ton script. Ça peut pas poser problème ça ?

                                  Rpi 3 B+
                                  Recalbox 9.1
                                  Usb Storage
                                  USB Xin-Mo controller

                                  lolodebordo 2 Replies Last reply Reply Quote 0
                                  • lolodebordo
                                    lolodebordo @nayok last edited by

                                    @nayok effectivement, je vais retravailler le parametrage ce soir et vérifier le script.
                                    Des infos propres à ma config sont dans le script et ne fonctionnent pas avec dautres recalbox.

                                    voljega 1 Reply Last reply Reply Quote 0
                                    • voljega
                                      voljega Banned @lolodebordo last edited by

                                      @lolodebordo said in Mode demo automatique:

                                      @nayok effectivement, je vais retravailler le parametrage ce soir et vérifier le script.
                                      Des infos propres à ma config sont dans le script et ne fonctionnent pas avec dautres recalbox.

                                      Hmmm pas pour être rabas joie mais tu ne pourras surement récupérer certaines infos que par un lancement de ton script depuis EmulationStation, genre la string complète de configuration d'un contrôleur.

                                      1 Reply Last reply Reply Quote 0
                                      • Substring
                                        Substring @lolodebordo last edited by

                                        @lolodebordo Alors là j'applaudis, super audacieux ta façon de procéder ! Ce qui me fait sortir un peu de mon hibernation parce que tu mérites un vrai coup de main.

                                        Alors, plein de petites remarques, mais une seule sera vraiment importante : je ne sais pas si tu as déjà fait joujou avec le web manager de recalbox, mais il est capable de lancer des roms. Pourquoi ? Parce que @sevenX et moi avions implanté un mini serveur web dans ES qui permet de lancer des roms justement !

                                        Si tu as un linux sous la main, essaie echo -n "START|nes|BladeBuster (High Level Challenge).nes" | netcat -u recalbox.local 1337. Je détaille :

                                        • START c'est la commande attendue, et la seule implantée actuellement
                                        • | est le séparateur de commandes
                                        • nes est le système tel que défini dans le répertoire des roms
                                        • et enfin, le nom de la rom telle que visible depuis l'OS (ca prend en charge les chemins)

                                        Comme c'est ES qui lance, ca résout 90% de tes problèmes dont celui expliqué par @voljega mais ca en introduit un autre : ca lance le python de base, pas ta copie. Donc il te faudra gérer la présence de emulatorlauncher un peu différemment, rien d'insurmontable.

                                        Maintenant plein de petites remarques si tu me le permets :

                                        • liste des roms : pa**e le es_systems.cfg pour obtenir les extensions supportées pour chaque système
                                        • pas netcat/nc sur Recalbox, donc tu devras t'en remettre à python pour ca (tu peux le faire inline en une seule ligne)
                                        • utilise recallog pour envoyer tes infos dans la log de recalbox, c'est plus sympa qu'un echo
                                        • custom.sh est traité comme un script d'init, donc il reçoit le paramètre start ou stop à minima, ca serait bien de le gérer
                                        • feature pour ta v2 : laisse tourner la démo genre 2 minutes, tu quittes l'émulateur (il y a déjà un peu de python capable de çà qui traine dans recalbox, avec les scripts de gestion des boutons GPIO genre https://gitlab.com/recalbox/recalbox/blob/master/board/recalbox/fsoverlay/recalbox/scripts/rpi-pin356-power.py#L124), et hop, on relance un nouvelle rom

                                        Bon courage !

                                        Former dev - Please reply with @substring so that i am notified when you answer me
                                        Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                                        lolodebordo 2 Replies Last reply Reply Quote 3
                                        • nayok
                                          nayok last edited by

                                          @Substring @voljega
                                          Depuis que j’ai rebooté manuellement,(en coupant l’alimentation) ma recalbox ne lance plus aucun rom.
                                          Quand je démarre : l’interface apparaît et tout mais les jeux ne se lancent plus.
                                          Aussi, si j’essaie d’eteindre via l’interface recalbox, je reste bloqué sur l’ecran noir avec logo en bas et date à gauche.
                                          J’ai cassé un truc ?
                                          Merci pour votre aide

                                          Rpi 3 B+
                                          Recalbox 9.1
                                          Usb Storage
                                          USB Xin-Mo controller

                                          lolodebordo voljega 2 Replies Last reply Reply Quote 0
                                          • lolodebordo
                                            lolodebordo @Substring last edited by

                                            This post is deleted!
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Want to support us ?

                                            86
                                            Online

                                            99.6k
                                            Users

                                            28.1k
                                            Topics

                                            187.1k
                                            Posts

                                            Copyright © 2021 recalbox.com