BNETDocs: Redux is no longer updated, this subdomain exists for archival purposes only. Visit the main site.


Generate Code: All packets

Telnet's Packet Numbering System

NOTICE: Telnet is a legacy protocol that is not used on anymore as of 2005. All the below information should be taken with a grain of salt.

When receiving data from a Telnet-enabled server, there is a format that follows:



#### is a 4-digit decimal number, padded with zeros if necessary.
NAME is a name identifier for the number (####).
PARAMS() are parameters (data) delimited by 0x20 (spaces); this is packet-specific.
EOL is the End-Of-Line: Caret return (0x0D) and/or Line feed (0x0A).


Now normally, a packet would look something like:

1018 INFO "Something spectacular."

However, as you can see, 1018 isn't exactly close to 0000, is it? There's a pattern here.

The first '1' tells the type of packet that was received, a list of known id's:

EIDs, or SID_CHATEVENT event id's.
SIDs, or SID packets.

This can be proven by this algorithm:

1018 INFO = 1000 + 18 = 1000 + 0x12 = 0x12 EID_INFO

And to prove it even more, SID_NULL is 0x00, or 2000 NULL, correct? Check this out:

2000 NULL = 2000 + 0 = 2000 + 0x00 = 0x00 SID_NULL

If you still do not believe this algorithm, then you surely cannot deny this one:

2010 NAME = 2000 + 10 = 2000 + 0x0A = 0x0A SID_ENTERCHAT

As we all know, SID_ENTERCHAT is responsible for giving you your online username, as seen by others within channels and games -- 2010 NAME does that as well.

Is there a coincidence? I don't think so. Blizzard did this on purpose.


Knowing this, we can assume other EIDs and other SIDs to follow that format, for example:

SID_MESSAGEBOX("An error occurred which caused this dialog to appear.")
...can be displayed as...
2025 DIALOG "An error occurred which caused this dialog to appear."


This opens a world of possibilities for the Telnet protocol.

User Comments

For detailed questions and discussion, visit the Research Forum

Mar 07, 2011
08:10 AM

Pretty cool findings there... There's lot to test with Telnet now on the W3DM server then, haha.

Mar 14, 2011
02:25 AM

Yeah I found it out a while back ago when I was making my RBNETD software and was implementing the ol' Telnet protocol but couldn't find a way for SID_MESSAGEBOX through Telnet; this led me to find the format Blizzard was using for the packet ID's in Telnet.

Not sure if someone else actually knew about this or not, but I didn't find it anywhere so I felt compelled to document it.

We recommend you use Firefox to view this site. This site has been optimized for Firefox.

Get Firefox
BNLS Server Status

= Online       = Offline Server Status v1 v2




= Online       = Offline


Site scripts and design copyrights reserved to Don Cullen.
Contents copyrighted to Blizzard and their parent corporation, Vivendi.
Main credits for contents goes to Arta. View the rest of credits.
Demented Minds copyrights reserved to Don Cullen 2003-present.
Copyright infringements will be prosecuted to the fullest extent allowable by law.
Please view our legal disclaimer and terms of service.