Iris2.de

Iris2-Forum
It is currently Thu Mar 28, 2024 12:52 pm

All times are UTC




Post new topic Reply to topic  [ 15 posts ] 
Author Message
 Post subject: Crash when entering game
PostPosted: Mon Feb 04, 2008 2:18 am 
Offline

Joined: Mon Feb 04, 2008 2:10 am
Posts: 2
I can get all the way through Character customization...and when I go to enter the world with my character...it crashes (but still plays music). The crash says

"CRASH triggered from script, see console for info (start with command line option -c)"

anyone know what this is about?

Thanks.

Image

Image


Top
 Profile  
 
 Post subject:
PostPosted: Mon Feb 04, 2008 5:46 am 
Offline

Joined: Mon Feb 04, 2008 2:10 am
Posts: 2
Also, here is the stack report for this error, along with another I got in the 'stable' mode. The first report was for the first problem. that I initially had when making this post.

Code:

:: Sun Feb 03 20:43:16 2008

error in main script-initialisation

..\lugre\src\lugre_main.cpp:182:Lugre::Lugre_Run
..\lugre\src\lugre_game.cpp:19:Lugre::cGame::Run
  ..\lugre\src\lugre_scripting.cpp:368:Lugre::cScripting::Init
PrintLuaStackTrace:
LuaStackTrace:



:: Sun Feb 03 23:35:13 2008

..//data/lua/main.lua cannot be found, probably the working directory is wrong
..\lugre\src\lugre_main.cpp:182:Lugre::Lugre_Run
..\lugre\src\lugre_game.cpp:19:Lugre::cGame::Run
  ..\lugre\src\lugre_scripting.cpp:368:Lugre::cScripting::Init
PrintLuaStackTrace:
LuaStackTrace:



Top
 Profile  
 
 Post subject:
PostPosted: Mon Feb 04, 2008 2:31 pm 
Offline
iris2-developer
User avatar

Joined: Mon Aug 09, 2004 12:20 pm
Posts: 1431
Crash triggered from Script means, we crash Iris here because of wrong data send from Server.

Also the message in your screenshot says:
Packet with unknown Packetsize received

Maybe uodevinity has an very old Server Emulator. Maybe RunUO1 or a heavy modified version.

I try to logon uodivinity.com this week and check this bug our.

Please use Bugtracker for Bugreports next time.

If you have time please create a bugreport also for this Bug.

Infos needed (Do you use?):
- stable <> unstable
- Linux <> Windows XP / Vista
- Graphiccard, VRam, Ram, CPU
- Server-Shard you are playing on
-everything else.

thx.


Last edited by SiENcE on Tue Apr 15, 2008 12:56 pm, edited 1 time in total.

Top
 Profile  
 
 Post subject:
PostPosted: Mon Apr 14, 2008 7:42 pm 
Offline

Joined: Mon Apr 14, 2008 7:14 pm
Posts: 24
Hi.

Same Error, different Shard. When I try to log in to pergon.fem.tu-ilmenau.de, port 3000, I get the same message, except the packetsize, which is 227 in my case.

This is the error I get:
Image

I'm now using unstable, but it's the same with the stable version.

Some other information:
- Windows XP 32, SP2
- 2Ghz Intel centrino mobile
- 1,0GB RAM
- GeFroce 6600 Go, 128MB VRAM

It worked half a year ago, so there must be a way to fix this bug.

The Grafix-Engine seems to be faster than a year ago. The only thing I'm missing is a Ingame-GUI, what would make the client more playable because the now used keys for opening the different windows are difficult to use. But I think, you're working on it.

Hope you can fix this soon, it would be great to be able to play with Iris2.

Bääääär


Top
 Profile  
 
 Post subject:
PostPosted: Tue Apr 15, 2008 12:56 pm 
Offline
iris2-developer
User avatar

Joined: Mon Aug 09, 2004 12:20 pm
Posts: 1431
You can edit and define your OWN keysettings & macros in Iris2\data\mymacros.lua file.

Macros:
http://iris2.de/index.php/Macros

