DSO Client und die nervige Anmeldung

Dieses Thema im Forum 'Archiv Rest' wurde von Berotomax gestartet, 8 Juli 2017.

Liebe(r) Forum-Leser/in,

wenn Du in diesem Forum aktiv an den Gesprächen teilnehmen oder eigene Themen starten möchtest, musst Du Dich bitte zunächst im Spiel einloggen. Falls Du noch keinen Spielaccount besitzt, bitte registriere Dich neu. Wir freuen uns auf Deinen nächsten Besuch in unserem Forum! „Zum Spiel“
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Berotomax

    Berotomax Forenaufseher

    Ich denke, dass es viele gibt, denen es so geht wie mir:

    Die Anmeldung mit dem DSO Client ist verglichen mit dem Komfort einer Anmeldung über den Webbrowser wirklich mangelhaft.

    Nachdem Bigpoint hier anscheinend nicht vor hat etwas daran zu ändern habe ich in den letzten Monaten ein AutoHotkey-Script entwickelt, mit dem man das Starten des Clients und die Anmeldung automatisieren kann.

    Der Nachteil bei dieser Lösung ist natürlich, dass man das DSO-Passwort relativ ungeschützt abspeichern muss, aber meiner Meinung nach ist ein langes und komplexes Passwort das automatisch verwendet wird einem kurzen und gut merkbaren vorzuziehen (weil man letzteres eventuell erraten kann und dann ist der Account futsch).

    Das folgende Script verwendet das Scriptprogramm "AutoHotkey". Selbiges ist mit jeder beliebigen Suchmaschine leicht zu finden und ist bekannt, d.h. AutoHotkey an sich macht nichts schädliches.

    Was muss ich machen um das Script verwendet zu können:

    1. AutoHotkey herunterladen und installieren (gibt es für Windows)
    2. Den Text in dem unten liegenden "Code-Abschnitt" in eine Textdatei speichern - dabei den Bereich in dem steht HIER DSO PASSWORT EINTRAGEN mit dem eigenen DSO.-Passwort ersetzen. Wichtig ist dabei, dass Umlaute und Sonderzeichen in dem Script Probleme bereiten, also eventuell noch das DSO-Passwort ändern auf ein schön langes Passwort (10 Zeichen und mehr) das aus normalen Buchstaben und Zahlen besteht.
    3. Die Dateiendung der abgespeicherten Datei auf ".ahk" setzen (dafür müssen unter Windows die Dateierweiterungen sichtbar sein)
    4. Ein Doppelklick auf die Datei startet das Script - es startet nun automatisch den DSO Client, wartet auf die Loginseite, gibt das Passwort ein und drückt den Login-Button. Das Script erwartet dabei, dass man sich bereits vorher mindestens ein Mal von Hand angemeldet hat, so dass der DSO Client sich den Accountnamen gemerkt hat.
    Am Ende landet man bei der Serverwahl, so dass mit einem einfachen Klick DSO startet (das muss man noch von Hand machen, das fand ich so besser da man noch auf dem Download der Daten warten kann).

    Ich habe das folgende Script gut kommentiert damit jeder verstehen kann was passiert und dass das kein Schindluder mit dem Passwort passiert.

    "DSO Autologin.ahk" v1.1 vom 8. August 2017
    Code:
    #NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
    #Warn  ; Recommended for catching common errors.
    SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
    SetWorkingDir C:\Program Files (x86)\Drakensang Online\
    DSO_USERNAME:= "Hier DSO Benutzernamen eintragen"
    ; WARNUNG: Mit einigen Sonderzeichen im Passwort kann es Probleme geben. 
    ; Also lieber ein laengeres aber dafür einfacheres Passwort für DSO verwenden.
    DSO_PASSWORT:= "HIER DSO PASSWORT EINTRAGEN"
    ; Erlaubt das Veraendern des Verzeichnisses in dem die DSO-Daten abgelegt werden
    ; Zum aktivieren die folgenden drei Zeilen aktivieren (das ; am Anfang entfernen)
    ;DSO_TEMP_DIR := "C:\Temp\DSOHeredur"
    ;EnvSet, TMP, %DSO_TEMP_DIR%
    ;EnvSet, TEMP, %DSO_TEMP_DIR%
    Run, C:\Program Files (x86)\Drakensang Online\thinclient.exe , C:\Program Files (x86)\Drakensang Online , , runPid
    ; Warte bis das Hauptfenster von DSO sichtbar wird (Wartezeit maximal 60 Sekunden)
    WinWaitActive,DROThinClient, , 60
    if ErrorLevel {
        ; Fenster nicht gefunden
        MsgBox, Fenster des DSO-Clients nicht gefunden - gebe auf
        Exit
    } else {
        ; Fenter mit DSO-Namen gefunden
        WinGet,hWnd,ID
        WinGet,pid,PID
        WinGet,procName,ProcessName
        ; Pruefe ob das wirklich ein Fenster vom DSO-Client ist
        if not (procName == "thinclient.exe") 
        {
            MsgBox, Procname wrong
            Exit
        }
        if not (pid == runPid) 
        {
            MsgBox, Pid wrong
            Exit
        }
        ; ControlGet,hWndUsername,Hwnd 
        WinWaitActive, ahk_id %hWnd%, , 10
        {
            Loop{
                ; Pruefe die Farbe des Pixels, wo der Login-Butten erscheint
                ; So lange die Farbe zu dunkel ist lädt die Loginseite noch
                PixelGetColor, pixelColor, 700, 360
                ; OutputDebug, %pixelColor%
                Sleep, 300
            } Until pixelColor > 0xD00000
            MouseClick, left, 700, 230, 1, 0
            SendRaw  %DSO_USERNAME%
            MouseClick, left, 700, 260, 1, 0
            SendRaw %DSO_PASSWORT%
            MouseClick, left, 700, 360, 1, 0
        }
    }
    
    Mögliche Probleme: Wenn ihr unter Windows die Skalierung aktiviert habt kann es sein, dass die simulierten Mausklicks nicht die richtigen Positionen treffen. Man müsste dann im Script die X/Y Klickpositionen in den Befehlen "MouseClick" anpassen.

    Edit: In der ersten version dieses Posts hatte ich aus versehen AutoIt statt AutoHotkey geschrieben.

    Edit 2017-08-08:
    Das Script wurde angepasst für die neue Webseite. Nun kann man Benutzername und Passwort im Script eintragen. Außerdem wurden die Klickpunkte (Koordinaten im Fenster des Clients) angepasst.
     
    Zuletzt bearbeitet: 8 August 2017
  2. cosopt

    cosopt Board Administrator Team Drakensang Online

    Hallo Berotomax,


    Unermütlicher Einsatz. Auch wenn ich persönlich die 5 Sekunden Mehrarbeit beim bisherigen Login nun nicht schlimm finde, könnte das sicherlich für den Einen oder Anderen eine kleine Erleichterung sein, daher danke. :)


    @ ALL:
    Ich möchte hierbei natürlich nochmal obligatorisch ALLE Nutzer daran erinnern, dass die Verwendung hier auf eigene Gefahr geschieht. Zwar ist Berotomax im Forum als sehr kompetent und vertrauenswürdig einzustufen, jedoch müssen wir bei sowas darauf hinweisen. Sollte es also trotzdem in irgendeiner Weise zu Problemen kommen, die den Account betreffen, dann ist das Eigenrisiko. :)


    Mit freundlichen Grüßen,
    Cosopt
     
  3. Konstructor

    Konstructor Forenfreak

    Na ja, die Verwendung von DSO ist ja auch auf eigene Gefahr! :D
    Und bei den vielen DCs und Abstürzen wäre eine solche 'Einlogautomatik' schon nützlich... o_O
     
  4. cosopt

    cosopt Board Administrator Team Drakensang Online

    Hallo Konstructor,


    Die Verwendung eines PCs ist ebenfalls kritisch, denn "Strom aus der Steckdose ist böse und schmeckt aua". :D - Jedenfalls (lange Rede, kurzer Sinn) sollte das nur nochmal formell vorher erwähnt sein, damit sich jeder - auch bei Kleinigkeiten - dahingehend bewusst ist, wie die Schuldfrage später zu sehen ist. :) ... Auch wenn ich persönlich nicht annehme, dass es Probleme geben wird bei der Benutzung, denn Berotomax macht dahingehend einen fleißigen Eindruck. ;)


    Mit freundlichen Grüßen,
    Cosopt
     
  5. cosopt

    cosopt Board Administrator Team Drakensang Online

    Hallo Helden von Dracania,


    Da hier schon seit mehr als 14 Tagen keiner mehr gepostet hat, schließen wir das Thema und verschieben es, wie in den Archivierungsregeln vorgesehen, in das entsprechende Archiv (Archiv Rest).


    Mit freundlichen Grüßen,
    Cosopt
     
Status des Themas:
Es sind keine weiteren Antworten möglich.