Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Silkroad Online > SRO Coding Corner
You last visited: Today at 11:51

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[HELP]arcane packet error

Discussion on [HELP]arcane packet error within the SRO Coding Corner forum part of the Silkroad Online category.

Reply
 
Old   #1
 
CrystalCoder's Avatar
 
elite*gold: 0
Join Date: Mar 2008
Posts: 1,106
Received Thanks: 226
[HELP]arcane packet error

good morning epvprs

yestrday i start work on my own emu based arcane
now i wonder if somebody can help me with thet packet error
when i start game from launcher or loader
then i get this error
"12090053525F436C69656E7429010000"
nothing respond.
this packet i get after change to newest version.
CrystalCoder is offline  
Old 04/03/2011, 09:32   #2
 
elite*gold: 0
Join Date: Nov 2007
Posts: 959
Received Thanks: 602
as far as I remember it's not really an error,it just writes out the patch packet into the console..
also you should check the packet differences if you've updated it^^
vorosmihaly is offline  
Old 04/03/2011, 09:59   #3
 
CrystalCoder's Avatar
 
elite*gold: 0
Join Date: Mar 2008
Posts: 1,106
Received Thanks: 226
i can write the packet changes simple nothing respond to login server no launcher and not loginserver respond wehn starting load the game is stuck in loadclient2 as far as i know

see my packet.cs

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Framework;
using System.Data.SqlClient;

namespace Data
{
    public partial class Systems
    {
        public static byte[] GateWayPacket()
        {
            PacketWriter Writer = new PacketWriter();
            Writer.Create(0x2001);
            Writer.Text("GatewayServer");
            Writer.Byte(0);
            return Writer.GetBytes();
        }
        public static byte[] LoadGame_1()
        {
            PacketWriter Writer = new PacketWriter();
            Writer.Create(0x600D);
            Writer.Word(0x0101);
            Writer.Word(0x0005);
            Writer.Byte(0x20);
            return Writer.GetBytes();
        }
        public static byte[] LoadGame_2()
        {
            PacketWriter Writer = new PacketWriter();
            Writer.Create(0x600D);
            Writer.Word(0x0001);
            Writer.Word(0x0001);
            Writer.Byte(0xCF);
            Writer.Byte(0x02);
            Writer.DWord(0x00000002);
            Writer.Byte(0x02);
            return Writer.GetBytes();
        }
        public static byte[] LoadGame_3()
        {
            PacketWriter Writer = new PacketWriter();
            Writer.Create(0x600D);
            Writer.Word(0x0101);
            Writer.Word(0x0005);
            Writer.Byte(0x60);
            return Writer.GetBytes();
        }
        public static byte[] LoadGame_4()
        {
            PacketWriter Writer = new PacketWriter();
            Writer.Create(0x600D);
            Writer.Word(0x0003);
            Writer.Word(0x0002);
            Writer.Word(0x0002);
            return Writer.GetBytes();
        }
        public static byte[] LoadGame_5()
        {
            PacketWriter Writer = new PacketWriter();
            Writer.Create(0x600D);
            Writer.Word(0x0101);
            Writer.Word(0);
            Writer.Byte(0xA1);
            return Writer.GetBytes();
        }
        public static byte[] LoadGame_6()
        {
            PacketWriter Writer = new PacketWriter();
            Writer.Create(0x600D);
            Writer.Word(0x0001);
            return Writer.GetBytes();
        }
        public static byte[] LoadGame_7()
        {
            PacketWriter Writer = new PacketWriter();
            Writer.Create(0x600D);
            Writer.Byte(0);
            Writer.Byte(1);
            Writer.Byte(0);
            Writer.Byte(1);
            Writer.Byte(0xA1);
            return Writer.GetBytes();
        }
        public static byte[] NewsListPacket()
        {
            PacketWriter Writer = new PacketWriter();

            Writer.Create(0x600D);
            Writer.Byte(0);
            Writer.Byte((byte)Systems.News_List.Count);

            foreach (NewsList n in Systems.News_List)
            {
                Writer.Text(n.Head);
                Writer.Text(n.Msg);
                Writer.Word(0);

                Writer.Word(n.Year);
                Writer.Word(n.Month);

                Writer.Word(0);
                Writer.LWord(0);
            }

            Writer.Word(0); // close pack

            return Writer.GetBytes();
        }
        public static byte[] ServerListPacket()
        {
            PacketWriter Writer = new PacketWriter();
            Writer.Create(0xA101);
            Writer.Word(0x0115);
            Writer.Text("Silkroad_Korea_Yahoo_Official"); 
            Writer.Byte(0);
            MsSQL ms = new MsSQL("SELECT * FROM server");
            using (System.Data.SqlClient.SqlDataReader reader = ms.Read())
            {
                while (reader.Read())
                {
                    Writer.Bool(true);
                    Writer.Word(reader.GetInt16(1)); //server id
                    Writer.Text(reader.GetString(2));
                    Writer.Word(User_Current);
                    Writer.Word(reader.GetInt16(4));
                    Writer.Byte(reader.GetByte(5)); // Server Status
                }
            }
            ms.Close();

            Writer.Byte(0);
            return Writer.GetBytes();
        }
        public byte[] WorngInformation()
        {
            PacketWriter Writer = new PacketWriter();
            Writer.Create(0xA102);
            Writer.Byte(2); //failed
            Writer.Byte(1); //wrong password
            Writer.Byte(WrongForPassword);
            Writer.Word(0);
            Writer.Byte(0);
            Writer.Byte(3); //Max Wrong Password/Username
            Writer.Word(0);
            Writer.Byte(0);
            return Writer.GetBytes();
        }
        public static byte[] ConnectWrong(ushort type)
        {
            PacketWriter Writer = new PacketWriter();
            Writer.Create(0xA102);
            Writer.Word(type);
            return Writer.GetBytes();
        }
        public static byte[] ConnectSucces(string ip, short port, byte type)
        {
            PacketWriter Writer = new PacketWriter();
            Writer.Create(0xA102);
            Writer.Byte(1);
            Writer.Byte(type);
            Writer.Byte(0);
            Writer.Word(0);
            Writer.Text(ip);
            Writer.Word(port);
            Writer.Byte(3);
            return Writer.GetBytes();
        }
        public static byte[] ConnectTest()
        { 
            PacketWriter Writer = new PacketWriter();
            Writer.Create(0xA323);
            Writer.Byte(1);
            return Writer.GetBytes();
        }
    }
}
CrystalCoder is offline  
Old 04/03/2011, 10:18   #4
 
