EAthena protocol details

From TheManaWorld
Jump to: navigation, search


Introduction

This page is meant to document any important or not-so-important details of the eAthena/RO protocol. Feel free to add stuff, but please check the packet_table_en.txt in eAthena's doc folder first, so we don't have a lot of duplicate information.

Packet from Server: 0x00aa

The Server sends this packet as an answer to the 'request equip' packet.

R 00aa <index>.w <equip point>.w <type>.B

I will only explain <equip point>, because that's the only one which is not that easy to understand:

<equip point> could be any of the following integers (hexadecimal values in brackets):

  1 Lower Headgear Slot (0x1) (Javila: "This is unused in tmw, client's equip array starts at 0x02")
  2 1 Hand Weapons (0x2) (first weapon slot)
  4 Garment (0x4)
  8 Accessory (1st or 2nd slot, I don't know) (0x8)
 16 Body (0x10)
 32 Shields or Daggers (if you are an assassin with dagger skill) (0x20) (second weapon slot)
 64 Shoes (0x40)
128 accessory (1st or 2nd Slot, I don't know) (0x80)
256 Upper Headgear Slot(0x100)
512 Mid Headgears Slot (0x200)

Special (composed) IDs:

32768 Arrows (0x8000)  (this will be sent through an extra package anyways)
  513 (512 + 1)       Mid / Lower Headgear Slots (0x201)
  768 (256 + 512)     Mid / Upper Headgear Slots (0x300)
  769 (1 + 256 + 512) All 3 Headgear Slots (0x301)

--Mra 18:20, 26 May 2005 (PDT)

Packet from Server: 0x0069

Information about a success of login to login server. While this packet is specified as follows in packet_table_en.txt:

R 0069 <len>.w <login ID1>.l <account ID>.l <login ID2>.l ?.32B <sex>.B
       {<IP>.l <port>.w <server name>.20B <login users>.l ?.2B}.32B*

From experience it appears it's actually 30 unknown bytes instead of 32:

R 0069 <len>.w <login ID1>.l <account ID>.l <login ID2>.l ?.30B <sex>.B
       {<IP>.l <port>.w <server name>.20B <login users>.l ?.2B}.32B*

--Bjørn 17:05, 11 Sep 2005 (CEST)