Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Verbindung von 2 PCs
- By Lothar Jung Date 2021-03-18 11:59
Welche GUIs unterstützen eine UCI-Engine-Verbindung über WLAN/LAN für Engine-Tuniere?

Lothar
- - By Clemens Keck Date 2021-03-20 14:26
Es ist schon bestimmt 10 Jahre her, seit ich das zum letzten Mal benutzte.
Am besten hat es noch mit netchess von Bernd Wallner funktioniert.
Müsste mal meine Uraltrechner auf dem Dachboden nach dem Tool durchsuchen...
Die älteren Fritz GUI hatten noch die Möglichkeit 2 PCs zu verbinden. Ich glaube bis Fritz 14. Über Netzwerk war schwierig und seeehr langsam.
Am besten lief es über eine RS232 Schnittstelle , die Rechner wurden mit einem Nullmodemkabel miteiander verbunden.
Die ersten Versionen von Doch (Vorgänger von Komodo) liefen ausschließlich unter Linux.
Mit Linux kannte ich mich aber NULL aus. Dennoch fand ich eine Möglichkeit, eine engine die auf einem Linux Rechner lief, in die Fritz GUI eines Windows Rechners zu laden.

C.K.
Parent - - By Clemens Keck Date 2021-03-20 15:06
hab nochmal nachgeschaut
Fritz 13 war die letzte GUI die zwei PCs gegeneinander angeboten hat, im Netzwerk oder mit Nullmodemkabel.
Der Nachteil hierbei, die Bewertung nur von einem PC ist in der GUI, und nicht von beiden.
Das war mit netchess besser.
Dafür war der Nachteil bei netchess, dass sich der RAM nach dem RAM des GUI Rechners richtete, auch wenn der Remoterechner viel mehr ram hatte.

C.K.
Parent - By Lothar Jung Date 2021-03-20 16:11
Danke Clemens,

mein Ziel ist es meinem MAC und meinem PC über mein LAN-Netz miteinander zu verbinden:

Hier gab es mal einen Hinweis:

https://forum.computerschach.de/cgi-bin/mwf/topic_show.pl?tid=8340

Lothar
Parent - - By Lothar Jung Date 2021-03-22 10:35
Moin Clemens,

mein Ziel ist es, den sehr stromsparenden Mac mini M1 mit meinem PC zu verbinden, um Engine/Engine Partien zu ermöglichen.

Theoretisch bieten sich LAN, Internet, Bluetooth, RS 232 und USB an.

Folgende GUIs sehen dazu ansatzweise Lösungen vor:

Chessbase via Internet über private Tuniere.
ChessX und Scid über LAN.

USB, Bluetooth und RS 232 über die Treiber des DGT-Bretts.

Lothar
Parent - - By Max Siegfried Date 2021-03-22 10:43
Warum hast du dich für den Mac Mini mit M1 Prozessor entschieden und nicht für ein MacBook Air / Pro wenn man fragen darf?
Die anderen könnte man überall mitnehmen und man braucht nicht extra einen Bildschirm mitzuschleppen.
Parent - By Lothar Jung Date 2021-03-22 11:06 Edited 2021-03-22 11:08
Weil ich den Mac mini M1 nur stationär benutze: parallel zu meinem PC und an meiner Stereoanlage/Fernsehen als Mediaserver.
Eine Mac Air werde ich mir erst dann zulegen, wenn er über 16 GB RAM und 8 + 4 Kerne verfügt sowie er Windows emulieren (ARM Windows) kann. Dann kann er mein derzeitiges Notebook ersetzen.

Lothar
Parent - - By Clemens Keck Date 2021-03-22 11:16
Hallo Lothar

Fritz 13 funktioniert perfect mit RS 232. Hat der MAC überhaupt ne Möglichkeit eine rs232 zu simulieren, zB eine USB Schnittstelle?
Habe nur keine Ahnung ob sich Fritz 13 auf dem Mac installieren lässt. Bei linux konnte man ja unter wine Windows Programme laufen lassen, allerdings mit Leistungseinbußen.
Ansonsten kann es nur eine Remoteengine Lösung geben.
Netchess war da klasse, gab es aber nicht für den MAC.
C.K.
Parent - - By Lothar Jung Date 2021-03-22 12:09 Edited 2021-03-22 12:23
Danke Clemens,