Maybe they use Sphere as Server-Emu and Encyption. We don't support or will ever support encryption.

If it's the server sends a wrong packet, we have to add another check. You can try something:

Put:
Code:
gDebugCategories.net       = true


in file Iris2\data\config.lua , and dump the console by starting Iris2 from commandline:
Code:
iris2.exe >dump.txt


Create a Ticket in our Bugtracker and attach this dump.txt file: http://zwischenwelt.org/trac/iris/newticket


Top
 Profile  
 
 Post subject:
PostPosted: Wed Apr 16, 2008 11:45 am 
Offline
iris2-developer
User avatar

Joined: Mon Aug 09, 2004 12:20 pm
Posts: 1431
Is this Ticket from you? : http://zwischenwelt.org/trac/iris/ticket/239

You don't followed my instructions :-/.

Please put the following into your Iris2\data\config.lua file and Dump the console again.

Code:
gDebugCategories.net = true

gLogPackets = true


Otherwise i can't see the problem with the unsupported network package.

I also added a network packet dump option. This creates a packetlog.txt file in your Iris2\bin directory. Please upload/attach this file also to your Ticket #239.

Thx :-)


Top
 Profile  
 
 Post subject:
PostPosted: Wed Apr 16, 2008 7:44 pm 
Offline

Joined: Mon Apr 14, 2008 7:14 pm
Posts: 24
I wondered, how the dump of the console could help you to solve the problem. But I followed your instructions. You just forgot to tell me about the "gLogPackets = true" command, I thus didn't use. =) Now it makes sense to me.

Well, I've updated the ticket right now and added the pakets.txt, the client drops when using "gLogPackets = true ". If you need some other files and information, please contact me.

Bääääär


Top
 Profile  
 
 Post subject:
PostPosted: Wed Apr 16, 2008 9:49 pm 
Offline
iris2-developer
User avatar

Joined: Mon Aug 09, 2004 12:20 pm
Posts: 1431
@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


Top
 Profile  
 
 Post subject:
PostPosted: Wed Apr 16, 2008 10:50 pm 
Offline
iris2-developer
User avatar

Joined: Tue Apr 18, 2006 10:28 pm
Posts: 823
Location: Munich, Bavaria, Germany
nuja, wenn der alte2d client und kr auf dem server gehen, dann würde ich schon sagen dass wir in iris was falsch machen.
sicher ist das uo protokoll ein ziemliches gehacke,
aber durch emu umbauen lässt sich das problem kaum lösen.

ich hab zwar den login vorgang nicht im kopf, aber wenn die packetreihenfolge an der stelle fix ist, und es zwei fälle gibt :

alt :
kurzedaten
nächstepacketid

neu:
langedaten
nächstepaketid

könnte man doch testen ob nach länge(kurzedaten) die nächste erwartete packetid kommt oder wenn nicht ob sie erst nach länge(langedaten) kommt.

ich hab den forum thread auf pergon mal überflogen und wenn ichs richtig verstanden habe ist Alrabor=Bääääär

schicke screenshots btw, und danke fürs iris testen =)


Top
 Profile  
 
 Post subject:
PostPosted: Thu Apr 17, 2008 12:58 am 
Offline
iris2-developer
User avatar

Joined: Mon Aug 09, 2004 12:20 pm
Posts: 1431
??
Ich glaub du hast das Loginverhalten nicht verstanden.

Quote:
könnte man doch testen ob nach länge(kurzedaten) die nächste erwartete packetid kommt oder wenn nicht ob sie erst nach länge(langedaten) kommt.

Der Client schickt das zum Server, nicht andersherum! Genau deshalb muss der Server ja an dieser Stelle checken, mit welchem Loginverhalten er antwortet.

Das Problem ist, das der Server ein Packet schickt, das nur für Clients ist, nachdem OSI vor ca. 2 Monaten das Loginverhalten geändert hat (Client 2.48.0.3+ (KR) and 6.0.5.0+ (2D)).
Nun versuchen ein paar Shards, beide Loginverhalten: altes und neues "reinzuhacken". Offiziell gibts meines Wissens noch keinen Emu der das unterstützt.

