Eine Verlinkung dieses Posts ist gestattet, bei einer Kopie muss ein Hinweis auf diesen Post existieren, ansonsten erlaube ich die Veröffentlichung nicht.
Auf Anfrage von Wishmaster zeige ich nachfolgend, wie ihr auf mehreren Rechnern Pokern könnt und dabei den Elephant auf eine gemeinsame Datenbank zugreifen lasst.
Das hat den Vorteil, dass ihr eure Handhistories nicht hin- und herschieben müsst, um an allen PCs den selben Datenbestand in der PostgreSQL Datenbank zu erhalten.
1. Beispielszenario
Ihr spielt am "normalen" Desktop-PC 2000 Hände und sammelt dabei Handhistories und stats über eure Gegner. Nun schnappt ihr euch den Laptop, um weiterzuspielen während ihr euch draussen die Sonne auf den Bauch scheinen lasst.
Normalerweise habt ihr auf dem Laptop eine sepparate PostgreSQL Installation und somit die Handhistories und stats der eben gespielten 2000 Hände nicht verfügbar. Natürlich kann man die Handhistories von jeder Session auf alle anderen PCs kopieren und importieren, aber das ist auf Dauer mühsehlig und für den Laien mit Sicherheit auch nicht automatisierbar. Des Weiteren verbraucht eine PostgreSQL Installation mit steigender Datenmenge zunehmend Ressourcen, weshalb man mit einer zentralen Installation den Laptop (und andere PCs) schonen kann.
2. Bevor wir loslegen
- 2.1 Einen PostgreSQL Installer herunterladen: (Ich verwende hier nicht den OneKlick-Installer, da dieser bei einigen Windows Versionen Probleme verursacht.) Klickt hier auf die neueste Version (Im Beispiel v8.4beta2) und klickt dann auf den win32 Ordner. Wählt dort die zip Datei postgresql-<VERSION> und klickt einen beliebigen mirror an. Direktdownload über diesen Link.
EDIT: Da die Postgre-Menschen nur noch OneKlick-Installer bereitstellen, habe ich einmal die hier im Tutorial benutzte Version bei Rapidshare hochgeladen; Direktdownload über diesen Link
- 2.2 Den Elephant herunterladen: Den bekommt ihr hier.
ACHTUNG: In der Elephant Installation ist bereits ein PostgreSQL Installer enthalten. Da diese Version aber eventuell (!) Probleme bei einigen Windows Versionen (UAC, Vista +) verursacht nutze ich hier oben genannte Version.
Des weiteren habe ich auf meinem Datenbank-PC keinen Elephant installiert, weshalb die sepparate Installation hier meines Erachtens eh vorteilhafter ist. Die hier beschriebene Installation erlaubt aber im Zeifelsfall auch den Betrieb PostgreSQL UND Elephant auf dem selben Rechner.
3. Installation
- 3.1 PostgreSQL: Wir entpacken das unter 2.1 heruntergeladene zip-Archiv und erhalten (bei Version 8.4b2) 6 Dateien. Die Installation starten wir mit der Setup.bat Datei. Fragen, ob xyz installiert werden soll / Zugriff haben soll immer mit ja und amen bestätigen.
Nachdem die visual c runtime Installation abgeschlossen ist erscheint dieser Dialog

Klickt unten auf Start, dann drei mal auf Weiter bis ihr hier ankommt

Hier geben wir nun unten ein beliebiges Kennwort ein, welches ihr euch notiert, den Rest lassen wir unverändert. Dann klicken wir wieder auf Weiter und bestätigt den nun auftauchenden Dialog bezüglich des Anlegens eines Benutzerkontos mit Ja.
Nun erscheint dieser Dialog

Hier geben wir das eben benutzte Kennwort erneut zweimal ein (theoretisch kann man ein anderes als eben benutzen, der Einfachheit halber machen wir das aber hier nicht), setzen das Häckchen bei Verbindungen auf allen Netzwerkadressen annehmen, nicht nur auf Localhost, und wählen bei den Encoding Options (beide) noch UTF-8 aus. Nun klicken wir auf Weiter und im folgenden Popup auf OK. Danach noch drei mal auf Weiter klicken wobei wir die Einstellungen in den entsprechenden Dialogen unverändert lassen. Die Installation startet nun.
Am Ende erscheint dieser Dialog

