Basically, Entwell (or Gameforge, idk) has changed their login packet parts and your login server will crash if you log in with the lastest NosTale client to your server.
Fix:
Go -> OpenNos.GameObject.Packets.ClientPackets.LoginPack et.cs LINE 28
Replace this:
Code:
[PacketIndex(4)]
public string ClientData { get; set; }
For this:
Code:
[PacketIndex(4)]
public string ClientDataOld { get; set; }
[PacketIndex(5)]
public string ClientData { get; set; }
Then, go OpenNos.Handler.LoginPacketHandler.cs LINE 149 (I'm not sure about the code line)
If you want to add a GUID to the loginpacket, you have to replace the Convert.ChangeType in the packetfactory with a TypeDescriptor.GetConverter, for example:
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at OpenNos.Handler.LoginPacketHandler.VerifyLogin(Log inPacket loginPacket) in C:\Users\Administrator\Desktop\OpenNos-dev\OpenNos.Handler\LoginPacketHandler.cs:line 152
at OpenNos.GameObject.ClientSession.TriggerHandler(St ring packetHeader, String packet, Boolean force, Boolean ignoreAuthority) in C:\Users\Administrator\Desktop\OpenNos-dev\OpenNos.GameObject\Networking\ClientSession.cs :line 550
at OpenNos.GameObject.ClientSession.HandlePackets() in C:\Users\Administrator\Desktop\OpenNos-dev\OpenNos.GameObject\Networking\ClientSession.cs :line 467
at OpenNos.GameObject.ClientSession.<.ctor>b__12_0(In t64 x) in C:\Users\Administrator\Desktop\OpenNos-dev\OpenNos.GameObject\Networking\ClientSession.cs :line 87
at System.Reactive.AnonymousSafeObserver`1.OnNext(T value)
at System.Reactive.Linq.ObservableImpl.Timer.Periodic ._.Tick(Int64 count)
at System.Reactive.Concurrency.DefaultScheduler.<>c__ DisplayClass7_0`1.<SchedulePeriodic>b__1()
at System.Reactive.Concurrency.AsyncLock.Wait(Action action)
at System.Threading.ExecutionContext.RunInternal(Exec utionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionCon text executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.TimerQueueTimer.CallCallback()
at System.Threading.TimerQueueTimer.Fire()
at System.Threading.QueueUserWorkItemCallback.System. Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at OpenNos.Handler.LoginPacketHandler.VerifyLogin(Log inPacket loginPacket) in C:\Users\Administrator\Desktop\OpenNos-dev\OpenNos.Handler\LoginPacketHandler.cs:line 152
at OpenNos.GameObject.ClientSession.TriggerHandler(St ring packetHeader, String packet, Boolean force, Boolean ignoreAuthority) in C:\Users\Administrator\Desktop\OpenNos-dev\OpenNos.GameObject\Networking\ClientSession.cs :line 550
at OpenNos.GameObject.ClientSession.HandlePackets() in C:\Users\Administrator\Desktop\OpenNos-dev\OpenNos.GameObject\Networking\ClientSession.cs :line 467
at OpenNos.GameObject.ClientSession.<.ctor>b__12_0(In t64 x) in C:\Users\Administrator\Desktop\OpenNos-dev\OpenNos.GameObject\Networking\ClientSession.cs :line 87
at System.Reactive.AnonymousSafeObserver`1.OnNext(T value)
at System.Reactive.Linq.ObservableImpl.Timer.Periodic ._.Tick(Int64 count)
at System.Reactive.Concurrency.DefaultScheduler.<>c__ DisplayClass7_0`1.<SchedulePeriodic>b__1()
at System.Reactive.Concurrency.AsyncLock.Wait(Action action)
at System.Threading.ExecutionContext.RunInternal(Exec utionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionCon text executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.TimerQueueTimer.CallCallback()
at System.Threading.TimerQueueTimer.Fire()
at System.Threading.QueueUserWorkItemCallback.System. Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
No, this fix doesn't work anymore, this post is from 2018. That was before Entwell/Gameforge started implementing internationalization in their client. The NsTesT packet has changed a lot since then. You can probably find it somewhere on this forum by taking a look, since people are constantly asking for a fix
[Release] CheckClientVersion Compare-BugFix 12/30/2013 - Metin2 PServer Guides & Strategies - 32 Replies If u don't know, in the client and in the game there's a "number" (a const char* converted as a number with atoi in game, ps. atoi evaluates to 0 if the "number" contains characters not-digits)
The default value is 1215955205 (g_stClientVersion), if the client version is smaller than the game ur character'll disconnect in 10 seconds with a message like this "U must patch the client to play" (u can declare it in locale_string.txt)
The problem is this:
client 1215955205 server 1215955205 =...
[C#] About packet injection (login packet) 07/24/2013 - SRO Coding Corner - 3 Replies hello
im developing a new bot called Silkroad Fusion and i did some research and i found about Drew's Silkroad security so i used it and i made my own proxy
and i needed a little help with the login packet
here is my code
Packet login = new Packet((ushort)0x6102);
login.WriteUInt8(Proxy.SRLocal);//isro locale
login.WriteAscii(ID.Text);
login.WriteAscii(PW.Text);
login.WriteAscii("");//mobile vertification code
...
[EP2] Tool login bugfix 11/24/2012 - Last Chaos Private Server - 6 Replies Hallöchen ich release mal ein kleines tool :
+Loginbugfix
+Linux & Windows
-lager funktioniert nicht mehr(untested)
Windows:
mit der beigelegten .bat
Linux:
java -jar auto.jar
Nostale(DE) Multiclient (Entwell) + Self-Update + TuT 05/12/2010 - Nostale - 4 Replies Aloha an alle NosZocker und die, die es werden wollen.
Da es ja unzählige Threads mit folgendem Thema gibt, poste ich hier ein Selfupdatepaket.
Alles nötige findet ihr in dem beligendem TuT.
Ich nehme die Copyrights nur für das TuT, den Rest hab ich nicht selbst erstellt.
Downloadlink
Achtung: Zum öffnen des Pakets wird WinRAR benötigt.
Ausserdem hafte ich für nichts, was ihr damit anstellt.
Nach einer Maintance zu beachten: erst Nos normal starten, um patchen zu lassen, das macht der...