Player Update protocol - Shadowrs/osrs-refactor-revision-1 GitHub Wiki

The Player Update protocol

  • Pre 570 protocol documentation - rune-server
  • 317 protocol documentation (same as above, just by a different user)
  • 570+ protocol rune-server

Raw a.k.a untouched a.k.a non-renamed packet:

This is how the client decodes the packet.

pastebin (raw)

Renamed player update packet

This is how the client decodes the packet.

pastebin (raw)

Server implementation

Pastebin (raw) TODO

Important notes

  • If your region is changing, you must send the region packet with xteas before the update packet

  • In OSRS, Jagex reverses the bytes of the appearance block. You have to send the information backwards.

      Packet looks = looks(packet, user);
      packet.writeByteS(looks.length()); // varbyte length
      packet.writeReverse(looks.payload().array(), 0, looks.length());
    

Result

Once the packet is sent every server cycle (600ms) the client will not disconnect and, providing the encoding on the appearance block is correct, you will see your rendered Character

alt

Correct appearance

alt

Appearance block

pastebin (raw) TODO