Einzelnen Beitrag anzeigen
  #257  
Alt 20.02.2021, 12:59
Benutzerbild von Lindwurm
Lindwurm Lindwurm ist offline
Fidelity Elite Avantgarde 68060
 
Registriert seit: 29.08.2019
Ort: Regensburg
Alter: 57
Land:
Beiträge: 401
Abgegebene Danke: 667
Erhielt 491 Danke für 215 Beiträge
Member Photo Albums
Aktivitäten Langlebigkeit
6/20 5/20
Heute Beiträge
0/3 ssssss401
AW: DGT Pi Images - Der Thread

Ich hab mich jetzt einmal mit den Remote-Engines in der 3er-Version beschäftigt. Das begeistert mich wirklich, da ich jetzt über Picochess alle - auch kommerziellen - Windows-Engines auf Picochess spielen kann (geht auch auf Mac). Da mich das Zusammensuchen der Einstellungen aus dem englischen Forum zwei tage gekostet hat, möchte ich hier mal eine kleine Anleitung für Windows geben. Es sieht zwar im ersten Moment recht kompliziert aus, wenn man aber mal die Einstellungen vorgenommen hat, geht’s eigentlich ganz leicht. Man muss sich natürlich mit den Zugriffsmöglichkeiten über ssh auskennen. Ohne das geht es leider nicht.


1. Vorbereitung in Windows 10:


OpenSSH Server installieren

Da in diesem Fall der Raspberry/DGTPi auf den PC zugreifen will, muss der entsprechende SSH-Server aktiv sein. Im Gegensatz zum Mac ist das in Windows wohl nicht immer automatisch aktiviert, kann aber im aktuellen Windows 10 leicht gemacht werden:

über
Einstellungen -> Apps und Features -> Optionale Features -> OpenSSH-Server

kann man kontrollieren, ob er vielleicht doch schon installiert ist (war z.B. bei mir der Fall), ansonsten ist das per Knopfdruck gleich erledigt


Man muss nun ein Verzeichnis erstellen, in dem dann die Batch-Dateien, auf die Picochess zugreifen will, liegen, bei meinen Versuchen musste dieses Verzeichnis im Benutzer-Verzeichnis liegen, sonst hat es nicht funktioniert:

z.B. C:/Users/%benutzer%/remote_engines
(%benutzer% ist das jeweilige Benutzerkonto bei Euch auf dem Rechner)

für jede Remote-Engine muss man nun eine bat-Datei anlegen (einfach über Editor und dann die Endung "TXT" in "BAT" umbenennen):

Das sind zwei Zeilen:
die erste Zeile führt zum Pfad der Remote-Engine, die Engine muß nicht in dem „remote_engines“-Verzeichnis liegen, im Gegenteil, z.B. Hiarcs funktioniert dann gar nicht mehr, wenn mann die Engine-EXE aus dem Standardordner kopiert. Also hab ich alle meine Engines im Orginalverzeichnis belassen. Etwas anderes ist es, wenn man reine Engine-Dateien, z.B. Stockfish, CT800 etc. hat, die kann man dann der Übersichtlichkeit wegen z.B. in ein Unterverzeichnis von „remote_engines“ kopieren

Die zweite Zeile ruft dann die Engine-EXE auf. Diesen Befehl hab ich in Anführungszeichen geschrieben, da Leerzeichen sonst in dem Pfad nicht erkannt werden.

Wichtig dabei ist, dass der Name der Remote-Engine und damit diese BAT-Datei grundsätzlich mit „remote“ beginnen muss, damit sie in picochess erkannt wird, also z.B. remote_hiarcs.bat

cd %Pfad_zur_Engine%
"cd/%Pfad_zur_Engine%/%Engine_Name%


Beispiel für Hiarcs:
cd C:\Program Files (x86)\HIARCS Chess\HIARCS 14 WCSC
"C:\Program Files (x86)\HIARCS Chess\HIARCS 14 WCSC\Hiarcs14WCSC.exe"


Legt man sich die EXE in eine Unterverzeichnis, kann es dann z.B. so aussehen:

cd C:/Users/%benutzer%/remote_engines/engines
„C:/Users/%benutzer%/remote_engines/engines/CT800_Win_64bit.exe“




2. Anpassungen in Picochess:

picochess.ini anpassen:

In der picochess.ini muss einmalig der Remote-Server eingestellt werden. Dazu braucht man die IP-Adresse des Windows-Rechners, den Benutzer-Namen und das Passwort für den Login


