Patch Downloader
Übersicht

Killer999Betreff: Patch Downloader |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
Ich wollt mal ein kleinen Beta Test machen für mein Spiele Patcher. Ich wollt für meine Games So ne art autopatch entwickeln ist zwar noch in der anfang phase aber mal gucken ob ihr bugs findet. Download 890KB http://home.arcor.de/killer1919/Patchen.rar Man muss erstmal die check.exe ausführen weil er checken muss ob es eine neue datei gibt. neues update gibt es um 22 Uhr am 03.01.06 update wurde hochgeladen |
||
Killer999 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
und funktoniert alles? ist zwar noch keine grafiken drin aber äuft es?
Achso ich habe auch festgestellt das dieses bb3d fenster sich immer aufhängt baer trotzdem weiter dl? Code: [AUSKLAPPEN] Function GET_FILE_FROM_WEB(server$,port%,file_server$,file_hdd$)
Local a_header$[50] stream=OpenTCPStream(server$,port%) If stream<>0 Then WriteLine stream,"GET "+file_server$+" HTTP/1.1" WriteLine stream,"Host: "+server$ WriteLine stream,Chr$(10) datei=WriteFile(file_hdd$) status=1 ende=0 tmp$="" ;Kopf auslesen steps=1 Repeat txt$=Trim(ReadLine(stream)) a_header[steps]=txt$ steps=steps+1 Until txt$="" For steps=1 To 50 ;If a_header[steps]<>"" Then Print a_header[steps] If Upper(Mid(a_header[steps],1,16))="CONTENT-LENGTH: " Then tmp_length=Int(Mid(a_header[steps],17,-1)) End If Next ;Rest in file schreiben bytes=0 tmp_steps=0 Repeat txt$=Trim(ReadByte(stream)) WriteByte datei,txt$ bytes=bytes+1 tmp_steps=tmp_steps+1 If 1000=1000 Then tmp_steps=0 Cls Text 10,15,"Download: "+(bytes/1000)+"Kb / "+(tmp_length/1000)+"Kb" End If Until Eof(stream) CloseFile datei CloseTCPStream stream was ist daran flasch? |
||
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich hab es grad mal getestet...funktionieren tut es also er läd das bild runter aber das fenster verkackt sich wie du schon sagst sofort...ich weiss nicht was die funktion mit dem verkacken zutun hat...dort kann ich nichts ausser ein fehlendes end function finden...guck dir doch alle schleifen einmal genauer an ...sry mehr kann ich dir leider grad auch nicht sagen... ![]() |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Im Request fehlt ein "Connection: close". | ||
Killer999 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
stehe gerade vor ein problem.
Undzwar. Bei meinen Patch Downloader wird nur die aktuelle version dl. Also hat man denn 1 patch nicht dann wird man ihn auch nicht über denn patcher dl können weil er immer nur das aktuelle dl. Wollt halt sowas einbauen. Aber ich will ja beim jeden nicht ne neue .exe beifügen wo der code dann drin steht. Hab mier das irgend wie so gedacht. In der update datei werden halt die patches Dateien reingespeichert. bei meinen Updater wird nur überprüft welche datei halt im verzeichnis liegt. Liegt die datei nicht im verzeichnis so wird halt gesagt mit if die muss dl werden. Dann wird sie dl. So wie kann ich eine If schleife machen die auch die älteren dateien abfragt. Die älteren dateien sind im update.dll gespeichert. Er müsste also erstmal dadrin abfragen. |
||
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mh... ich weiss nicht aber ich glaub der Befehl EoF könnte dir weiterhelfen...
du könntest die datei auslesen (until EoF) einen counter mitlaufen lassen die neue datei auslesen wieder einen counter mitlaufen lassen und wenn der counter der neuen datei größer ist muss er was runterladen,was du aus der datei rausließt...ich hoffe ich hab dich richtig verstanden und es nicht zu umständlich erklärt |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
wie stehts denn nun mit deinem Programm *neugierig sei* meld dich mal wieder! | ||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
Killer999 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
naja ich weiß ja nicht ob das so funktonieren kann.
Bei mir wird die dll. Datei immer als erstes dl. Darin sind die Updates Gespeichert. Es wird dann mit check überprüft ob die datei im ordner drin ist. Ist sie nicht drin wird sie dl. Wird dann ein neues Update geben wird es erneut eine update.dll datei geben. Darin sind wieder nur die neuen Dateien drin. Ich kann zwar immer die alte datei darin angeben aber nachher sind die ungefähr z.b 10 alte dateien habe aber in der check.exe nur einmal denn Befehl ist für 1 alte datei auslesen. Ab da ist mein problem. Ich müsste wenn die check.exe immer wieder updaten und ein neuen befehl schreiben aber das ist zu umständlich. |
||
![]() |
class.nameDanger |
![]() Antworten mit Zitat ![]() |
---|---|---|
könntest du vielleicht mal über sowas ein Tutorial schreiben?
Oder ins Code-Archiv sowas machen Das wäre echt super von dir!!!! |
||
User posted image |
Killer999 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So habe es endlich geschaft das sich das Fenster nicht mehr auf hängt
http://home.arcor.de/killer191...atcher.rar kann ich machen muss aber erstmal meine probleme mit dem code im griff griegen. Kann keiner bei meinem Problem helfen? |
||
Killer999 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hiho
habe da wieder ein Problem. Undzwar ich habe das alles nun in ein arrays gesetzt- Und habe das so gemacht. Sobald die datei dl ist wird zum arrays +1 gezählt. Sobald er halt alle daten hat kommt halt normal ein error. Der error kommt zwar aber immer zu früh- Hat er 2 dateien dl beendet er das programm einfach aber wenn ich ihn zwinge im code das er 3 dl soll kommt bei der 3 ein "Memory access violation" Das Programm ist bald fertig ^^ |
||
Killer999 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sry für die ganzen posts. Hier ist das programm könnt ihr ja mal testen.
http://home.arcor.de/killer1919/Patchen.rar Immer diese fehler. Kann die array nur 2 zahlen addieren dann error. Und noch was immer wenn ich check mache ist ja die aktuelle .dll datei dl. Nun habe ich gemerkt wenn ich die aktuelle auf mein ftp hochlade dann dl er immer nur die ältere ich schätze mal er hat die ale in der cache oder so kann mann die irgend wie löschen? oder aktualliesieren. |
||
![]() |
class.nameDanger |
![]() Antworten mit Zitat ![]() |
---|---|---|
kannste bitte nochmal den letzten link neu machen geht nämlich nich mehr!? ![]() edit: ahhh hat sich erledigt^^ edit 2 : kann ich das irgenwie in mein code einbauen?!? |
||
User posted image |
Moses |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hmmm ich würde das eleganter machen:
der patcher lädt sich als erstes ne plaintextfile mit dateinamen und den dazugehörigen md5-prüfsummen runter dann überprüft er die files auf dem eigenem rechner ob sie den prüfsummen entsprechen und macht sich ne liste von den dateien die die nicht mehr uptodate sind um sie anschliessend runter zu laden. hat natürlich den 'nachteil', dass von den spielern gemoddete files rigeros überschrieben werden... eine andere, einfachere lösung währe du integrierst eine art versionsnummer in den namen jeder datei zb: menuhintergrund03_v00001.png die plantextfile enthällt alle aktuell nötigen/gültigen dateinamen und der patcher lädt fehlende dateien runter, fragt bevor er anfängt zu laden ob er veraltete dateien (dateien mit nicht mehraktuellen namen) löschen soll. |
||
![]() |
Dante |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ganz gut^^
nur was langsam |
||
- Zuletzt bearbeitet von Dante am Fr, Feb 10, 2006 8:12, insgesamt einmal bearbeitet
Mashed CrashedBetreff: Zusazliche Frage |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Kann man exe dateien patchen oder muss man die dann ersetzen bzw neu complimiren? | ||
Killer999 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Moses hat Folgendes geschrieben: hmmm ich würde das eleganter machen:
der patcher lädt sich als erstes ne plaintextfile mit dateinamen und den dazugehörigen md5-prüfsummen runter dann überprüft er die files auf dem eigenem rechner ob sie den prüfsummen entsprechen und macht sich ne liste von den dateien die die nicht mehr uptodate sind um sie anschliessend runter zu laden. hat natürlich den 'nachteil', dass von den spielern gemoddete files rigeros überschrieben werden... eine andere, einfachere lösung währe du integrierst eine art versionsnummer in den namen jeder datei zb: menuhintergrund03_v00001.png die plantextfile enthällt alle aktuell nötigen/gültigen dateinamen und der patcher lädt fehlende dateien runter, fragt bevor er anfängt zu laden ob er veraltete dateien (dateien mit nicht mehraktuellen namen) löschen soll. Genau wie du es gesagt hat funkotniert mein Patcher. Ja man könnte es auch so machen warum nicht. Werd ich vielleicht dann mal ein bauen. Achso man keine exe dateien patchen das ist unmöglich mit bb glaub ich. Nur Dateien |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group