Fritz 13 kann man gebraucht kaufen. Unterstützt aber nur 32-Bit, oder?
Ebenso ist ein USB/RS232-Adapter für MAC erhältlich.
Man muß halt auf eine EMU für Windowsprogramme auf Mini Mac M1 warten.

Lothar
Parent - - By Clemens Keck Date 2021-03-22 12:37
das talkchess forum dürfte eine gute Quelle sein für solche Fragen MAC / windowsPC.
Forumssprache ist halt Englisch dort.

C.K.
Parent - - By Lothar Jung Date 2021-03-22 12:42
No problem, I will ask there a couple of questions about connecting PC/MAC for engine chess.

Lothar
Parent - - By Clemens Keck Date 2021-03-22 15:00
Ah ! english for runaways (Englisch für Fortgeschrittene)

Lothar Jung schrieb:

No problem, I will ask there a couple of questions about connecting PC/MAC for engine chess.

Lothar
Parent - By Lothar Jung Date 2021-03-22 15:45
Yes, I lived in New York a couple of years.
Parent - - By Lothar Jung Date 2021-03-23 18:44 Edited 2021-03-23 18:46
Parent - - By Christian Petersen Date 2021-03-29 18:58 Upvotes 1
Hallo Lothar!

Die hier vorgestellte Lösung ist unsicher und extrem häßlich (um zu testen, nimmt der Verfasser auch noch telnet!).

Am besten/einfachsten macht man soetwas plattformübergreifend mit openssh:
https://www.openssh.com
wenn es darum gehen soll, eine Engine remote in ein Schachprogramm als Matchgegner/Analyseheinz einzubinden. Wenn ich Schachprogramm schreibe, so will ich unbedingt davon augehen, daß dies prinzipiell auch auf die Programme von Chessbase zutrifft (bei cutechess-cli/xboard funktioniert das reibungsfrei).

SSH sollte nicht nur auf dem Mac bereits standarmäßig installiert sein, sondern neuerdings auch dem Windows (allerdings nur 10) bereits ab Werk beiliegen...

Beste Grüße!
Parent - - By Lothar Jung Date 2021-03-29 19:43 Edited 2021-03-29 19:46
Hallo Christian,

vielen Dank für Deinen fachlichen Beitrag.

ssh ist unter allen Betriebssystemen verfügbar.
Die Voraussetzung ist, daß das Windowsprogramm und das Mac-Programm den remote access einbaut/vorsieht.
Cutechess-cli gibt es für Windows und Mac.
Hier wäre eine Möglichkeit Engine-Spiele betiebssystenübergreifend durchzuführen. Vielleicht auch Tuniere.

Ich bin nicht sehr optimistisch, daß man man sich mit einer Mac-Applikation über ssh in Chessbase anmelden und die Engine für Tuniere aufnehmen kann. Aber darüber habe ich keine Erfahrung.

Gut wäre es jedenfalls, wenn man dies über Opensource GUIs bewerkstelligen könnte; z.B. cutechess, ChessX oder BanksiaGUI. Eine Möglichkeit wäre, wenn die Programmierer dieser GUIs, dieses Feature implementieren.

Viele Grüße

Lothar
Parent - - By Christian Petersen Date 2021-03-29 20:14 Edited 2021-03-29 20:17
Hallo Lothar!

Code:
Die Voraussetzung ist, daß das Windowsprogramm und das Mac-Programm den remote access einbaut/vorsieht.


Die ist gegeben, meine ich.

Zitat:
Ich bin nicht sehr optimistisch, daß man man sich mit einer Mac-Applikation über ssh in Chessbase anmelden und die Engine für Tuniere aufnehmen kann.


Och, ich bin da sehr optimistisch.

Ich habe mir mal ein Chessbase-GUI update (lzma-archiv, aber man nennt es *GUI*.txt) geholt und entpackt. Die *.uci-Dateien sind doch gut menschenlesbar:

Zitat:
[ENGINE]
Name=Fat Fritz (in lc0) 1.2 rtx
Author=Leela devs (lc0), A. Silver (NN)
Filename=.\Fat Fritz\FatFritz12-cuda.exe
Parameter=--backend=cuda-fp16 --weights=FatFritz.weights
LogoName=Fritz 17
Priority=below normal
[OPTIONS]
Threads=2


Vor das
Code:
.\Fat Fritz (in lc0) 1.2 rtx
könnte man einfach

Code:
ssh -p 1234 lothar@remote


setzen und auch Chessbasegui würde das dann akzeptieren.

Zitat:
Aber darüber habe ich keine Erfahrung.