Hier entfernen wir das Häckchen bei Launch Stack Builder at exit und beenden die Installation mit einem Klick auf Beenden.
Zum Schluss öffnen wir den PostgreSQL Installationsordner (Im Beispiel "C:\Programme\PostgreSQL\8.4-beta2\data") und öffnen dort die Datei "pg_hba.conf" mit einem Texteditor (zB NotePad). Dort scrollen wir ganz nach unten und ersetzen den Eintrag
# IPv4 local connections:
host all all 127.0.0.1/32 md5
durch
# IPv4 local connections:
host all all 127.0.0.1/0 md5
Das wars, PostgreSQL ist nun installiert und konfiguriert. Um die Einstellungen wirksam zu machen müsst ihr den PostgreSQL Dienst neu starten (Am einfachsten ist es, den Computer neu zu starten).
Wir benötigen für die Elephant Installation noch die IP-Adresse des PCs auf dem PostgreSQL installiert ist. Geht dafür auf Start -> Ausführen und gebt "cmd" ein (Bestätigen mit Enter).
Gebt im nun auftauchenden DOS-Promt "ipconfig" ein und bestätigt mit Enter.

Die rot eingekreiste Adresse notieren wir uns (Sie wird bei euch höchstwahrscheinlich anders lauten als im Beispiel)
- 3.2 Elephant: Führt die Elephant Installation aus, indem ihr die unter 2.2 heruntergeladene Datei öffnet (Im Beispiel "setup-elephant_0.67.exe"). Hier klicken wir dann auf Next. Nachdem die Installationsdaten entpackt wurden klicken wir direkt noch drei mal auf Next und am Ende auf Close.

Der Elephant ist nun installiert, wir starten ihn über die Desktopverknüpfung "PokerStrategy Elephant". Der nun auftauchende Hinweis über die Trial Version überspringen wir einfach, indem wir auf OK klicken oder geben unsere Lizenz ein, falls vorhanden.
Nun erscheint folgender Dialog:

Den Dialog schließen wir mit einem Klick auf "Nein, nicht installieren".
Den folgenden Dialog bestätigen wir mit OK


Hier geben wir im Feld "Benutzername" "postgres" ein, im Feld Passwort das PasswortXYZ, welches ihr euch bei der PostgreSQL Installation aufgeschrieben habt, der Datenbankname kann so stehen bleiben.
Nachdem ihr das Häckchen bei "Erweiterte Einstellungen anzeigen" gesetzt habt tragt ihr dann unter "Tragen Sie den Server ein" die bei der PostgreSQL Installation recherchierte IP-Adresse ein (Im Beispiel 192.168.0.20).
Danach klicken wir auf OK (Hinweis: Bei einem Klick auf "Datenbankeinstellungen testen" erscheint normalerweise der Fehlerhinweis, die Datenbank sei nicht vorhanden, das ist hier jedoch irrelevant).
Das wars, der Elephant ist nun installiert und greift auf unsere PostgreSQL Datenbank zu.
Wenn ihr nun den Elephant auf weiteren Rechnern installieren wollt, wiederholt einfach die hier in 3.2 beschriebene Prozedur.
Wenn ihr den Elephant auf weiteren Rechnern bereits installiert habt und keine Lust habt das Prozedere zu wiederholen, kopiert einfach die "user.config" eurer frischen Elephant Installation auf diese weiteren Rechner.
Ihr findet die "user.config" unter "C:\Dokumente und Einstellungen\<Benutzername>\Lokale Einstellungen\Anwendungsdaten\PokerStrategyElephant\PokerStrategy_Elephant.ex[...]\0.67.0.0"
Die überflüssigen PostgreSQL Installationen auf diesen "weiteren Rechnern" könnt ihr dann deinstallieren.
4. FAQ
4.1 Abweichende Ordnerstrukturen
Dieses howto habe ich für eine deutsche Windows Server 2003 Standard Version und den Elephant 0.67b erstellt. Falls ihr es auf andere Windows Versionen übertragen wollt weichen folgende Pfade ab:
XP,2003 deutsch (hier verwendet)
C:\Dokumente und Einstellungen\<Benutzername>\Lokale Einstellungen\Anwendungsdaten\
C:\Programme\ bzw C:\Programme (x86)\ bei x64 Systemen
XP,2003 englisch
C:\Documents and Settings\<Benutzername>\Local Settings\Application Data\
C:\Program Files\ bzw C:\Program Files (x86)\ bei x64 Systemen
Vista,2008,7 deutsch
C:\Benutzer\<Benutzername>\AppData\Local\
C:\Programme\ bzw C:\Programme (x86)\ bei x64 Systemen
Vista,2008,7 englisch
C:\Users\<Benutzername>\AppData\Local\
C:\Program Files\ bzw C:\Program Files (x86)\ bei x64 Systemen
4.2 Falls Die PostgreSQL Installation fehlschlägt
- der Dienst "Sekundäre Anmeldung" / "Secondary Logon Service" muss laufen: Start -> Ausführen -> compmgmt.msc | Dienste und Anwendungen -> Service (Eigenschaften -> Starttyp -> Automatisch -> Reboot)
4.3 PostgreSQL Installation auf einem nicht-Administrator Account
Es ist eventuell notwendig, die setup.bat in 3.1 als Administrator auszuführen, wenn euer aktueller useraccount keine Administratorrechte besitzt. Es ist mir bis jetzt jedoch nicht gelungen das reproduzierbar zu testen. Wenn also irgendwelche in der Anleitung nicht beschriebenen Probleme auftreten, dann versucht eine erneute Installation indem ihr die "setup.bat" rechtsklickt und dann auf "Als Administrator ausführen" klickt.
4.4 Aktuelle Datenbank sichern und in neuer PostgreSQL Installation wiederherstellen
Mit PostgreSQL wird normalerweise auch das Admin-Tool "PgAdmin 3" installiert.
Dies findet ihr unter "C:\Programme\PostgreSQL\8.4-beta2\bin\pgAdmin3.exe".

