Thejuster

Members
  • Content Count

    8
  • Avg. Content Per Day

    0
  • Joined

  • Last visited

Community Reputation

5 Neutral

2 Followers

About Thejuster

  • Rank
    New Member
  • Birthday 10/08/1984

Profile Information

  • Gender
    Not Telling
  • Location
    Italy
  • Server
    FutureRO
  • Github
    https://github.com/MakingItalia
  • Interests
    Programming and videogame makers.

Contact Methods

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Thejuster

    About Login Packet

    nope uhmm here are a problem. look total size sent is 72bytes. Simple i pack command,verion,username,password,clienttype total = 72byte but rAthena server ask: static int logclif_parse_reqauth(int fd, struct login_session_data *sd, int command, char* ip){ size_t packet_len = RFIFOREST(fd); if( (command == 0x0064 && packet_len < 55) //For command 0x64 packet max lenght is 55 byte i use this. 0x64 || (command == 0x0277 && packet_len < 84) || (command == 0x02b0 && packet_len < 85) || (command == 0x01dd && packet_len < 47) || (command == 0x01fa && packet_len < 48) || (command == 0x027c && packet_len < 60) my packet size is 72byte but a conditional branch on server is limited under 55byte. Strange for me. No have idea for wath reason my structure is 72bytes. I follow step by step server parameters and Unmanaged conversion.
  2. Thejuster

    About Login Packet

    Tanks Zell i try whit this example. First step is done but server cant read my username or password send in src/loginclif.cpp function /** * Received a connection request. * @param fd: file descriptor to parse from (client) * @param sd: client session * @param command: packet type sent * @param ip: ipv4 address (client) * S 0064 <version>.L <username>.24B <password>.24B <clienttype>.B * S 0277 <version>.L <username>.24B <password>.24B <clienttype>.B <ip address>.16B <adapter address>.13B * S 02b0 <version>.L <username>.24B <password>.24B <clienttype>.B <ip address>.16B <adapter address>.13B <g_isGravityID>.B * S 01dd <version>.L <username>.24B <password hash>.16B <clienttype>.B * S 01fa <version>.L <username>.24B <password hash>.16B <clienttype>.B <?>.B(index of the connection in the clientinfo file (+10 if the command-line contains "pc")) * S 027c <version>.L <username>.24B <password hash>.16B <clienttype>.B <?>.13B(junk) * S 0825 <packetsize>.W <version>.L <clienttype>.B <userid>.24B <password>.27B <mac>.17B <ip>.15B <token>.(packetsize - 0x5C)B * @param fd: fd to parse from (client fd) * @return 0 failure, 1 success */ static int logclif_parse_reqauth(int fd, struct login_session_data *sd, int command, char* ip){ size_t packet_len = RFIFOREST(fd); i see for command 0x64 ( Request login authentification ) S 0064 <version>.L <username>.24B <password>.24B <clienttype>.B my code Packet Structure [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] struct DataPacket { public ushort command; public ulong version; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 24)] //.24B byte, Server Code Ask 24B ( 24 Bytes ) public String Username; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 24)] //Some 24 Byte Lenght public String Password; public byte clienttype; //is wrong? public byte[] Serialize() { // allocate a byte array for the struct data var buffer = new byte[Marshal.SizeOf(typeof(DataPacket))]; // Allocate a GCHandle and get the array pointer var gch = GCHandle.Alloc(buffer, GCHandleType.Pinned); var pBuffer = gch.AddrOfPinnedObject(); Marshal.StructureToPtr(this, pBuffer, false); gch.Free(); return buffer; } // this method will deserialize a byte array into the struct. public void Deserialize(ref byte[] data) { var gch = GCHandle.Alloc(data, GCHandleType.Pinned); this = (DataPacket)Marshal.PtrToStructure(gch.AddrOfPinnedObject(), typeof(DataPacket)); gch.Free(); } } DataPacket packet = new DataPacket(); packet.command = 0x64; packet.version = 55; packet.Username = "Thejuster"; packet.Password = "123456789"; packet.clienttype = 0; var bytes = packet.Serialize(); soc.Send(bytes); If i try to connect whit my code, i see this on server. I see username and password server dont read. Normal Connection whit Ragnarok Client Uhmmm i dont have idea for this problem. I have download roBrowser, and see src. because javascript and c# are similar. i find this i on source // 0x64 PACKET.CA.LOGIN = function PACKET_CA_LOGIN() { this.Version = 0; this.ID = ''; this.Passwd = ''; this.clienttype = 0; }; //Here i think the author build a packet structure. PACKET.CA.LOGIN.prototype.build = function() { // i think is a size of all packet //[2] Command + [4] ???? No have idea. + [24] Username + [24] Password + [1] Client type var pkt_len = 2 + 4 + 24 + 24 + 1; var pkt_buf = new BinaryWriter(pkt_len); pkt_buf.writeShort(0x64); pkt_buf.writeULong(this.Version); pkt_buf.writeString(this.ID, 24); pkt_buf.writeString(this.Passwd, 24); pkt_buf.writeUChar(this.clienttype); return pkt_buf; };
  3. Thejuster

    About Login Packet

    Tanks jchcc i miss Last param hehe . Clienttype But one question. .L .24b .B is?
  4. Thejuster

    About Login Packet

    Hello i try to make a discord bot whit potential feature. One my problem is try to connection in rAthena Server. Actually i use c# my code //Setting Socket soc = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPAddress ip = IPAddress.Parse("127.0.0.1"); IPEndPoint host = new IPEndPoint(ip, 6900); soc.Connect(host); //Static Packet byte packet = 0x64; byte[] id = Encoding.ASCII.GetBytes("Thejuster"); byte[] pass = Encoding.ASCII.GetBytes("123456789"); //Packet Builder List<byte> pacchetto = new List<byte>(); //Assembly packet pacchetto.Add(0x64); foreach(byte b in id) { pacchetto.Add(b); } foreach(byte b in pass) { pacchetto.Add(b); } //Send full pachet soc.Send(pacchetto.ToArray()); When i try to connect, rAthena Login Server say this: anyone know reason of this problem?
  5. View File ServerConfig ServerConfig is a free tool for automatic configuration whit your rAthena Server. Very simple to use. Just 4 click and your server are ready. Requisites: .NET Framework 4.0 How to use: 1° Unrar the archive 2° Select a root rAtehan folder. ( for example: C:\rAthena ) 3° Click Detect in IP Address configuration, or put ip address in this filed. 4° Check Enable sql Server if you like use rAthena sql 5° Click Update Server Files After patching, you can test if your roter Port are enabled. Plase report bug or error. Submitter Thejuster Submitted 10/05/2018 Category Server Managers/Editors Video Content Author Thejuster  
  6. Thejuster

    List of a packet command

    tanks @MathReaper and @Anacondaqq i go to check
  7. Thejuster

    Hi All

    Hello, Im a Thejuster. ( Sorry for my english, im italian ) Old member from eAthena. 35 year old, and C# Senior Microsoft Qualified (MVP ) programmer. Know under 20 programming languague. One my project is Mire Engine aka MMORpgmaker. is a Cross-Platform RPG / MMORPG game Engine totally written in C# DirectX / OpenGL. Supporting LUA, Javascript and WebGL. Support, NormalMap, Deferred 2D Lighting system, and more feature. We recived more award from Brothersoft, softpedia and more web app hosting. screenshoot if want seen my first play to ragnarok uhmm, think 2002. i love this game, and maybe i can support rAthena whit tool and varius release. Seeya :)
  8. Thejuster

    List of a packet command

    Hello, How to find a complete list of packets used in rAthena? for example 0x64 struct PACKET_CA_LOGIN { /* this+0x0 */ short PacketType /* this+0x2 */ unsigned long Version /* this+0x6 */ unsigned char ID[24] /* this+0x1e */ unsigned char Passwd[24] /* this+0x36 */ unsigned char clienttype }
  9. Thejuster

    ServerConfig

    Version 1.0.0

    60 downloads

    ServerConfig is a free tool for automatic configuration whit your rAthena Server. Very simple to use. Just 4 click and your server are ready. Requisites: .NET Framework 4.0 How to use: 1° Unrar the archive 2° Select a root rAtehan folder. ( for example: C:\rAthena ) 3° Click Detect in IP Address configuration, or put ip address in this filed. 4° Check Enable sql Server if you like use rAthena sql 5° Click Update Server Files After patching, you can test if your roter Port are enabled. Plase report bug or error.

    Free