kevin_owner's Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 1,484
Received Thanks: 809
Oke well first thing I would like to recommand you is using some sort of packet logger. This is really usefull cause you can exactly see on what packet the client crashed if the packet is correctly build and all those other things.

and since you've updated to the latest you probably reached a point where you have to sniff some new packets and check out the changes
kevin_owner is offline  
Thanks
1 User
Old 04/03/2011, 10:39   #5
 
CrystalCoder's Avatar
 
elite*gold: 0
Join Date: Mar 2008
Posts: 1,106
Received Thanks: 226
Quote:
Originally Posted by kevin_owner View Post
Oke well first thing I would like to recommand you is using some sort of packet logger. This is really usefull cause you can exactly see on what packet the client crashed if the packet is correctly build and all those other things.

and since you've updated to the latest you probably reached a point where you have to sniff some new packets and check out the changes
btw packet logger is also found on xcoding server in framework.dll am i right?
CrystalCoder is offline  
Old 04/03/2011, 10:49   #6
 
kevin_owner's Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 1,484
Received Thanks: 809
No those are just the packetreader and writer.

I meant an program which logs ALL the packets completely in another program. You could do this inside the emulator but I woudln't recommand it cause if you get an error you can hardly see it cause all the packets are also displayed.

I ment more something like wireshark. Wireshark uses winpcap to read the raw packets from the netwerk adapter so I created a little packet logger which also uses winpcap. the only thing which you have too keep in mind with winpcap is that it uses the network adapters so you can't log packets which are sended to your localhost.

So I just sended them over my lan here and I got all the packets correctly.

I hope you know what I mean. You could also make a l ittle proxy but that would be a little messy cause you have to connect to your proxy and your proxy has to redirect stuff.
kevin_owner is offline  
Thanks
1 User
Old 04/03/2011, 10:55   #7
 
CrystalCoder's Avatar
 
elite*gold: 0
Join Date: Mar 2008
Posts: 1,106
Received Thanks: 226
thank you kevin
CrystalCoder is offline  
Old 04/03/2011, 18:16   #8
 
lesderid's Avatar
 
elite*gold: 0
Join Date: Dec 2007
Posts: 2,400
Received Thanks: 1,517
Quote:
Originally Posted by kevin_owner View Post
No those are just the packetreader and writer.

