OpenMU

This project aims to create an easy to use, extendable and customizable server for a MMORPG called "MU Online".

View on GitHub

C2 F5 01 - AvailableChatCommand (by server)

Is sent when

After the client requested the list of available chat commands. One message is sent for each command which is available to the player.

Causes the following actions on the client side

The client adds the command to its list of known commands, so that it can offer them to the player without requiring him to know or type them.

Structure

Index Length Data Type Value Description
0 1 Byte 0xC2 Packet type
1 2 Short   Packet header - length of the packet
3 1 Byte 0xF5 Packet header - packet type identifier
4 1 Byte 0x01 Packet header - sub packet type identifier
5 1 Byte   Index; The index of this command within the list, starting at 0.
6 1 Byte   Count; The total number of commands which are available to the player, so that the client knows when it received all of them.
7 1 CharacterStatus   MinimumCharacterStatus; The character status which is required to execute the command.
8 1 Byte   ParameterCount
9 32 String   Command; The command including its slash, e.g. ‘/item’.
41 48 String   Name; The name of the command, in the language of the player.
89 256 String   Description; The description of the command, in the language of the player.
345 ChatCommandParameter.Length * ParameterCount Array of ChatCommandParameter   Parameters; The parameters of the command, in the order in which they are expected when they are entered without their short names.

ChatCommandParameter Structure

Describes one parameter of a chat command, so that a user interface can offer an input for it.

Length: 102 Bytes

Index Length Data Type Value Description
0 1 Boolean   IsRequired; Defines if the parameter has to be specified to execute the command.
1 1 ChatCommandParameterType   Type; The kind of value which is expected, so that a fitting input can be shown.
2 32 String   Name
34 20 String   ShortName; The short name which is used in the ‘shortName=value’ notation. It’s empty when the parameter can only be passed by its position.
54 48 String   ValidValues; The accepted values, separated by a pipe. It’s empty when the parameter isn’t limited to a set of values.

ChatCommandParameterType Enum

The kind of value which a chat command parameter expects.

Value Name Description
0 Text The parameter expects a text.
1 Number The parameter expects a number.
2 Boolean The parameter expects a 0 or a 1.

CharacterStatus Enum

The status of a character.

Value Name Description
0 Normal The state of the character is normal.
1 Banned The character is banned from the game.
32 GameMaster The character is a game master.