### Parameters for a remote engine (server) (from 3.0 on can be used in at the same time with standard engines)
## v3 Where is the server with the engine
engine-remote-server = 192.168.178.xx *;(IP-Adresse vom Windowsrechner)
## v3 What user to use for connect to the remote-engine server
engine-remote-user = %Benutzer% *;(Benutzer in Windows)
## v3 What password for the remote-engine-server
engine-remote-pass = %passwort% *;(Passwort vom Windows-Login)
## The secret server-key for the remote-engine-server
# engine-remote-key = your_secret_key
## v3 The home path (where the engines live) for the remote-engine-server
engine-remote-home = C:\Users\%Benutzer%\remote_engines\ *;(Pfad der BAT-Dateien))


Die jeweilige Remote-Engine muss in die engines.ini und ggf. In die favorites.ini eingetragen werden:

Beispiel für Hiarcs:

[remote_hiarcs]
name = HIARCS by Mark John Uniacke
small = hiarc
medium = Hiarcs
large = Hiarcs(R)
elo = 3081
levels = 7
ponder/brain = n


Bei meinen Versuchen mussten alle Einträge vorhanden sein, also auch ELO, Levels etc. Ansonsten hat es nicht funktioniert. Levels ist die Anzahl der Spielstufen, die man dann nachher in der UCI-Datei angibt.


Jetzt kann man für jede Remote-Engine noch eine UCI-Datei anlegen, die natürlich genauso benannt wird, hier ie remote-engine, also
z.B. remote_hiarcs.uci

welche Einstellungen man verwenden kann, kann man sich selbst aus den UCI-Daten auslesen
Dazu startet man die jeweilige Engine in Windows per Doppelklick
diese startet dann in der Eingabeaufforderung,
je nach Engine kommt dann eine kurze Meldung zur Engine, manche geben aber zunächst gar keine Meldung aus und die Eingabeaufforderung bleibt zunächst leer
mit dem Befehl „uci“, den man in der Eingabeaufforderung eintippt, bekommt man dann alle UCI-Optionen angezeigt, die man in der engine einstellen kann, z.B. Skill-Level von 0 - 20 bei Stockfisch
bei Hiarcs kann man z.B. die ELO von 750 bis 3081 einstellen
die UCI-Datei kann dann z.B. so aussehen, wobei die ELO-Levels jetzt einfach schnell mal geschrieben wurden die kann man sich natürlich beliebig anpassen:

[DEFAULT]
UCI_LimitStrength = true

[ELO 750]*
UCI_Elo = 750*

[ELO 850]*
UCI_Elo = 850*

[ELO 950]*
UCI_Elo = 950*

[ELO 1200]*
UCI_Elo = 1200*

[ELO 1500]*
UCI_Elo = 1500*

[ELO 2000]*
UCI_Elo = 2000*

[ELO 3081]*
UCI_Elo = 3081*



auch die Messchess-Anbindung funktioniert, da habe ich die Hiarcs-BAT-Dateien hergenommen, allerdings momentan noch ohne Grafik, da der Windows SSH-Server das wohl nicht erlaubt.

Beispiel für MMIV:
cd D:\CB-Emu\MessChess\Hiarcs\Engines
"D:\CB-Emu\MessChess\Hiarcs\Engines\Mephisto MM IV (set 1, v7.10).bat"


ob die Windows-Engine gestartet ist, kann man in Windows über den Task-Manager kontrollieren: STRG+ALT+ENTF, dann in dem Register "Prozesse" unter "Hintergrundprozesse" die Engine suchen

Das ganze klingt vielleicht im ersten Moment recht kompliziert. Wenn man sich aber Schritt für Schritt vortastet, hat man eigentlich schnell alles zusammen. Und wenn man dann erst einmal eine Engine über Remote am laufen hat, geht es auch ganz schnell. Dann kann man sich die Dateien schnell duplizieren, umbenennen und die Pfade anpassen. Nachdem ich die erste Engine korrekt eingestellt hatte, waren die weiteren engines eine Sache von ein paar Minuten.

Ich hoffe mal, ich hab keine Tip-Fehler drin, so ein Tip-Fehler in der Orginalanleitung hat mich einen halben Tag gekostet ;-)

Viel Spaß
__________________
Gruß Tobias

Geändert von Lindwurm (20.02.2021 um 13:58 Uhr)
Mit Zitat antworten
Folgende 6 Benutzer sagen Danke zu Lindwurm für den nützlichen Beitrag:
Chessguru (20.02.2021), DarkBishop (18.11.2022), dsommerfeld (28.02.2021), Joscho (21.02.2021), Mapi (05.03.2021), ruschach (05.03.2021)