Ich auch nicht. Aber prinzipiell muß es so funktionieren.

Zitat:
Gut wäre es jedenfalls, wenn man dies über Opensource GUIs bewerkstelligen könnte; z.B. cutechess, ChessX oder BanksiaGUI. Eine Möglichkeit wäre, wenn die Programmierer dieser GUIs, dieses Feature implementieren.


Code:

cutechess-cli -wait 600 -engine name="Lokale Engine/Client" \
cmd="/pfad/zur/tollen/engine" \
timemargin=22000 st=600 option.Level="specialoption 1000" \
-engine name="Stockfish 13 tuning-tabélle-geheim" cmd="ssh -p 1234 christian@remoteIP polyglot /home/christian/schach/ini/geheim.ini" \
st=45 timemargin=15000 ponder \
-each whitepov proto=uci -games 40 -rounds 2 -pgnout geheim.pgn -debug


Das ist mal ganz konkret. Was passiert hier?

Auf dem Client (sagen wir die Windowsbox*) wird mit cutechess-cli ein Match veranstaltet. Ein Teilnehmer ist die "Lokale Engine", ein anderer, der geheimnisvolle Stockfish,  läuft remote (Kamtschatka/oder LAN; wurscht!). Gestartet wird er über Polyglot (regelt Buchverwendung und Optionsgedöns->*.ini), welches auch auf der Maschine mit dem (openssh) Server läuft, bzw. erst gestartet wird.

Die Befehle werden ohne Paßwort gegeben; Verwendung findet hier ein Schlüssel(-paar), welchen/welches beide Systeme kennen.

*kann ja gar nicht sein! Backslashes fehlen!

Grüße
Parent - - By Lothar Jung Date 2021-03-29 21:37
Hallo Christian,

Danke für Deine Anmerkungen!

Die Dinge werden für mich jetzt klarer, insbes. mit cutechess-cli.

Mein Vorschlag, wir könnten doch beide über cutchess-cli das ganze mal versuchen.
Ich mit meinem MAC mini M1 und Du mit Windows. Zunächst beide nur mit SF 13, danach ich mit meinen GPUs mit Lc0 über Windows.

Gefällt Dir das?

Beste Grüße

Lothar
Parent - - By Christian Petersen Date 2021-03-30 14:54
Hallo Lothar!

Ich habe im gesamten Haushalt leider kein Windows (irgendwo liegt möglicherweise eine XP-CD herum); wine benutze ich auch nicht.

Dafür Linux, FreeBSD (da läuft nicht viel drauf) und einen Mac (kein Silicon) mit High Sierra.

Gerade eben habe ich mal mit Chessx herumgespielt; auch hier läßt sich eine Remoteengine (ist das noch Deutsch?) problemlos einbinden.
Code:
Als 'command' stund bei mir in etwa:
"ssh -p 1234 christian@entferntIP /home/christian/schach/stockfish"

Nach kurzer Bedenkzeit kann man dann prima analysieren. Alles nach 'ssh -p Benutzer@IP wird remote ausgeführt. In meinem Fall ein Stockfish, der vielleicht auf einem Raspberry Pi oder Cluster läuft.

Ich würde Dir empfehlen, eine virtuelle Maschine auf der Windose aufzusetzen (vielleicht mit Virtualbox); in die kannst Du hineininstallieren, was Dir gerade so gefällt (z.B. ein anderes Windows), resp. gibt es fertige Systeme (alles *nixe):
https://www.osboxes.org/virtualbox-images/

