Jump to content
Unity Insider Forum

Fragen bezüglich eines Game Launchers


GekkoState

Recommended Posts

Hallo zusammen ich wollte mich mal daran versuchen einen Launcher/Autoupdater zu schreiben und hab da ein paar sachen wo ich auf eure hilfe hoffen würde.

 

Zu erst mal ich wollte den Blizzard Launcher als Vorbild nehmen. Und die erste Frage dazu wäre zum login. Also Benutzername und Passwort eingeben und da dann prüfen ob ein entsprechender Eintrag in einer Datenbank existiert  oder nicht da weiss ich schon wie ich das machen will und welche Themen ich mir dazu anschauen muss aber bei zum Beispiel dem Blizzard Launcher kann man ja auch zur Accountsicherheit einen Autenticator benutzen. Jetzt meine Frage dazu, hat da einer eine Idee wie man so etwas umsetzen könnte.

 

Zum anderen das Updaten des spiels also das der Launcher von dem server zum Beispiel eine Version.txt datei anfordert und dann prüft ob die lokale version des Spiels auf dem richtigen stand ist und gegebenenfalls neue Daten runterladen, da bin ich schon am gucken wie ich das machen kann. Aber ich finde keinen Weg wie ich prüfen kann ob die Spieldateien auf dem Server dieselben sind wie die auf der Festplatte. Es wäre ja möglich dass das Spiel auf der neusten Version ist der Spieler aber etwas an einer Datei verändert hat.

Das würde ich halt gerne überprüfen, also ob auf dem Computer exakt die selben Dateien wie auf dem Server sind. Vielleicht weiss da ja jemand mit welchem Thema ich mich dafür informieren müsste.

 

Und meine letzte Frage wäre zum starten der Game.exe. Um sicher zu gehen dass das Spiel jedes mal auf die neueste Version hin und die richtigkeit der Daten geprüft wird hätte ich gerne das die Game.exe nur von dem Launcher gestartet werden kann. Kann man so etwas machen oder habt ihr eine andere Idee wie man das machen könnte.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also wegen Login du solltest dich mit Passwortsicherheit also Hashing etc. beschäftigen

Für den Authenficator solltest du dich mit Tokens beschäftigen

Für das Überprüfen der Dateien kannst du auf die Dateien Hashes bilden. 

Für nur starten aus Launcher kannst auf dem Server ein Code Wort generieren was eine Bestimmte zeit lang gültig ist das Schickst du dann vom Launcher an den Game Client und der überprüft auf der Datenbank ob das Code Wort richtig ist. Zusätzlich könnte man noch überlegen ob man die Datei hashes nochmal prüft in der Game.exe das nimmt jedoch Zeit in anspruch die der Spieler warten muss.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nur ein paar Gedanken meinerseits, also den Autenticator kenne ich nicht, kann also auch nicht sagen wie er umgesetzt werden könnte, da brauche ich mehr Infos dazu. Zur Authentifikation einer Person gibt es aber mehrere Möglicheiten...Login in einem Netzwerk / Emailkonto / Ausweißprüfung / Token / Chipkarte / Handy 
Fürs Updaten eines Spiels gibt es oft wiederum separate Software, die nennt sich meist Softwareupdater / Installer / Deployer etc. Der BlizzardLauncher hat unter seiner Haube ebenso eine solche Software. Dieser startet nach dem Loginprozess eben diese Software und prüft a) die aktuelle Version auf dem System und b ) ob ggf. Daten der aktuellen Version korrupt sind (oder durch den Spieler verändert wurden / Cheating).
Für die Feststellung der aktuellen Version auf dem lokalen System werden die "Muster der Version" (ich nenne sie mal so) vom Server geladen und mit der lokalen Version abgeglichen. Die "Muster der Version" bestehen dabei aus der Anzahl der Dateien, den Typ der Dateien, die Größe der Dateien und  (am Wichtigsten) den allen Prüfsummen aller Dateien die zu einer Version gehören. Für einen schnellen lokalen Abgleich schaut man sich nur die Typen, die Anzahl, die Namen und die Größe der Dateien an, für einen Intensivscan werden alle Prüfsummen aller Dateien der Version gebildet (daß kann einige Zeit dauern, Blizzard hat ein ähnliches Programm um unter anderen korrupte Installationsdateien zu reparieren, hier wird genau so etwas gemacht), Weiteres "Handling" übernimmt dann der "Softwareupdater", nachdem die aktuelle Version festgestellt wurde, werden Daten für ein Update vom Server geladen und dann lokal installiert.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...