Das 0xe3 Packet wurde nachträglich durch Pergon hinzugefügt. Jedoch an der falschen Stelle. Siehe mein obiges Posting, wo beim Quote genau erklärt wird wie man die Clientversion direkt beim Seed schicken feststellt.
Genau eben deshalb muss der Server korrekt implementiert sein, und schon beim Seed schicken checken, welcher Client sich dahinter verbirgt.

Der alte OSI-Client, Iris2, Palathir usw. schicken einen 4byte Seed. Client 2.48.0.3+ (KR) and 6.0.5.0+ (2D) schicken einen 4byte Seed und zusätzlich 17bytes, wobei 16bytes die clientversion ausmachen.
Somit hat man alle Infos, um zu unterscheiden worum es sich handelt, und demnach auch das 0xe3 packet zu schicken oder eben nicht.

Ich habe doch schon alles erläutert. Wir machen nix falsch. Das Loginverhalten ist und war schon immer so.

Ein Seed wird immer geschickt.
Der Fix den ich mittlerweile für Iris2 schon committed habe bewirkt nur, das packets die unknown sind und eine unknown packetlen haben ignoriert werden können. Und Voila alles funkt. einwandfrei mit Iris2.

Aber wir erhalten trotzdem das 0xe3 packet vom Server, genau wie der OSI-CLient oder der Palathir Client. Und das ist falsch!
Ein Packet an einen Client zu schicken, der damit nix anfangen kann ist schlecht. Auch wenn der OSI-Client fehlertolleranter ist als Iris2 (wir crashen dort ja absichtlich - focred crash, da wir ja eben damit dieser Art von Problemen auf den Grund gehen wollen).

Die Stelle mit meinem Fix ist übrigends hier einzusehen: http://zwischenwelt.org/trac/iris/changeset/2051


Top
 Profile  
 
 Post subject:
PostPosted: Thu Apr 17, 2008 12:13 pm 
Offline

Joined: Thu Apr 17, 2008 11:35 am
Posts: 9
SiENcE wrote:
Ein Seed wird immer geschickt.


Mmmmh den Seed hab ich bis dato noch nie bei normalen Clients gesehen. Grad mal nen paar 5.x Clients ausprobiert nada...

Quote:
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.

Nope tut er nicht bekommt auch kein 0xE3 Paket.

mfg
turley

P.S.: Wenn man in der config.lua
zB gServerSeed = 1 für den Server angibt funzt es übrigens auch (ist übrigens auch in der Spezifikation für Jarrys nicht ohne Grund?... )


Top
 Profile  
 
 Post subject:
PostPosted: Thu Apr 17, 2008 1:32 pm 
Offline
iris2-developer
User avatar

Joined: Mon Aug 09, 2004 12:20 pm
Posts: 1431
Was benutzt du denn für logging? Wireshark?
UOLog ignoriert übrigends das erste packet vom Client. Also den Seed. Dieses Packet gehört, wie gesagt nicht zum UO protokoll, weil es keine packet ID hat. Das wir nur für den ersten Kontakt benutzt.

Desweiteren benutzt sogar der Client von Varan den Seed...von dem ist nämlich das packetlogging, das ich gepostet habe ;-). Das ist nicht von Iris.

Und glaub mir, Varan kennt sich am besten von allen aus.

Quote:
Nope tut er nicht bekommt auch kein 0xE3 Paket.

Mh. Wenn er aber, wie es auch die Polserver devs geschrieben haben, den 32bit seed schickt, müsste er ja auch das 0xe3 packet erhalten.

nochmal den quote:
Quote:
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


Quote:
P.S.: Wenn man in der config.lua
zB gServerSeed = 1 für den Server angibt funzt es übrigens auch (ist übrigens auch in der Spezifikation für Jarrys nicht ohne Grund?... )

Mit gServerSeed gibst du ja an, welche 4 byte Iris2 als Seed schicken soll. Wenn du nun also 1 angibst, schickt der server anstatt, default 0xffffffff