Du mußt Dich dann einlesen (es geht nicht ohne), wie ein Openssh-Server sicher betrieben wird (das kann sehr gut konfiguriert werden: erlaubte Nutzer, IPs, kein Rootlogin dgl.). Ziel dieser Übung sollte sein, daß Du 'localhostmäßig', bzw. streng intern (so hieß das damals beim MfS) per ssh mit dieser virtuellen Maschine sprechen kannst.
Also:
Die Windose ist der Client (ssh) und die virt. Maschine der Server (Opensshserver muß dann darin auch installiert werden). Auf dem Client wird ein Schlüsselpaar erzeugt, welches man mit einer Passphrase schützen kann, für die Übung aber nicht muß. Ein Teil des Schlüsselpaares wird in die virtuelle Maschine (genauer: in das Benutzerverzeichnis des entsprechenden Originalverwenders) geschickt (der Server muß bereits laufen) und idealerweise ist dies das letzte Mal, daß man nach einem Paßwort auf dem Client gefragt wird. Klingt kompliziert, ist es aber nicht. Dort wo der Server läuft, verrichtet auch der ssh-agent seine Arbeit. Der sorgt dafür, das der Schlüssel geladen wird/bekannt ist. Wurde dieser mit einer Passphrase geschützt, so muß es (für die Session) dann an dieser Stelle eingegeben werden, so daß der Client danach nicht gefragt wird. Gibt man keine Passphrase ein, kann man auch nicht danach gefragt werden - trotzdem muß man auch hier den ssh-agent starten, bzw. macht der das in der Regel sülbst.
Auf Talkchess:
http://www.talkchess.com/forum3/viewtopic.php?t=72055
hat das der Beitragsersteller z.B. nicht verstanden, bzw. unterstelltermaßen keine Ahnung von der prinzipiellen Funktionsweise der beteiligten Komponenten. Diese Kenntnis ist aber wichtig, sonst hat man u.U. sehr schnell Gäste im System, bzw. wird andauernd nach einem Paßwort gefragt usw. Das Installieren des Client (auf dem Mac bereits dabei) ist harmlos, der Betrieb des Servers hingegen nicht.

Achso:
Spielst (Übung!) Du unter MacOS mit unixoiden virt. Maschinen (ein Ubuntu?*) herum, ist alles viel einfacher, weil sich die hier Beteiligten manchmal an Standards halten:
https://de.wikipedia.org/wiki/Filesystem_Hierarchy_Standard als Beispiel...
und z.B. nicht mit Backslashes (\) in den Pfadangaben herumspielen (es sei denn Leerzeichen sind im Spiel ). Außerdem kannst Du schön von einem Terminal ins andere Kopieren/Einfügen, bzw. können Befehle ähnlich/identisch sein (Vorsicht ist immer geboten).

Wenn Du das Prinzip auch durch Versuch/Irrtum verstanden hast, solltest Du frei sein. Kann zweidreivier Tage dauern - aber noch ist ja Lockdown und auch kein Sommer mit Segelwetter!
Solltest Du Dich für die unixoide Variante entscheiden, bin ich gerne weiter ansprechbar (NULL Dunst von Windowsgruppenrichtlinien, Benutzerkonten, Firewallregeln etc..).

Beste Grüße!

*https://www.thomas-krenn.com/de/wiki/OpenSSH_Public_Key_Authentifizierung_unter_Ubuntu
Parent - - By Lothar Jung Date 2021-03-31 19:57
Hallo Christian,

nochmals Danke für Dein Engagement.

Also zu unserer Hardware.
Du arbeitest auf Linux und einem Mac.
Ich auf Windows und einem Mac.

Ich meine wir würden zunächst eine Verbindung mit cutechess-cli zwischen unseren Macs in Angriff nehmen.
Zunächst ohne cutechess und danach mit.

Danach könnten wir mit Deinem Linux und ich mit meinem Windows eine Verbindung mit cutechess-cli aufsetzen.
Du könntest denn mit Linux auf meine Hardware zugreifen (Ryzen 3900X mit RTX 3080, 2080S und 2070. Nicht schlecht!?

Hier noch ein paar Links über ssh bei Windows und Mac:

http://www.talkchess.com/forum3/viewtopic.php?t=72055

https://www.heise.de/tipps-tricks/SSH-unter-Windows-10-nutzen-4224757.html

https://support.apple.com/en-in/guide/mac-help/mchlp1066/mac

Unser Projekt wäre für Remote-Engine-Tuniere eine Alternative zu Chessbase und dürfte auch andere Forumsteilnehmer interessieren.

Zur Abstimmung würde ich Dir meine Emai-Adresse und Telefonnummer übermitteln.

Beste Grüße

Lothar
Parent - - By Christian Petersen Date 2021-03-31 21:09 Edited 2021-03-31 21:14
Hallo Lothar!

Zitat:
Du könntest denn mit Linux auf meine Hardware zugreifen.


Nein. Ich bin überhaupt nicht vertrauenswürdig! Andere auch nicht. Vereinfachend gesagt, gibst Du jedem per ssh (fast Voll-) Zugriff auf Dein System und erteilst nicht nur eine Nutzungsbrechtigung für ein Schachprogramm.

Im Ernst: So etwas solltest Du wirklich nur Deiner Familie anbieten, bzw. ausschließlich Dir selber (meine Vorschläge zielten darauf ab, daß Du Deine entfernte  Hardware in ein höchst lokal stattfindentes Chessbaseereignis einbindest; dies war ja auch die Ausgangsfrage). Aber vielleicht kann ich Dir etwas basteln, in dem Du Dich dann austobst, bzw. nutzt Du meine Hardware (ich habe nur langsames Zeuch am Start!). Nach Ostern schreibe ich Dir eine PM.

Es ist eben auch so, daß mich Engine-Engine-Matches eher gar nicht interessieren zur Zeit. Auch keine Skynethardware. Der Blick schweift nach hinten/zurück...

Über die Feiertage könntest Du auch BanksiaGUI ausprobieren? Dort gibt es wohl eine Matchfunktion fürs LAN:
https://banksiagui.com/2020/03/03/play-over-the-local-network/

Installiert habe ich die nicht, aber der Entwickler macht es wohl mit 'telnet'(?).

Beste Grüße!
Parent - By Lothar Jung Date 2021-04-01 10:13
Danke Christian,

hier ist eine Anleitung auf talkchess.com zur Verbindung zweier PCs über die BanksiaGUI:

http://talkchess.com/forum3/viewtopic.php?f=2&t=72350&start=490#p835830

Lothar
Parent - By Lothar Jung Date 2021-04-08 14:36
Hier das genau Vorgehen über die BanksiaGUI ein LAN Tounament aufzusetzen:

I write a short guide here, tell me if you need something else.

1) Conditions: To play via local network you need at least two computers (no limit number of computers) using the same local network (using cables and/or WIFI) and running BSG on each computer.

