1. Vorwort
2. Python
3. Die Einzelnen Ordner
4. Die restlichen Dateien
5. Client bearbeiten
6. Fragen Fehler Antworten und Lösungen
7. Schlusswort
1. Vorwort
Guten Tag allerseits. Da mir gerade langweilig ist hab ich mir gedacht, mach ich doch wiedermal ein Tutorial.
Es soll eine Ergänzung sein zum Thread: [HowTo]Komplette Serverfiles erklärung.
In diesem How-to, welches vorallem an Anfänger gerichtet ist, möchte ich ein gewisses Grundwissen vermitteln,
welches euch beim Aufbau eures Servers weiterhelfen soll. Sollte etwas in diesem Thread nicht der richtigkeit
entsprechen, so bitte ich euch dies mir höflich mittzuteilen, damit ich es anpassen kann. So genug gelabert
beginnen wir mit dem Turtoial.
Es soll eine Ergänzung sein zum Thread: [HowTo]Komplette Serverfiles erklärung.
In diesem How-to, welches vorallem an Anfänger gerichtet ist, möchte ich ein gewisses Grundwissen vermitteln,
welches euch beim Aufbau eures Servers weiterhelfen soll. Sollte etwas in diesem Thread nicht der richtigkeit
entsprechen, so bitte ich euch dies mir höflich mittzuteilen, damit ich es anpassen kann. So genug gelabert
beginnen wir mit dem Turtoial.
Python ist die Programmiersprache, welche im Client verwendet wird. Wenn du am Client weiterarbeiten willst
und neue Features entwickelst, musst du dich mit PYthon auskennen. Hier findest du eine gute Übersicht:
und neue Features entwickelst, musst du dich mit PYthon auskennen. Hier findest du eine gute Übersicht:
Der Metin2 Client ist wie folgt aufgebaut:

BGM
hshield
lib
Mark
Miles
Pack
Screenshot
temp
upload

BGM
Hier drinn sind alle Sounddtracks die im Spiel abgespielt werden.
Hier befindet sich das Hacksield. Dieses überprüft werde die vom Client an den Server gesendet wird. Damit soll
das Hacken verhindert werden. Damit das Hackshield benutzt werden kann wird eine Lizenz benötigt, zudem muss es
Serverside aktiviert werden.
das Hacken verhindert werden. Damit das Hackshield benutzt werden kann wird eine Lizenz benötigt, zudem muss es
Serverside aktiviert werden.
genauere Infos folgen
In diesem Ordner befinden sich .tga Dateien, welche die Gildenlogos beinhalten.
.tga steht für:
Das Targa Image File Format (kurz: TGA, übliche Dateiendung: .tga) ist ein Dateiformat zur Speicherung von Bildern. Targa steht für „Truevision Advanced Raster Graphics Array“.
Das Targa-Dateiformat wurde ursprünglich 1984 von der Firma Truevision entwickelt. 1989 wurde es erweitert, um Thumbnails, Werte für Alphakanal, Gammakorrektur und Text als
Metainformationen beinhalten zu können.
Die Daten werden mit bis zu 32 Bit pro Pixel als Rastergrafik (englisch bitmap) entweder unkomprimiert oder mit einer Lauflängenkodierung verlustfrei komprimiert gespeichert.
.tga steht für:
Das Targa Image File Format (kurz: TGA, übliche Dateiendung: .tga) ist ein Dateiformat zur Speicherung von Bildern. Targa steht für „Truevision Advanced Raster Graphics Array“.
Das Targa-Dateiformat wurde ursprünglich 1984 von der Firma Truevision entwickelt. 1989 wurde es erweitert, um Thumbnails, Werte für Alphakanal, Gammakorrektur und Text als
Metainformationen beinhalten zu können.
Die Daten werden mit bis zu 32 Bit pro Pixel als Rastergrafik (englisch bitmap) entweder unkomprimiert oder mit einer Lauflängenkodierung verlustfrei komprimiert gespeichert.
genauere Infos foglen.
In diesem Verzeichnis befinden sich die ganzen Texturen des Games, sowie der source.
Der Pack Ordner ist in einzelnen Dateien unterteilt, welche aus epk und eix archiven besteht.
In der Index Datei, welche sich ebenfalls im Pack-ordner befindet wird aufgelistet, welche ekp files
geladen werden sollen.
Der Pack Ordner ist in einzelnen Dateien unterteilt, welche aus epk und eix archiven besteht.
In der Index Datei, welche sich ebenfalls im Pack-ordner befindet wird aufgelistet, welche ekp files
geladen werden sollen.
Alle Screenshots die im Spiel geschossen werden, werden hier gespeichert.
temp steht für Temporary, hier werden temporäre Dateien gespeichert. Logs usw.
in den Upload-Ordner werden alle Gildenlogos geladen.
Channel.inf
Config.exe
devil.dll
granny2.dll
locale.cfg
Mac.dll
Metin2.bin
metin2.cfg
metin2client.exe oder metin2.exe
mouse.cfg
M2232.DLL
python22.dll
SpeedTreeRT.dll
syserr.txt
Hier wird der zuletzt besuchte Channel genannt.
In der Config.exe werden Einstellungen des Spieles festgelegt, zbsp. die Fenstergrösse.
genauere Infos folgen
Die Granny2.dll
.dll steht für Dynamic Link Library dies bezeichnet allgemein eine dynamische Programmbibliothek.
Granny ist die Grafik-Engine welche Metin2 benuzt. In der Granny2.dll werden wichtige Informationen gespeichert.
.dll steht für Dynamic Link Library dies bezeichnet allgemein eine dynamische Programmbibliothek.
Granny ist die Grafik-Engine welche Metin2 benuzt. In der Granny2.dll werden wichtige Informationen gespeichert.
in der locale.cfg wird definiert, welche locale im Client benuzt werden soll.
Informationen folgen
Metin2.bin
.bin steht für: binary file In der binary file sind beliebige Bitmuster enthalten in der Metin2.bin werden
wichtige Informationen festgelegt.
wichtige Informationen festgelegt.
in der Metin2.cfg werden Konfigurationen definiert zbsp. die Fenstergrösse.
Die Metin2.exe, exe steht für englisch executable‚ ausführbar durch sie wird der Client gestartet.
Ich bin mir nicht sicher, aber ich gehe davon aus, dass hier Informationen zur Mauskonfiguration gespeichert werden.
Infos folgen
In Der python22.dll werden wichtige Informationen gespeichert.
Infos folgen
In die syserr.txt werden Fehler geschrieben, welche beim ausführen der exe entstehen. Sie ist ein wichtiger
bestandteil zur weiterenticklung des Clients durch sie können Fehler eruiert werden.
bestandteil zur weiterenticklung des Clients durch sie können Fehler eruiert werden.
Um den Client zu bearbeiten benötigen wir in erster Linie einen Entpacker