I meant an program which logs ALL the packets completely in another program. You could do this inside the emulator but I woudln't recommand it cause if you get an error you can hardly see it cause all the packets are also displayed.
Or you could send all the packets (sending from the emulator) to another (local) application using for example (named) pipes.
lesderid is offline  
Old 04/03/2011, 18:38   #9
 
kevin_owner's Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 1,484
Received Thanks: 809
Yes that is also an nice option. But I prefer the one where you see them from both sides too keep things more central:P

but your way is definitely quicker to create.
It's just how much time you have to create it and what data you actually need
but if you're creating an emulator you really need a lot of time so that wouldn't be a problem:P
kevin_owner is offline  
Old 05/17/2011, 19:27   #10
 
yehia's Avatar
 
elite*gold: 0
Join Date: Jul 2007
Posts: 137
Received Thanks: 4
can anyone tell me the new structure of the server login packet?
yehia is offline  
Old 05/18/2011, 09:16   #11
 
kevin_owner's Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 1,484
Received Thanks: 809
which login packet?
the login packet with the username/password or the character data packet at the loading screen?
kevin_owner is offline  
Old 05/18/2011, 10:00   #12
 
yehia's Avatar
 
elite*gold: 0
Join Date: Jul 2007
Posts: 137
Received Thanks: 4
the one S > C which contains the ip and the port
i know its posted here but did the structure change?
cos with this packet here i get C9 when the client connects to the Agent server

thanks for the help
yehia is offline  
Old 05/18/2011, 10:19   #13
 
kevin_owner's Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 1,484
Received Thanks: 809
Owh well that packet didn't changed for a long time but c9 isn't a wrong packet but it's an error which tells the user that he couldn't connect to the gameserver.

so probably you're sending the wrong ip/port or you have something blocked in the firewall
kevin_owner is offline  
Old 05/18/2011, 10:36   #14
 
yehia's Avatar
 
elite*gold: 0
Join Date: Jul 2007
Posts: 137
Received Thanks: 4
so the correct structure is
AuthenticationSuccess [A102]{
[BYTE] 0x01
[DWORD] Session ID
[WORD] Length of GameServer IP
[STRING] GameServer IP
[WORD] GameServer Port

and not the one in arcane emu's source?
then i guess i didnt know that the arcane emu was for ksro

i created loads of static packets and none worked
0x190002A100000100000100100067776774312E6A6F796D61 782E636F6D3E0B
0x120002A10000010000010009003132372E302E302E313E0B

btw can the ip string be a domain name like "gwgt1.joymax.com"
since i had it redirected in my hosts file i thought that would redirect the agent server connection to local host
yehia is offline  
Old 05/18/2011, 11:17   #15
 
kevin_owner's Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 1,484
Received Thanks: 809
Well I guess it's still the same in arcane. I can't remember anything different.

but I guess that the packet you got there should work.
btw is it correct that the port of your gameserver is 15883?

and you might want to check your cmd and run "netstat -an" and check if the local address column contains and local ip with 15883 as it's port.
kevin_owner is offline  
Reply


Similar Threads Similar Threads
[ERROR]-Arcane EMU
12/19/2010 - SRO Private Server - 2 Replies
Ive got an error on Arcane EMU and it wont let me login. http://i970.photobucket.com/albums/ae183/Yfeljj/5 .jpg this is what i see, it says login but It just wont get to the char select screen. http://i970.photobucket.com/albums/ae183/Yfeljj/1 .jpg These are my settings please note if you see something wrong.
Arcane C9 Error
11/13/2010 - SRO Coding Corner - 10 Replies
http://i54.tinypic.com/2z5ugkn.jpg How do i fix this?? can some one help me on msn or threw teamviewer
Packet Error
03/12/2008 - Lin2 Exploits, Hacks, Bots, Tools & Macros - 4 Replies
I've read some ppl saying that OOG Walker is still working, but when I try to log in I get this error: 04:07:17 »¶Ó*ʹÓÃÐÐÕß¡£ 04:07:17 Link LoginServer Succeed. 04:07:18 服务器当前在&# 32447;率:10.50%,能否登& 470;:能 04:07:22 Link GameServer Succeed. 04:07:28 ->Enter Char. 04:07:31 Packet Error ... Someone can help me please? :S
Packet error
04/15/2006 - Lineage 2 - 2 Replies
Hi Also wenn cih mit dem walker inlogge und ich buffe dann bekomm ich meistens einen packet error . dann muzsss ich immer den 1. buff als letzten machen. dazu ahb cih aba auf dauer auch keine laune hat mir da jemand ein tip?



All times are GMT +2. The time now is 11:51.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.