Frage von JojoII, 48

Wie kann man einen Patcher mit Visual Studio erstellen?

Ich möchte mitVisual Studio einen Launcher (Mit Patcher) für ein Spiel erstellen der es automatisch updatet.

Kann mir dort einer ein Tutorial Link oder so etwas senden? Ich habe dort nichts gefunden...

Also es soll wie ein Updater sein, aber er soll dann nicht das ganze Spiel neu runterladen (wenn es immer 4 GB oder so sind ist das blöd) sondern die neuen Dateien oder geänderte sollen nur hinzugefüht bzw. ausgetauscht werden...

Wer Robocraft kennt und weis wie der Launcher aussieht: so in etwa.

(Also es soll sich kein EntZipper oder so was öffnen und man muss es erst wieder neu installieren, einpach automatisch Patchen)

Antwort
von Berny96, 41

Ein Tutorial dafür wirds wohl eher nicht geben denn wenn man programmieren kann kann man sich ganz einfach zusammenreimen wie das funktionieren soll. Wofür möchtest du einen Patcher erstellen? Dein eigenes Spiel? In welcher Programmiersprache hast du das vor?

Kommentar von JojoII ,

Ich lerne es ja grade und ich weis nicht wie man soetwas machen kann das er es nur austauscht...


Der Launcher / Patcher ist in Visual Studio, also in C, c# und C++

Das Spiel mache ich in der Unreal Engine (C#)

Kommentar von Berny96 ,

Es ist eigentlich ganz einfach. Du brauchst als erstes eine Benutzeroberfläche bzw ein Framework dafür. Da du C# anscheinend kannst empfehl ich dir WPF oder Forms. Beides im Prinzip gleich bloß würde ich lieber mit WPF anfangen da Forms outdated ist. Die daten die in den Spielordner kopiert werden sollen sollten irgendwo auf einen Server liegen damit du sie von da holen kannst. Jetzt muss der Patcher nur noch wissen wo das Spiel installiert ist (entweder er sucht es selber oder der Benutzer gibt den Pfad an) und vom Server die Daten in den Ordner kopieren. Das Spiel benutzt automatisch das neue Update da du entweder die exe auch updatest oder sonst irgendein code der dafür sorgt das das Update mit einbezogen wird. Grob Verstanden?

Kommentar von JojoII ,

Das oben nicht so ganz so.

Also nimmt man nur die Ordner die geändert werden legt sie auf den Server sollen und lässt das in das Spiel kopieren (Also man gibt dann dem Pfad an) und es wird automatisch ausgetauscht und ist somit gepatcht?

Und was ist wenn jemand von der 1.0 auf die 1.2 Updatet da er länger nicht da war und der Ordner der bei der 1.1 hinzugefügt wurde ist ja dann nicht mehr beim1.2 Update vorhanden...

Kommentar von Berny96 ,
  1. Genau. Du musst halt bei deinem Spiel genau schauen was alles geupdatet werden muss. Wenn zum Beispiel nur Content hinzugefügt wird und nichts an der Spielmechanik dann musst du bestimmt nur die Itemdateien z.B. patchen ohne das eigentlich Spiel zu ändern. Veränderst du aber wohl etwas an dem Spiel an sich muss auch die start exe geupdatet werden. Dadurch das die Dateien von dem Server drauf kopiert werden ist es dann gepatcht ja. Am besten du testest einfach bei dir selber in wiefern du welche Dateien kopieren musst damit das Update funktioniert. An sich steckt aber hinter Patchen nichts anderes als das automatische kopieren und ersetzen von Spieldateien.
  2. Da musst du dir ein kleines System für ausdenken.z.B. könntest du für jeden Fall ein Updateordner auf dem Server anlegen sprich du hast jeweils einen Patch für 1.0 auf 1.5, von 1.1 auf 1.5, von 1.2 auf 1.5 usw. So kannst du gezielt immer nur das herunterladen was gebraucht wird. Die andere Möglichkeit wäre immer alles neu herunterzuladen was aber sehr dumm wäre. Sonst könntest du auch noch wenn der User z.B auf 1.0 ist den Patcher sagen er soll immer Stufenweise patchen sprich von 1.0 auf 1.1 dann auf 1.2 usw bis er bei 1.5 ist. Was aber am effizientisten ist muss du selber schauen. Je nach dem wie Groß das Spiel wird ist es natürlich auch nicht gerade so wichtig. (Obwohl Unreal Spiele in der Regel schon sehr Groß sind ;D).
Kommentar von JojoII ,

Wenn man in der Unreal Engine ja das Spiel fertigstellt hat man ja dann mur die Spiele.exe bzw. das Spiel vertig als Datei.

Man müsste wenn das Update ferig ist im Editor die Ordner im Explorer öffnen und kopieren, oder?

Kommentar von Berny96 ,

Wenn das so ist bei Unreal dann denke musst du beim "Patchen" die neue exe jeweils runterladen. Dann hast du halt längere ladezeiten. Ich hätte jetzt aber geschätzt das man ein ganzen Spielordner hat mit dem Assets usw. hm.

Keine passende Antwort gefunden?

Fragen Sie die Community