Code:
Packet [00], Length: 4, Type: Client
00 00 00 01


Der Seed wird benutzt um die Login encryption zu handln. Dabei ist es völlig egal was der Client für 4 bytes schickt. Hauptsache ist, das Client und Server über den gleichen Seed reden.

Hier 2 Dinge zum lesen:
http://www.iris2.de/index.php/Login_procedure

und der Code für die Login encryption:
http://www.iris2.de/index.php/Login_encryption


Top
 Profile  
 
 Post subject:
PostPosted: Wed Aug 06, 2008 7:01 pm 
Offline

Joined: Sat Apr 01, 2006 10:53 pm
Posts: 63
Location: AL, USA
After implimenting the fix posted earlier in the thread (http://zwischenwelt.org/trac/iris/changeset/2051) I recieve this console error and crash when trying to login to ROFL the kr enabled server (ip 193.19.242.54 port 2593)

First when logining in it says this i'm guessing that this is because of the new code because it didn't say this before I added it.
Code:
RECEIVED UNKNOWN PACKET TYPE    0x00e3
WARNING : packet was not fully processed, used_len=0 full_len=77 typeid=0xe3,siz
e=77,typename=


After a while it says this and crashes.
Code:
FATAL ! NetTrafficStep (not connected anymore) -> forced Crash
ERROR : CRASH triggered from script, see console for info (start with commandlin
e option -c)


Top
 Profile  
 
 Post subject:
PostPosted: Mon Oct 06, 2008 1:29 pm 
Offline

Joined: Mon Oct 06, 2008 12:01 pm
Posts: 1
Quote:
Übrigends laufen alle unmodifizierten Emus (runuo1,2,pol97,wolfpack,lonewolf,...) mit Iris2 einwandfrei.


Das stimmt für Pol97 so nicht ganz, aber fast :wink:
Mit der Änderung des UOKR login Prozesses läuft
Iris nicht. Das ist auch keine reine Pergon Änderung, sondern gilt für alle Benutzer dieser neueren Cores.
Ich hab das Problem z.B. auch mit der neuesten Core
POL097-2008-09-01.
Du hast ja meinen Wunsch aus dem Pol Forum mit dem Seed oben schon als 1. Lösung gequotet. Das wird, wie du schon beschrieben hast, die Ursache sein.
Später kommt evtl. noch der 6.te Char Slot dazu, da das Paket von Pol im Moment falsch geschickt wird. Wenn es denn aktiviert ist. Aber soweit komm ich mit Iris gar nicht.

Aber Pol Cores vor dieser Änderung, wie z.B.
POL097-2007-04-15 RC3 Coregina, funktionieren mit Iris einwandfrei was das einloggen angeht. In meinem Fall funktionierte allerdings die stabile Version nicht, aber nach dem Update auf die Entwicklerversion, kam ich ohne Probleme auf den Server mit dieser älteren Core Version. Letzteres ist evtl. nur ein Problem bei mir.

In jedem Fall habt ihr da richtig gute Arbeit geleistet. Respekt :)
Der Rest ist ja eher ein Pol Problem, ich wollte es nur der Vollständigkeit halber schreiben, bevor da jemand evtl. verzweifelt :wink:

EDIT
Hoppla, ich hab da einen Satz von Turley überlesen.
Mit gServerSeed = 1 komme ich auch auf die neuesten Core Versionen. Wer lesen kann, ist klar im Vorteil :wink:


Top
 Profile  
 
 Post subject:
PostPosted: Mon Oct 06, 2008 2:52 pm 
Offline
iris2-developer
User avatar

Joined: Mon Aug 09, 2004 12:20 pm
Posts: 1431
Hi ja.

Es ist und bleibt aber ein "hack" für UOKR modifizierten Server-Emus über den gServerSeed einen UO:KR Client erkennen zu wollen.

Ich find das eigentlich nicht so gut. Naja, sei's drumm. Da müssen dann die Server Admins Ihren Spielern erklären das ein 1ner Seed nicht funktioniert.

Danke auf jeden Fall.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 15 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group