Inhalt des Archivs:
Patcher.exe	=> der Patcher fr die Spieler (beliebig nennbar)
autopatcher.dll	=> bentigte dll ( nicht umbenennen! )
config.xml	=> die configdatei fr den Autopatcher, anpassen und
mitliefern
Patchmaker.exe => damit erstellst du die patches
version.tdv	=> so schaut die datei aus, die aufm server liegen muss,
wo die aktuelle version drinsteht
tutorial.txt	=> englisches tutorial
beschreibung.txt	=> dieses file


1. Erstellen des Patches:
Patchmaker Starten und bei auf das Feld "zu patchende Dateien"
rechtsclick ausfhren. Alle Dateien die du im patch haben willst
hinzufgen.
Der Patcher kennt zwei verschiedene "patcharten". zum einen einen ein
einfaches packen der datei, zum anderen einen "intelligenten"
differenzpatch. Diesen gibts allerdings nur fr die
standart-uo-muldateien (
anim/art/gumps/texturen/statics/map/radarcol/tiledata/sound).
falls die ausgewhlte datei eine von diesen ist, wird sie standartmssig
auf "intelligent patchen" gesetzt, was man daran sieht, dass sie grn
angezeigt wird in der liste. alle die einfach nur gepackt werden werden
rot angezeigt.
Man kann Dateien, die man auch intelligent patchen knnte auch explizit
nur packen lassen ( also kein differenzpatch ), dafr datei auswhlen in
der liste, rechtsclick und auf "Nicht Patchen" ( nicht patchen bezieht
sich hier nur auf "nicht differenz patchen" )

=>  das ist extrem zu empfehlen fr den grundpatch, d.h. die erste
version, da das die einzige mir bekannte mglichkeit ist dafr zu sorgen,
dass alle die gleiche ausgangsversion haben.

hat man alle dateien die in den patch sollen hinzugefgt, dann auf den "..."
button clicken und das verzeichnis auswhlen, indem die basisdateien
liegen, gegen die der differenzpatch vergleichen soll ( also praktisch
die momentan aktuelle version des patches )

dann einfach auf "Start" clicken und Namen fr die patchdatei aussuchen.
Name muss die Form patch_x.tdv haben, wobei "x" fr die Nummer des
Patches steht. ( der erste patch wre danach patch_1.tdv )
danach abwarten, kann ne weile dauern, zum zeitvertreib kann man der
prozentanzeige zugucken ;-)

Hinweis:
aus technischen grnden ist es, wenn man fr neue items o.. _nur die anim.idx_ aber _nicht_ die anim.mul gendert hat, sehr zu empfehlen die anim.idx immer "rot" zu patchen, d.h. nicht-intelligent. ( verkleinert den patch um ca. 30mb :P )
bei allen anderen dateien und varianten ist der differenzpatch wesentlich kleiner

2. einstellen der version.tdv
In die version.tdv als "Version" die aktuellste  version des patches
eintragen, fr den ersten patch also "Version=1". Unter "Versionname"
das eintragen, was der Spieler angezeigt bekommen soll beim Patchen, wie
die Version heisst. ( Am einfachsten auch die gleiche Nummer wie bei
Version verwenden )
Version _muss_ durchlaufend sein, also auf Patch 1 folgt Patch 2, folgt
Patch 3, auslassen oder berspringen funzt net. Allerdings sieht der
Spieler diese "internen" Nummern nicht, sondern nur das was bei
Versionname steht.
Shardinfo: hier kann man einen text eintragen, der dem spieler angezeigt wird
(infos, news, wasweissich )
Banner: hier kann man eine datei eingeben, die im patcher als banner geladen werden soll
diese datei muss im gleichen verzeichnis wie die version.tdv liegen
(das banner wird dann einmal runtergeladen und dann erst wieder wenn sich der name gendert hat. wenn kein banner vorhanden ist, wird ein uodev-banner eingeblendet)
mglicher gesamtaufbau der version.tdv:

[TDV]					<== muss immer da sein
Version=1				<== Versionsnummer, durchlaufend
Versionname=1.0				<== Name der aktuellen version
Shardinfo=Wir haben einen neuen Patch.	<== Irgendein Text
Banner=shardbanner.jpg			<== Banner als jpg, format 468x50 pixel
Auth=0					<== Auth Level, falls > 0 dann Passwortabfrage
FileSuffix=tdv				<== Welche Endnung die patch_1.* dateien haben ( WICHTIG! nur die patches, version.tdv _muss_ weiter .tdv haben )


3. einstellen der config.xml
UOPath muss der spieler einstellen ( ist der lokale UOPfad )
am anfang einfach "" lassen, dann ffnet sich beim starten fr den spieler ein fenster, wo er seinen uopfad auswhlen kann.
Versionname und Version am besten auf 0 Null lassen, da steht die
version des patches drin, die jeweils lokal aktuell ist.
Servername ist die adresse zu dem Verzeichnis, in dem aufm server die
version.tdv sowie die patches ( patch_1.tdv patch_2.tdv, ... ) liegen
Client ist die Datei im uo-verzeichnis die gestartet werden soll am ende
LoginString ist das, was um auf deinem Shard spielen zu knnen in der login.cfg
stehen muss
ProgName ist der Name der beim Patcher in der Titelleiste angezeigt
werden soll
( Idealerweise auf "Shardname Patcher" oder hnliches ndern ;)  )

4. raufladen der version.tdv und der patch_1.tdv ( und ev. weiteren )

5. spieler patcher.exe, autopatcher.dll und config.xml laden lassen

6. spieler autopatcher starten lassen

7. geht hoffentlich ( wenn net, fragen ;)  )
( am besten erstmal bei dir selber testen, hat ausser mir noch niemand
getestet ;) )

8. hinweis: der patcher connectet nachm starten als erstes zu uodev und guckt ob es eine neuere version ( des patchers ) dort gibt, wenn ja ld er die automatisch und updatet sich ( danach beendet er sich und des kommt ne meldung dass man ihn neu starten muss )

9. damit da keine probleme auftreten, wird der patcher _immer_ abwrtskompatibel sein

10. ber einen lobenden hinweis sowie einen link in eurer linksektion auf uodev ( www.uodev.de ) sobald die hp wieder up ist wrden wir uns freuen, falls ihr dieses programm nutzt.

11. 10. ist ernstgemeint ;)

12. dinge die man fr das authorisierte zeugs braucht:
wichtig: die version.tdv muss ohne authorisation erreichbar sein
ist in der version.tdv Auth > 0, dann connectet der patcher als nchstes mit username
und md5-verschlsseltem passwort ( alle buchstaben kleingeschrieben ) nach:
Servername/patcher.php?action=authenticate&user=Username&password=Password
im header der antwort erwartet er also 'patcher-auth' ein 'ok' wenn es geklappt hat, ansonsten
irgendetwas anders, ausserdem ein cookie das die PHP-sessionid bergibt.
danach versucht der patcher alle bentigten patches ber
Servername/'patcher.php?sessionId=PHPSessionID&request=patch_i.tdv
zu ziehen, ausserdem muss im header der antwort zu jedem dieser files die
md5-checksumme des patches unter 'patch_verification' enthalten sein.

VD
varan@torderverlorenen.de
www.uo-mittelerde.ch
www.uodev.de