2) Login BSG
- Open Local network panel: menu -> Connect -> Local Network
- Give a name (any) to each computer then click the button Connect. You may use the same name for multi-computers, but it is the hard way to manage. It is better to give a unique and short name for each computer. If everything is OK, you will see some messages such as Jane has joined, nguyen has joined...
(figure 1)

3) Create a tournament
For a tournament, you will create it (the tournament) in one computer -> it is called main/tournament computer, other computers will be passive ones (in the view of that tournament).
- In passive computers, tick on "All engines" if you want all engines can be seen and selected from the main computer, otherwise, tick on "Select" and select the engine you want from next dropdown to participate the tournament

WARNING: due to a bug, tick on "Select" has no effect - the bug will be fixed for the next release

- In the main computer, just create a new tournament as usual. You will see in the table "Available engines" some new engines with prefixes of computer names (such as "nguyen:Crafty-25.3"). Select them (new engines) as you want and then start the tournament as usual.

- You may change some parameters on the local network panel:
+ add time: add time after each move for engines on remote computers (but not for engines which run on the main computer). It is useful when the network may be lag
+ connect (tick box): auto-connect to local network when starting BSG -> convenient function for tournament creators
+ show: auto show any network games

Anmerkung: Der o.a. ist mit der Version 0.39 beta behoben worden.

Lothar
Parent - - By Lothar Jung Date 2021-04-10 11:10
An dieser Stelle möchte ich darauf hinweisen, daß die aktualisierte BanksiaGUI 0.39 Beta LAN-Tuniere ermöglicht.

Lothar
Parent - - By Robert Bauer Date 2021-04-12 08:30
Hallo,

ein anderer Ansatz für Windows wäre, die Chess Engine mit Chessbase in der Cloud zu nutzen:

https://en.chessbase.com/post/using-your-home-chess-engine-anytime-anywhere

Damit man die eigene Engine nur selbst benutzen kann, stellt man diese als Private Engine ein.
Hat dies schon jemand benutzt?
Parent - - By Lothar Jung Date 2021-04-12 10:23
Hallo Robert,

danke für Deine Vervollständigung.

Wußte ich so noch nicht. Zum Glück ist eine ausführliche Anweisung dabei.

Die Nachteile: nicht plattformübergreifend und mit Abo bei CB verbunden.

Viele Grüße

Lothar
Parent - By Robert Bauer Date 2021-04-12 19:07
Wer Chessbase schon hat, für den ist dies natürlich ideal.

Wie ich heute ausprobiert habe und mir Peter Schreiner bestätigt hat, funktioniert es leider nicht mit einer Chess 960 Partie.
Remote Engines lassen sich nur zur Analyse klassischer Partien einsetzen.
Ob man mit einer Remote Engine auch spielen kann? Keine Ahnung.
Up Topic Hauptforen / CSS-Forum / Verbindung von 2 PCs

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill