Autodarts - mehrere Spielerprofile einstellen

Olli´s Dartgarage, Robbel90, uvm
Antworten
Benutzeravatar
Fortunate Son
Experte
Beiträge: 125
Registriert: 9. Jan 2025 08:42
Wohnort: LA
Has thanked: 2 times
Been thanked: 14 times

Autodarts - mehrere Spielerprofile einstellen

Autodarts mit verschiedenen Spielerprofilen nutzen
1. Terminalsession starten und die vorhandene config.toml kopieren z.B.

cp ~/.config/autodarts/config.toml ~/.config/autodarts/spieler1.toml cp ~/.config/autodarts/config.toml ~/.config/autodarts/spieler2.toml

2. Dann im entsprechenden Profil die unter dem Benutzer erstelle Board-ID und API-Key einstellen
nano ~/.config/autodarts/spieler1.toml nano ~/.config/autodarts/spieler2.toml

3. Script im Homeverzeichnis erstellen um die verschiedenen Spielerprofile per Windows- Batch per plink von Windows aus oder per Shellscript linuxseitig aufzurufen.
touch spieler1.sh touch spieler2.sh

4. In beide Dateien das Script einfügen und je nach Profil anpassen nano spieler1.toml
#!/bin/bash
sudo systemctl stop autodarts cd .config/ cd autodarts/
cp spieler1.toml config.toml sudo systemctl start autodarts

Editor mit Strg + X verlassen und mit Y und Enter bestätigen.
Für alle weiteren Profile diesen Schritt wiederholen und die Profilnamen entsprechend anpassen.
Die Scripte ausführbar machen

sudo chmod +x spieler1.sh sudo chmod +x spieler2.sh
5. Batch Datei mit Auswahlmenü auf dem Windows-Rechner erstellen oder shell Script auf dem Linuxrechner
Inhalt Menü Linux
#!/bin/bash #!/bin/bash
# Bash Menu Script Example cls
PS3='Mit welchem Profil soll gespielt werden: ' options=("Option 1" "Option 2" "Option 3" "Ende") select opt in "${options[@]}"
do
case $opt in "Option 1")
./spieler1.sh
;;
"Option 2")
./spieler2.sh
;;
"Option 3")
echo "you chose choice $REPLY which is $opt"
;;
"Ende")

break
;;
*) echo "invalid option $REPLY";; esac
done

Inhalt Batch Datei auf Windows Desktop

@echo off echo.
echo Mit welchem Spielerprofil soll Autodarts starten? pause
// Mittelteil mit Auswahlmenu
:Auswahlmenu cls
echo. echo Auswahlmenu echo ==========
echo.
echo [1]: Spieler1
ping -n 1 localhost>nul echo.
echo [2]: Spieler2
ping -n 1 localhost>nul echo.
echo [5]: Autodarts Restart ping -n 1 localhost>nul echo.

echo [6]: Autodarts Shutdown ping -n 1 localhost>nul
echo.

echo Um die Auswahl zu beenden: ende echo.
set asw=0
set /p asw="Bitte eine Auswahl treffen: " set Programm=darts-hub.exe
set Programm1=darts-caller.exe

if %asw%==1 goto Spieler1 if %asw%==2 goto Spieler2
if %asw%==5 goto AD_Restart
if %asw%==6 goto AD_Shutdown



if %asw%==ende goto END goto END

// Ende des Skripts


:Spieler1 cls
echo.
echo Spieler1 spielt!
tasklist |find /i "%Programm%" >nul if %errorlevel% == 0 (

echo Das Programm "%Programm%" leauft gerade! taskkill /IM darts-hub.exe /F
) else (
echo Das Programm "%Programm%" leauft gerade nicht!
)
tasklist |find /i "%Programm1%" >nul if %errorlevel% == 0 (
echo Das Programm "%Programm1%" leauft gerade! taskkill /IM darts-caller.exe /F
) else (
echo Das Programm "%Programm1%" leauft gerade nicht!
)



plink.exe -ssh username@IP-Adresse -pw passwort ./spieler1.sh start "" "C:\Users\Userverz\Desktop\darts-hub-Profil1.lnk" echo.
pause goto Auswahlmenu

:Spieler2 cls
echo.
echo Spieler2 spielt!

tasklist |find /i "%Programm%" >nul if %errorlevel% == 0 (
echo Das Programm "%Programm%" laeuft gerade! taskkill /IM darts-hub.exe /F
) else (
echo Das Programm "%Programm%" laeuft gerade nicht!
)
tasklist |find /i "%Programm1%" >nul if %errorlevel% == 0 (
echo Das Programm "%Programm1%" laeuft gerade! taskkill /IM darts-caller.exe /F
) else (
echo Das Programm "%Programm1%" laeuft gerade nicht!
)

plink.exe -ssh username@IP-Adresse -pw passwort ./spieler2.sh start "" "C:\Users\Userverz\Desktop\darts-hub-Profil2.lnk" echo.
pause goto Auswahlmenu

:AD_Restart
plink.exe -ssh openhab@autodarts -pw openhab sudo systemctl restart autodarts echo.
pause goto Auswahlmenu


:AD_Shutdown
plink.exe -ssh username@IP-Adresse -pw passwort sudo shutdown -P 0
:END
echo.
echo Auswahl wird jetzt beendet pause
Antworten