@Bääääär: I switching to german ok?. Wer bist du im Pergon Forum ?
So nun mal zum gesamten Pergon problem.
Das ist die Client <> Server Kommunikation beim Login.
Code:
16.4.2008 21:20:38:312: SendPackettype: 0xFF Length: 4
FF FF FF FF
....
16.4.2008 21:20:38:312: SendPackettype: 0x80 Length: 62
80 50 69 65 6B 41 73 73 00 00 00 00 00 00 00 00 .*zensiert*........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 31 ................
6D 70 33 72 39 34 37 30 72 00 00 00 00 00 00 00 *zensiert*.......
00 00 00 00 00 00 00 00 00 00 00 00 00 FF ..............
16.4.2008 21:20:38:390: RecievedPackettype: 0xE3 Length: 77
E3 00 4D 00 00 00 03 02 01 03 00 00 00 13 02 11 ..M.............
00 FC 2F E3 81 93 CB AF 98 DD 83 13 D2 9E EA E4 ../.............
13 00 00 00 10 78 13 B7 7B CE A8 D7 BC 52 DE 38 .....x..{....R.8
30 EA E9 1E A3 00 00 00 20 00 00 00 10 5A CE 3E 0....... ....Z.>
E3 97 92 E4 8A F1 9A D3 04 41 03 CB 53 .........A..S
16.4.2008 21:20:38:625: RecievedPackettype: 0xA8 Length: 86
A8 00 56 FF 00 02 00 01 50 65 72 67 6F 6E 00 00 ..V.....Pergon..
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 01 00 00 8D 18 65 15 00 02 ............e...
42 61 75 73 65 72 76 65 72 00 00 00 00 00 00 00 Bauserver.......
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 ................
00 00 8D 18 65 15 ....e.
1. Packet: Das ist der Login Seed!
Nachzulesen hier:
http://kec.cz/tartaros/steamengine/uplo ... o/seed.htm
Jeder OSI-Client schickt das. Normalerweise ist das die IP-Adresse des Clientrechners, die dann vom Server zur Login verschlüsslung benutzt werden sollte.
Dies ist kein Standard UO-Packet! Deshalb taucht es auch in keinem Packetguide auf, da es keine Packet ID hat. Es ist nur eine 4 zahlige IP-Adresse oder in unserem Fall halt 4*0xFF (geht halt auch).
http://welt-pergon.de/forum/viewtopic.p ... c&start=45
Was Turley dort erzählt ist falsch. Alle Clients schicken das Packet! Alle, auch der alte OSI 2D-Client.
Deshalb werde ich das auch nicht einfach entfernen, nur damit es auf nem modifizierten Pol server läuft. Denn ansonsten läuft Iris2 auf keinem anderen standard Shard mehr.
Dieses Packet kann man also nicht zur Unterscheidung von UO:KR und dem alten 2D-Client nehmen!
Ich wette, das der OSI-2D-CLient auch bei euch den Login-Seed schickt und er auch das 0xe3 packet erhält. Nur irgnoriert der OSI-2D-Client dieses packet und läuft weiter.
Übrigends laufen alle unmodifizierten Emus (runuo1,2,pol97,wolfpack,lonewolf,...) mit Iris2 einwandfrei.
2. Packet: Mh ... 0xE3 is das ENCRYPTION SET .
3. Packet: 0xA8 is das was Iris2 als 2tes Packet erwartet.
Lösung:
1st Lösung: http://www.polserver.com/
Quote:
With client 2.48.0.3+ (KR) and 6.0.5.0+ (2D) there comes a change in handling the login packets. It would be nice if the pol core could handle that in the future.
Quote:
Some information, if needed:
Quote:
OK, my dear ladies and gentlemen, i want to say that NO NEW encryption was implemented in 6.0.5.0 patch. NO NEW packets were added in this patch. It was just a game for children and you're faked Smile
How UO works before this patch: client sends seed (4 bytes, really local IP-address) and then sends packets for login server stage authorization.
How UO works after this patch: client sends seed (same 4 bytes), THEN SENDS 17 NEW BYTES, after this sends packets for login server state authorization. That's all! It's very simple, really? OK, now for these 17 cursed bytes
First byte is random value, usually it's last byte of seed, because first byte of seed is really new byte and our IP begins from second byte.
Next 16 bytes is client version - 00 00 00 06 00 00 00 00 00 00 00 05 00 00 00 00
So, all we need is to expand seed buffer for new clients.
Die Clientversion wird also im neuen, größeren Seed mitgeschickt. Ergo kann man an der größe und der Clientversione erkennen, ob man die UO:KR spezifischen Packete vom Server verschickt oder nicht.
2te Lösung: Wir könnten in Iris2 vielleicht einbauen, das er die unknow packets einfach ignoriert. Das wäre aber "unschön"...da ein Protokoll immer konsistent sein sollte. Es sollten keine Packete verschickt werden, die auf Clientseite nie benutzt werden.
EDIT:
Hab den 2.ten Fix mal ausprobiert. Iris2 funkt. nun bei Pergon. Iris2 ignoriert nun alle Unknown-Packets.
Jedoch schlage ich euch wirklich vor, dieses Verhalten umzubaun. Denn ihr schickt das 0xe3 packet an jeden Client. Auch an solche die es nicht erhalten sollten (2d-client, custom clients)!
vg