60 lines
2.4 KiB
Plaintext
60 lines
2.4 KiB
Plaintext
Terms
|
|
=====
|
|
|
|
Parts between < and > are mandatory. They will never contain white space and
|
|
thus can be mentioned as words.
|
|
|
|
Parts between [ and ] are optional. It can be one word, several words, or even
|
|
missing.
|
|
|
|
White space can be a space or Tab character. New line and carriage return are
|
|
not considered as white space.
|
|
|
|
<MID> is a message ID. It can contain alphanumeric characters (must match the
|
|
regular expression [a-zA-Z0-9]+), except for server messages which are not
|
|
generated in response to a client request, which begins with a dot (.).
|
|
|
|
<RESPONSE CODE> is similar to HTTP Status codes. The first digit depends on
|
|
the generator module. 0 is for the messages generated by RPGServ core; 1 is
|
|
for messages generated by RPG System modules. Other numbers are currently
|
|
reserved for future use. The second digit is the message level: 0 are
|
|
informational, or success messages; 1 are warnings, which are recoverable,
|
|
while 2 is for errors. 3 indicates server-side system failure, and is always
|
|
followed by a disconnect. 8-9 are two-level debug messages. 4-7 are currently
|
|
reserved for future use.
|
|
|
|
Client side
|
|
===========
|
|
|
|
<MID> <MESSAGE SIZE> <COMMAND> [ARGUMENTS]
|
|
|
|
MESSAGE SIZE contains the length of the whole message. Although white space
|
|
characters are ignored during message parsing, MESSAGE SIZE must include the
|
|
length of these characters, either.
|
|
|
|
COMMAND is the command itself.
|
|
|
|
ARGUMENTS are the (optional) command arguments. Arguments are case sensitive.
|
|
Each word in ARGUMENTS is a separate argument, white space and newline is
|
|
ignored between them, except the argument is wrapped between two " or '
|
|
characters. These two have identical meaning, but can not be swapped. To put a
|
|
plain wrapper character in a wrapped text, prefix it with a backslash.
|
|
|
|
Server side
|
|
===========
|
|
|
|
<MID> <RESPONSE CODE> <PIECE-NR> <PIECE-SIZE> <MESSAGE-CHUNK>
|
|
|
|
PIECE-NR is the packet number for the given message. Every message is divided
|
|
into packets based on the server side settings. Messages that fit in one
|
|
packet are sent with this field set to 0. Longer messages, or messages that
|
|
are generated over time and pieces can be sent meanwhile are numbered from 1.
|
|
The last piece of message for a given MID is always marked as LAST in the
|
|
PIECE-NR field.
|
|
|
|
PIECE-SIZE is the size of the current piece in bytes.
|
|
|
|
MESSAGE-CHUNK contains the message itself, or the chunk transmitted in this
|
|
packet. The message or message chunk doesn't have a trailing character, like a
|
|
newline.
|