Nach dem wir uns einen entpacker besorgt haben, entpacken wir ein beliebiges epk archiv.
in meinem Fall die root.epk. Nach dem entpacken erhalten wir einen Source ordner. In diesem
befinden sich nun die Texturen und der soruce, welchen wir nun frei bearbeiten können.
In meinem Fall bearbeite ich die Serverinfo.py, welche definiert auf welche Ip und welche Ports der
Client connecten soll. Nach dem wir die änderung durchgeführt haben, müssen wir das ganze wieder Packen.
Wir haben nun ein neues Archiv, welches unsere Veränderungen beinhaltet.

Nach dem wir uns einen entpacker besorgt haben, entpacken wir ein beliebiges epk archiv.
in meinem Fall die root.epk. Nach dem entpacken erhalten wir einen Source ordner. In diesem
befinden sich nun die Texturen und der soruce, welchen wir nun frei bearbeiten können.
In meinem Fall bearbeite ich die Serverinfo.py, welche definiert auf welche Ip und welche Ports der
Client connecten soll. Nach dem wir die änderung durchgeführt haben, müssen wir das ganze wieder Packen.
Wir haben nun ein neues Archiv, welches unsere Veränderungen beinhaltet.
Wo werden die Ladebilder abgespeichert?
In der locale_de
Wo wird der Sound für das Charakterselect gespeichert?
in der BGM.epk
Wie kann ich den Fehler beheben?
in der npclist ist jenen pfad nirgends angegeben...
Kann an folgenden Sachen liegen:
-Fehlerhafte 3D Modelle, die sich auf der Map befinden -> Einfach fixen oder entfernen.
-etc.eix/epk ist fail -> Fixen oder mit einer anderen etc testen.
-locale_de.eix/epk ist fail -> Fixen oder mit einer anderen locale_de testen.
Dieser Error könnte natürlich auch durch andere Fehler verursacht werden.
Öffnet die Loginwindow.py, diese befindet sich in der locale_de.epk, und schaut nach ob
ihr "ServerSelectButton" findet..
Wenn nicht..einfügen.
der lion Mount hat kein tga skin.
die granny2.dll ist fehler haft, benuzt eine andere.
Das Iitem ist nicht in der item_list eingetragen
die .mse Datei kann nicht geladen werden. Andere benuzten
Die beiden geben an das die panda_young1.msm und die pwahuang1_2.msm nicht in der "npc" gefunden werden konnten.
Sollte sich durch korrektes einfügen der beiden Dateien in die npc beheben lassen.
der Client supportet keine PSD (Photoshop-Datei) diese dort entfernen, wo sie eingefügt worden ist.
der Client kann das Environment nicht laden. Setting nochmal überprüfen.
falsche EXE für die GAME datei
Die 3 .mp3 Dateien können nicht ausgelesen werden. Nehmt die Dateien aus einem anderen Client
In der locale_de
Wo wird der Sound für das Charakterselect gespeichert?
in der BGM.epk
Wie kann ich den Fehler beheben?
PHP-Code:
1217 17:53:33311 :: CRaceManager::RegisterRacePath : RACE[19394] LOAD MSMFILE[d:/ymir work/npc/facility/yonggwangro.msm]
PHP-Code:
0801 12:16:14470 :: invalid idx 0
0801 12:17:24346 :: CMapOutdoor::Load - LoadMonsterAreaInfo ERROR
-Fehlerhafte 3D Modelle, die sich auf der Map befinden -> Einfach fixen oder entfernen.
-etc.eix/epk ist fail -> Fixen oder mit einer anderen etc testen.
-locale_de.eix/epk ist fail -> Fixen oder mit einer anderen locale_de testen.
Dieser Error könnte natürlich auch durch andere Fehler verursacht werden.
PHP-Code:
0621 07:22:00569 ::
introLogin.py(line:509) __LoadScript
ui.py(line:2669) GetChild
LoginWindow.__LoadScript.BindObject - exceptions.KeyError:ServerSelectButton
0621 07:22:00569 :: ================================================== ================================================== ========
0621 07:22:00569 :: Abort!!!!
0621 07:22:00577 :: ================================================== ================================================== ========
0621 07:22:00577 :: Abort!!!!
ihr "ServerSelectButton" findet..
Wenn nicht..einfügen.
PHP-Code:
0201 01:14:28371 :: Cannot find item by 0
0201 01:22:44603 :: ResourceManager::GetResourcePointer: NOT SUPPORT FILE d:\project\metin2\main\assets\npc\lion\lion.psd
PHP-Code:
0812 11:26:28107 :: GRANNY: r:/granny/rt/granny_file_info.cpp(145): File has run-time type tag of 0x8000000f, which doesn't match this version of Granny (0x80000010). Automatic conversion
will be attempted.
0812 11:26:32808 :: CreateFromMemoryFile: Cannot create texture
0812 11:56:35653 :: GRANNY: r:/granny/rt/granny_file_info.cpp(145): File has run-time type tag of 0x8000000f, which doesn't match this version of Granny (0x80000010). Automatic conversion
will be attempted.
0812 11:56:36310 :: CreateFromMemoryFile: Cannot create texture
PHP-Code:
0817 18:31:16926 :: CPythonPlayer::SetItemData(dwSlotIndex=3, itemIndex=9503) - Failed to item data
PHP-Code:
0906 19:06:27041 :: CEffectManager::RegisterEffect - LoadScript(d:/ymir work/effect/etc/emoticon/vip.mse) Error
PHP-Code:
0131 19:26:29915 :: CRaceManager::RegisterRacePath : RACE[20128] LOAD MSMFILE[d:/ymir work/npc/panda_young1/panda_young1.msm] ERROR. Will Find Another Path.
0131 19:30:06296 :: CRaceManager::RegisterRacePath : RACE[20131] LOAD MSMFILE[d:/ymir work/npc/pwahuang1/pwahuang1_2.msm] ERROR. Will Find Another Path.
Sollte sich durch korrektes einfügen der beiden Dateien in die npc beheben lassen.
PHP-Code:
1109 18:23:33610 :: ResourceManager::GetResourcePointer: NOT SUPPORT FILE g:\(ÁÖ)À̸̹£\3d\õÀDZº¹ý»ç\õÀDZº¹ý»ç02.psd
PHP-Code:
0415 14:34:25245 :: CPythonBackground::SelectViewDistanceNum(int eNum=0) mc_pcurEnvironmentData is NULL
PHP-Code:
1010 03:07:41336 :: Unknown packet header: 101, last: 45 81
PHP-Code:
1221 22:12:34675 :: CSoundManager::PlayMusic - Failed to load stream sound : BGM/save_me.mp3
Dieser Thread ist für Neuankömlingen gedacht. Mir ist bewusst, dass es den meisten klar ist.
Doch es gibt immer wieder User die Fehler haben und froh sind, wenn sie sich die benötigten Informationen übersichtlich besorgen können.
Der Thread ist noch nicht ausgereift und wird von Zeit zu Zeit von mir geupdatet. Wer Ergänzungen hat, kann diese mir gerne per Pn senden.
Auch soll der Thread eine Art Sammelthread für Fehler von Clients sein. Wer das gefühl hat er muss flamen wird sofort gemeldet. Ich werde
diesmal keine Diskusionen eingehen.
mfg
Lauling
Doch es gibt immer wieder User die Fehler haben und froh sind, wenn sie sich die benötigten Informationen übersichtlich besorgen können.
Der Thread ist noch nicht ausgereift und wird von Zeit zu Zeit von mir geupdatet. Wer Ergänzungen hat, kann diese mir gerne per Pn senden.
Auch soll der Thread eine Art Sammelthread für Fehler von Clients sein. Wer das gefühl hat er muss flamen wird sofort gemeldet. Ich werde
diesmal keine Diskusionen eingehen.
mfg
Lauling