Nachdem ihr es gestartet habt könnt ihr eure Datenbank aufrufen, indem ihr in der linken Spalte einen Doppelklick auf den Eintrag unter "Server" macht und daraufhin das PasswortXYZ eingebt, welches ihr bei der Installation benutzt habt. Klickt die beiden folgenden Dialoge einfach mit OK weg.
Nun könnt ihr unter "Datenbanken" einen Rechtsklick auf "elephantdb" machen und auf "Sicherung" klicken.

Wählt durch Klick auf "..." einen beliebigen Platz aus, an dem ihr die Sicherung speichern wollt. Alle Optionen bleiben unverändert (Im Beispiel erstelle ich die Datei "elephant.backup").
Der Import in die neue PostgreSQL Installation funktioniert, indem ihr die Schritte bis "auf Sicherung klicken" wiederholt, aber statt dessen dann folgendes macht:
Falls die Datenbank "elephantdb" während der Elephant Installation schon erstellt wurde klickt auf "Löschen/Droppen" um sie zu entfernen.
Falls die Datenbank "elephantdb" noch nicht vorhanden oder nun gelöscht ist, rechtsklickt ihr auf "Datenbanken" und wählt "Neue Datenbank..."

Dort tragt ihr ganz oben unter "Name" "elephantdb" ein und prüft, ob unter "Kodierung" UTF-8 ausgewählt ist (!). Wenn dem so ist, klickt ihr auf OK, wenn nicht, ändert ihr die Kodierung auf UTF-8 und klickt dann auf OK.
Nun macht ihr einen Rechtsklick auf die neu erstellte "elephantdb" und wählt (wie oben beschrieben) statt "Sicherung" einfach "Wiederherstellen". Mit einem Klick auf "..." Wählt ihr die vorher gesicherte ("elephant.backup") Datei aus, klickt dann auf OK und geht ein Käffchen trinken (Es kann je nach Größe seeeehr lange dauern, bis der Import abgeschlossen ist). Beim Import wird ein (!) Fehler auftauchen, den ihr jedoch getrost ignorieren könnt. Wenn mehrere Fehler auftauchen, habt ihr etwas verkehrt gemacht.
4.5 Funktioniert das Ganze auch über das Internet ?
Prinzipiell ja, falls ihr euch mit Dyndns auskennt und den Port 5432 auf euren PostgreSQL Server weiterleitet, könnt ihr den Elephant auch von jedem beliebigen Ort mit Internetzugang auf eure zentrale PostgreSQL Installation zugreifen lassen.
Mit steigender Datenflut / Tableanzahl steigt jedoch auch die benötigte Bandbreite, weshalb das Ganze mit einem 56K Modem wohl eher nicht funktionieren dürfte.
Ich habe es mit 6 Tables über eine Leitung mit 80K Upstream erfolgreich getestet, wer es mal mit 24 Tables ausprobiert kann ja eine Rückmeldung abgeben, ob / wie gut es funktioniert.
4.6 PostgreSQL Installation auf einem Domaincontroller
Falls ihr vorhabt PostgreSQL auf einem Domaincontroller / Domänencontroller zu installieren, so gebt dem user postgres keine Administratorrechte, da der PostgreSQL-Dienst sonst nicht startet. Dies ist ein PostgreSQL bug, der den devs scheinbar egal ist (siehe google).
Falls ihr nicht wisst, was ein Domaincontroller ist, könnt ihr diesen Punkt getrost überlesen.
So, ich hoffe, dass ich euch damit nach einem kurzfristigen Aufwand eine langfristige Erleichterung verschafft habe.
Happy multiseating
