ACHTUNG: Erst alles durchlesen und dann den Patcher runterladen!
Ok es ist getan: Patcher V2.0
Features:
Versionabgleich:
Wenn Server Version 2 hat und Client 1 oder auch 3 dann wird gepatcht sonst nicht!
Also keine einzelnen Dateikontrollen!
MD5-Checksummen-Abgleich!
Wenn man Patchen muss werden die Files nicht mehr nach Größe verglichen sondern nach der MD5- Checksumme!
Website wird angezeigt:
Sie wird während dem Laden vom Patcher geladen und wird nach dem Laden angezeigt.
Somit gibt es genug Zeit für Websiten die ein bisschen langsamer laden..
Modding-Einstellungen:
Es gibt immer verschiedene vorlieben:
Die einen wollen gemoddete Rüstungen und Waffen die anderen nicht!
Jetzt kann man sich das selbst aussuchen.
(item2.epk/.eix und Pc2.epk/eix werden dementprechend umbenannt)
Infobox:
In einer Box sieht man immer die aktuelle Client-Version und die Moddingeinstellungen
Umbenannte .exe:
Der Patcher kann jetzt auch eine umbenannte .exe starten. Das Verhindert, dass User den Client direkt starten..
Patcher für einen kostenlosen Webspace: (ab Version 2.0 nicht BETA!!)
Damit die Serverbesitzer für kostenlose Webspace auch patchen können, muss man die Dateien um eine Endung erweitern.
also wenn ich die "root.eix" habe schreibe ich zB in die Patchlist "root.eix.htm"
Die Datei auf dem Patchserver muss dann auch in den gleichen Name wie der von der Patchlist umbenannt werden!
Die zusätzliche Endung muss immer aus dem "." und 3 Zeichen bestehen.
Kein Text mit meinem Copyright etc..
Nachteile:
Man kann die version.txt einfach ändern um somit nicht patchen zu müssen..
Für Bugs habt Verständnis das Programm wird immer unübersichtlicher da kann schon mal vorkommen das was schief läuft!
Daher Bugs bitte melden!
User können die umbenannte .exe vom Client wieder umbenennen, um somit den Patcher nicht starten zu müssen.
Weitere Infos:
Kein Text mit meinem Copyright etc..
Urls in die config.txt eintragen!
Die Zeile mit Text komplett löschen und dann da die URL eintragen.
Um die Liste der Md5-Checksummen (vom Patchserver) zu bekommen könnt ihr in in das Infofenster "admin" reinschreiben und mit Enter bestätigen.
Es sollte eine Meldung mit "Admin" kommen..
Im Client solltet ihr dann eine md5_server.txt finden
Der Patcher besucht bei jedem start die md5.php auf eurem Server dh werden die Checksummen immer aktualisiert!
Größe vom Webbrowser-Fenster:
661 x 256 px
Um zu verhindern das ein User das Patchen überspringt einfach die Versionen nicht nach der Reihenfolge benutzen..
Also wenn User Version 7 hat und der Server Version 3 wird gepatcht
Wenn User Version 1 hast und Server Version 10 wird auch gepatcht!
Die version.txt wird vom Patcher automatisch aktualisiert!
Also diese Datei nicht in die Patchlist schreiben
Exklusiv Versionen ( man braucht keine config.txt nehr) per pn
Wer eigenes Design will Bilder.rar runterladen, diese Bilder bearbeiten und dann mir ne pn schreiben.
Vorschläge, Fragen etc -> in den Thread
patcher, die nach größe gehen, sind mir zu ungenau...
ich würde es auch so wie ich über hashes machen, denn sobald sich auch nur ein byte ändert (z.B. eretzt du ein a durch ein b in einem text), kommt ein komplett anderer hash raus. und vllt geht es mit c# ja schneller (ich würde die liste erst in ein array einlesen, ich habe es in meinem patcher leider nicht so gemacht, weil ich da noch keine arrays kannte).
btw meiner unterstützt auch clientversion...
patcher, die nach größe gehen, sind mir zu ungenau...
ich würde es auch so wie ich über hashes machen, denn sobald sich auch nur ein byte ändert (z.B. eretzt du ein a durch ein b in einem text), kommt ein komplett anderer hash raus. und vllt geht es mit c# ja schneller (ich würde die liste erst in ein array einlesen, ich habe es in meinem patcher leider nicht so gemacht, weil ich da noch keine arrays kannte).
btw meiner unterstützt auch clientversion...
arrays wasn das?
Der Patcher ist aus Codeschnipfeln von google entstanden
arrays sind variablen gleichen typs. sie können auch mehrere dimensionen haben. das folgende ist zwar für c++, aber es sollte ähnlich in c# sein (in vb ist es auch fast gleich).
bei c++ werden vom compiler keine exceptions behandelt (z.B. du greifst im array auf den 7. Wert zu, obwohl nur 6 plätze frei sind), wodurch man noch schnelleren zugriff hat.
arrays sind variablen gleichen typs. sie können auch mehrere dimensionen haben. das folgende ist zwar für c++, aber es sollte ähnlich in c# sein (in vb ist es auch fast gleich).
bei c++ werden vom compiler keine exceptions behandelt (z.B. du greifst im array auf den 7. Wert zu, obwohl nur 6 plätze frei sind), wodurch man noch schnelleren zugriff hat.
////// Dateigröße von Datei aufm Server long sizes = default(long); HttpWebRequest req = default(HttpWebRequest); HttpWebResponse res = default(HttpWebResponse);
////// Dateigröße von Datei aufm Server long sizes = default(long); HttpWebRequest req = default(HttpWebRequest); HttpWebResponse res = default(HttpWebResponse);
die config meinte ich garnet, sondern die liste mit den ganzen dateien. und das array dann zweidimensional befüllen (wenn du es mit hash machen willst): in die erste "spalte" den dateinamen und in die zweite den hash. so brauchst du nicht immer die zeilen auslesen.
aber war ja nur ein vorschlag, falls du mehr geschwindigkeit rausholen willst. das wäre aber nur bei den hashes sinnvoll.
ne kann man nicht
aber wenn mir jm via pn Bilder schickt mach ich sie gerne rein
Quote:
Originally Posted by musicinstructor
die config meinte ich garnet, sondern die liste mit den ganzen dateien. und das array dann zweidimensional befüllen (wenn du es mit hash machen willst): in die erste "spalte" den dateinamen und in die zweite den hash. so brauchst du nicht immer die zeilen auslesen.
aber war ja nur ein vorschlag, falls du mehr geschwindigkeit rausholen willst. das wäre aber nur bei den hashes sinnvoll.
*nachdenk*
ja da hast du recht !
aber für meinen Server wo 10 Leute spielen ist es sch..ß egal
Also bei mir mache ich es immer mit XML in etwa so: [VB.NET]
Code:
Public Class XmlFileReader
Public ReadOnly Property LastError As String
Get
Return mLastError
End Get
End Property
Private mLastError As String
Private mPath As String
Public Sub New(ByVal filePath As String)
mPath = filePath
End Sub
Public Function ReadFile() As List(Of ListStructure)
Try
Dim mDocument As XDocument = XDocument.Load(mPath)
Dim mList As New List(Of ListStructure)
For Each item In mDocument.<files>.<file>
mList.Add(item.Value(), item.Attribute("hash").Value(), item.Attribute("link").Value())
Next
Return mList
Catch ex As Xml.XmlException
mLastError = ex.Message
Return Nothing
End Try
End Function
Public Class ListStructure
Public Property Name() As String
Public Property Hash() As String
Public Property Link() As String
End Class
End Class
Module Extensions
<Extension()>
Public Sub Add(ByVal list As List(Of ListStructure),
ByVal name As String,
ByVal hash As String,
ByVal link As String)
list.Add(New ListStructure With {.Name = "name", .Hash = hash, .Link = link})
End Sub
End Module
ehm
mach doch so, dass es nach Dateigröße geht, dann muss man ned immer was änder...
und ehrlich bei den Buttons hättest dir schon mühe geben können..
oder lad doch einfach ncohmal mit neuen Buttons hoch....
____
Von meinem Server (BitchMt2)
COB: ey GM ich kann die neuen mobs ned sehen!
[SGA]Metal: Hast du schon gepatcht?, dann gehts!
COB: gepatcht? was ist das??
[SGA]Metal: mit dem Patcher lädst du updates für den Server/Client runter!
COB: waru updates, braucht doch keiner!!
Aus Skype (wollt mich mal wo anders als GM Bewerben xD)
[19:27:06] MrBusch: ^^
[19:27:09] MrBusch: xD
[19:27:11] MrBusch: also
[19:27:11] MrBusch: ehm
[19:27:15] MrBusch: was is jetzt mit GM
[19:27:16] MrBusch: flo
[19:27:26] DJ ?i????a??? : send halt bewerbung xD
[19:27:28] DJ ?i????a??? : hab ich doch gesagt
[19:27:28] DJ ?i????a??? : ^^
[19:27:35] DJ ?i????a??? : hab momentan 14 bewerbungen^^
[19:27:42] MrBusch: abba du kennst mich
[19:27:43] MrBusch: ^^
[19:27:44] DJ ?i????a??? : dabei is eigentlich gerade closed xD
[19:27:48] MrBusch: und weißt was ich kann
[19:27:50] MrBusch: oder ned kann
[19:28:04] DJ ?i????a??? : jo
[19:28:05] DJ ?i????a??? : schon klar xD
[19:28:16] DJ ?i????a??? : mir gehts trotzdem drum^^ nur mit bewerbung
[19:29:20] MrBusch: hast du irgend nen polenbimbo der sie bewerbungen für dich auswertet?
[19:29:26] MrBusch: xD
[19:31:26] DJ ?i????a??? : paddy musste auch bewerbung machen iund den kenn ich jez schon relativ lange^^ und der kann auch einiges
[19:31:42] DJ ?i????a??? : nene
[19:31:43] DJ ?i????a??? : xD
[19:31:47] DJ ?i????a??? : nen türken :P
[19:31:52] MrBusch: japsenbimbo?
[19:31:55] DJ ?i????a??? : der testet ob sie standhaft sind xD
[19:32:00] MrBusch: oder nen türkischen?
[19:32:01] DJ ?i????a??? : ( TestTürky )
[19:32:03] DJ ?i????a??? : xD
[19:32:09] DJ ?i????a??? : bzw
[19:32:15] DJ ?i????a??? : CrashTestTürke
[19:32:15] DJ ?i????a??? : xD
[19:32:20] MrBusch: abba ich nehm eig immer die HOCHLEISTUNGSPOLEN
[19:32:26] MrBusch: die sind am schnellsten
[Release]Individueller Patcher 12/10/2016 - Metin2 PServer Guides & Strategies - 777 Replies Hi,
ich habe mal einen Patcher programmiert, dessen Aussehen ihr selber anpassen könnt. Er wurde in VB .net programmiert (VB 2008):
Screenshot
http://img685.imageshack.us/img685/8016/metin2aut opatcherv11.png
1.0 Vorteile:
[Release] Auto Patcher v3 12/28/2010 - CO2 PServer Guides & Releases - 51 Replies By request, many people wanted a new auto patcher, so I quickly coded up this one.
- PatchConfig.ini is server sided, so host it to a webhost or Appserv, etc.
-- Edit it accordingly:
http://aionpp.comli.com/images/x/ServerConfig.png
- APConfig.ini and the Autopatch executable are client side, so give them to your players.
-- Edit it accordingly:
http://aionpp.comli.com/images/x/ClientConfig.png
- Create patches using winrar or 7zip (Google it) and upload them to a direct link host...
[Release] Auto Patcher v2 12/26/2010 - CO2 PServer Guides & Releases - 76 Replies Edit:
Added Source
Updated to version 2 =P
- Added more functionality
Here's a quick autopatcher I did for a friend, its not the greatest but it works decently I guess =P
Instructions:
[Release] Patcher For SF..... 07/01/2010 - Soldier Front Philippines - 3 Replies The SF having maintenance because of a small problem 7:00 to 8:00
AFTER 8:00 This Is The Patcher for Your SF.
Instruction"
1/ Download the rar below.
2/ Extract the files in the desktop.