This file contains all packet definitions for packets which are sent from game client to the game server. C3HeaderWithSubCode 0E 00 Ping 12 ClientToServer This packet is sent by the client every few seconds. It contains the current "TickCount" of the client operating system and the attack speed of the selected character. By the original server this is used to detect speed hacks. 4 IntegerLittleEndian TickCount 8 ShortLittleEndian AttackSpeed C3Header 03 ChecksumResponse 8 ClientToServer This packet is sent by the client as a response to a request with a challenge value. By the original server, this is used to detect a modified client. 4 IntegerLittleEndian Checksum C1Header 00 PublicChatMessage ClientToServer A player sends a public chat message. The message is forwarded to all surrounding players, including the sender. 3 String Character 10 13 String Message C1Header 02 WhisperMessage ClientToServer A player sends a private chat message to a specific target player. The message is forwarded to the target player. 3 String ReceiverName 10 13 String Message C3HeaderWithSubCode F1 01 LoginLongPassword 60 ClientToServer The player tries to log into the game. The server is authenticating the sent login name and password. If it's correct, the state of the player is proceeding to be logged in. 4 Binary Username The user name, "encrypted" with Xor3. 10 14 Binary Password The password, "encrypted" with Xor3. 20 34 IntegerBigEndian TickCount 38 Binary ClientVersion 5 43 Binary ClientSerial 16 C3HeaderWithSubCode F1 01 LoginShortPassword 50 ClientToServer The player tries to log into the game. The server is authenticating the sent login name and password. If it's correct, the state of the player is proceeding to be logged in. 4 Binary Username The user name, "encrypted" with Xor3. 10 14 Binary Password The password, "encrypted" with Xor3. 10 24 IntegerBigEndian TickCount 28 Binary ClientVersion 5 33 Binary ClientSerial 16 C3HeaderWithSubCode F1 01 Login075 48 ClientToServer The player tries to log into the game. The server is authenticating the sent login name and password. If it's correct, the state of the player is proceeding to be logged in. 4 Binary Username The user name, "encrypted" with Xor3. 10 14 Binary Password The password, "encrypted" with Xor3. 10 24 IntegerBigEndian TickCount 28 Binary ClientVersion 3 31 Binary ClientSerial 16 C3HeaderWithSubCode F1 02 LogOut 5 ClientToServer When the client wants to leave the game in various ways. Depending on the LogOutType, the game server does several checks and sends a response back to the client. If the request was successful, the game client either closes the game, goes back to server or character selection. 4 Enum LogOutType Type C3HeaderWithSubCode F1 03 LogOutByCheatDetection 6 ClientToServer When the client wants to leave the game in various ways. Depending on the LogOutType, the game server does several checks and sends a response back to the client. If the request was successful, the game client either closes the game, goes back to server or character selection. 4 Byte Type 4 5 Byte Param C1HeaderWithSubCode F2 00 ResetCharacterPointRequest 4 ClientToServer Unknown? Unknown? C3HeaderWithSubCode 3F 01 PlayerShopSetItemPrice Player Shop - Set Item Price 9 ClientToServer The player wants to set a price of an item which is inside his personal item shop. The price is set for the specified item. Works only if the shop is currently closed. 4 Byte ItemSlot 5 IntegerLittleEndian Price C3HeaderWithSubCode 3F 02 PlayerShopOpen Player Shop - Open 30 ClientToServer The player wants to open his personal item shop. The personal item shop is opened and the surrounding players are informed about it, including the own player. 4 String StoreName 26 C3HeaderWithSubCode 3F 03 PlayerShopClose Player Shop - Close 4 ClientToServer The player wants to close his personal item shop. The personal item shop is closed and the surrounding players are informed about it, including the own player. C3HeaderWithSubCode 3F 05 PlayerShopItemListRequest Player Shop - Item List Request 16 ClientToServer A player opens a shop of another player. The list of items is sent back, if the shop of the player is currently open. 4 ShortBigEndian PlayerId 6 String PlayerName 10 C3HeaderWithSubCode 3F 06 PlayerShopItemBuyRequest Player Shop - Item Buy Request 17 ClientToServer A player wants to buy the item of another players shop. If the buyer has enough money, the item is sold to the player. Both players will get notifications about that. 4 ShortBigEndian PlayerId 6 String PlayerName 10 16 Byte ItemSlot C3HeaderWithSubCode 3F 07 PlayerShopCloseOther Player Shop - close other shop 16 ClientToServer A player closes the dialog of another players shop. The server handles that by unsubscribing the player from changes of the shop. 4 ShortBigEndian PlayerId 6 String PlayerName 10 C3Header 22 PickupItemRequest 5 ClientToServer A player requests to pick up an item which is laying on the ground in the near of the players character. If the player is allowed to pick the item up, and is the first player which tried that, it tries to add the item to the inventory. The server sends a response about the result of the request. 3 ShortBigEndian ItemId C1Header 22 PickupItemRequest075 5 ClientToServer A player requests to pick up an item which is laying on the ground in the near of the players character. If the player is allowed to pick the item up, and is the first player which tried that, it tries to add the item to the inventory. The server sends a response about the result of the request. 3 ShortBigEndian ItemId C3Header 23 DropItemRequest 6 ClientToServer A player requests to drop on item of his inventory on the ground. When the specified coordinates are valid, and the item is allowed to be dropped, it will be dropped on the ground and the surrounding players are notified. 3 Byte TargetX 4 Byte TargetY 5 Byte ItemSlot C3Header 24 ItemMoveRequest 19 ClientToServer A player requests to move an item within or between his available item storage, such as inventory, vault, trade or chaos machine. 3 Enum ItemStorageKind FromStorage 4 Byte FromSlot 5 Binary ItemData 12 17 Enum ItemStorageKind ToStorage 18 Byte ToSlot C3Header 24 ItemMoveRequestExtended 7 ClientToServer A player requests to move an item within or between his available item storage, such as inventory, vault, trade or chaos machine. 3 Enum ItemStorageKind FromStorage 4 Byte FromSlot 5 Enum ItemStorageKind ToStorage 6 Byte ToSlot C3Header 26 ConsumeItemRequest 6 ClientToServer A player requests to 'consume' an item. This can be a potion which recovers some kind of attribute, or a jewel to upgrade a target item. The server tries to 'consume' the specified item and responses accordingly. 3 Byte ItemSlot The inventory slot index of the item which should be consumed. 4 Byte TargetSlot If the item has an effect on another item, e.g. upgrading it, this field contains the inventory slot index of the target item. 5 Enum FruitUsage FruitConsumption Defines how the fruit is used. Only applies, if the the item is a fruit. FruitUsage Defines how the fruit is used. Only applies, if the the item is a fruit. AddPoints Adds 1~3 stat points to the character. 0 RemovePoints Removes 1~9 stat points from the character. 1 C1Header 26 ConsumeItemRequest075 5 ClientToServer A player requests to 'consume' an item. This can be a potion which recovers some kind of attribute, or a jewel to upgrade a target item. The server tries to 'consume' the specified item and responses accordingly. 3 Byte ItemSlot The inventory slot index of the item which should be consumed. 4 Byte TargetSlot If the item has an effect on another item, e.g. upgrading it, this field contains the inventory slot index of the target item. C3Header 30 TalkToNpcRequest Talk to NPC 5 ClientToServer A player wants to talk to an NPC. Based on the NPC type, the server sends a response back to the game client. For example, if it's a merchant NPC, it sends back that a merchant dialog should be opened and which items are offered by this NPC. 3 ShortBigEndian NpcId C1Header 31 CloseNpcRequest Close NPC 3 ClientToServer A player closes the dialog which was opened by an interaction with a NPC. The server updates the state of the player accordingly. C3Header 32 BuyItemFromNpcRequest Buy Item From NPC Request 4 ClientToServer A player wants to buy an item from an opened NPC merchant. If the player has enough money, the item is added to the inventory and money is removed. Corresponding messages are sent back to the game client. 3 Byte ItemSlot Item Slot (NPC Store) C3Header 33 SellItemToNpcRequest Sell Item To NPC 4 ClientToServer A player wants to sell an item of his inventory to the opened NPC merchant. The item is sold for money to the NPC. The item is removed from the inventory and money is added. Corresponding messages are sent back to the game client. 3 Byte ItemSlot Item Slot (Inventory) C1Header 34 RepairItemRequest 5 ClientToServer A player wants to repair an item of his inventory. The item is repaired if the player has enough money in its inventory. A corresponding response is sent. 3 Byte ItemSlot Inventory item slot of the target item. If it's 0xFF, the player wants to repair all items - this is only possible with some opened NPC dialogs. Repairing the pet item slot (8) is only possible when the pet trainer npc is opened. 4 Boolean IsSelfRepair If the player repairs it over his inventory, it's true. However, a server should never rely on this flag and do his own checks. C1HeaderWithSubCode 8E 02 WarpCommandRequest Warp Command (pre-season 6) 10 ClientToServer A player selected to warp by selecting an entry in the warp list (configured in game client files). If the player has enough money and is allowed to enter the map, it's getting moved to there. 4 IntegerLittleEndian CommandKey A command key, which is generated by a 'secret' algorithm. Not considered in OpenMU. 8 ShortLittleEndian WarpInfoIndex The index of the entry in the warp list. C3Header 1C EnterGateRequest 8 ClientToServer Usually: When the player enters an area on the game map which is configured as gate at the client data files. In the special case of wizards, this packet is also used for the teleport skill. When this is the case, GateNumber is 0 and the target coordinates are specified. If the player is allowed to enter the "gate", it's moved to the corresponding exit gate area. 4 ShortLittleEndian GateNumber 6 Byte TeleportTargetX 7 Byte TeleportTargetY C3Header 1C EnterGateRequest075 6 ClientToServer Usually: When the player enters an area on the game map which is configured as gate at the client data files. In the special case of wizards, this packet is also used for the teleport skill. When this is the case, GateNumber is 0 and the target coordinates are specified. If the player is allowed to enter the "gate", it's moved to the corresponding exit gate area. 3 Byte GateNumber 4 Byte TeleportTargetX 5 Byte TeleportTargetY C3Header B0 TeleportTarget 7 ClientToServer A wizard uses the 'Teleport Ally' skill to teleport a party member of his view range to a nearby coordinate. If the target player is in the same party and in the range, it will teleported to the specified coordinates. 3 ShortLittleEndian TargetId 5 Byte TeleportTargetX 6 Byte TeleportTargetY C3HeaderWithSubCode B1 01 ServerChangeAuthentication 69 ClientToServer After the client connected to another server due map change. The player spawns on the new server. 4 Binary AccountXor3 12 16 Binary CharacterNameXor3 12 28 IntegerLittleEndian AuthCode1 32 IntegerLittleEndian AuthCode2 36 IntegerLittleEndian AuthCode3 40 IntegerLittleEndian AuthCode4 44 IntegerLittleEndian TickCount 48 Binary ClientVersion 5 53 Binary ClientSerial 16 C1HeaderWithSubCode B2 00 CastleSiegeStatusRequest 4 ClientToServer The player opened a castle siege npc and requests the current castle siege status information. The server returns the status of the castle siege event. C1HeaderWithSubCode B2 01 CastleSiegeRegistrationRequest 4 ClientToServer The player opened a castle siege npc to register his guild alliance. The server returns the result of the castle siege registration. C1HeaderWithSubCode B2 02 CastleSiegeUnregisterRequest 5 ClientToServer The player opened a castle siege npc to un-register his guild alliance. The server returns the result of the castle siege un-registration. 4 Boolean IsGivingUp true C1HeaderWithSubCode B2 03 CastleSiegeRegistrationStateRequest 4 ClientToServer The player opened a castle siege npc and requests the state about the own registration. The server returns the state of the castle siege registration, which includes the number of submitted guild marks. C1HeaderWithSubCode B2 04 CastleSiegeMarkRegistration 5 ClientToServer The player opened a castle siege npc and adds a guild mark to his guilds registration. The server returns a response, which includes the number of submitted guild marks. 4 Byte ItemIndex C1HeaderWithSubCode B2 05 CastleSiegeDefenseBuyRequest 12 ClientToServer The player opened a castle siege npc and requests to buy a gate or statue for a specific position (index).. The server returns a response. 4 IntegerLittleEndian NpcNumber 8 IntegerLittleEndian NpcIndex C1HeaderWithSubCode B2 06 CastleSiegeDefenseRepairRequest 12 ClientToServer The player opened a castle siege npc and requests to repair a gate or statue at a specific position (index).. The server returns a response. 4 IntegerLittleEndian NpcNumber 8 IntegerLittleEndian NpcIndex C1HeaderWithSubCode B2 07 CastleSiegeDefenseUpgradeRequest 20 ClientToServer The player opened a castle siege npc and requests to upgrade a gate or statue at a specific position (index).. The server returns a response. 4 IntegerLittleEndian NpcNumber 8 IntegerLittleEndian NpcIndex 12 IntegerLittleEndian NpcUpgradeType 16 IntegerLittleEndian NpcUpgradeValue C1HeaderWithSubCode B2 08 CastleSiegeTaxInfoRequest 4 ClientToServer The guild master opened a castle siege npc to manage the castle. The server returns the tax information. C1HeaderWithSubCode B2 09 CastleSiegeTaxChangeRequest 9 ClientToServer The guild master wants to change the tax rate in the castle npc. The server changes the tax rates accordingly. 4 Byte TaxType 0=Undefined, 1=ChaosMachine, 2 = Normal, 3 = EntranceFeeLandOfTrials 5 IntegerBigEndian TaxRate C1HeaderWithSubCode B2 10 CastleSiegeTaxMoneyWithdraw 8 ClientToServer The guild master wants to withdraw the tax money from the castle npc. The server moves the money into the inventory of the guild master. 4 IntegerBigEndian Amount C1HeaderWithSubCode B2 12 ToggleCastleGateRequest 7 ClientToServer The guild member of the castle owner wants to toggle the gate switch. The castle gate is getting opened or closed. 4 Boolean CloseState 5 ShortBigEndian GateId C1HeaderWithSubCode B2 1D CastleGuildCommand 8 ClientToServer The guild master sent a command to his guild during the castle siege event. The command is shown on the mini map of the guild members. 4 Byte Team Team Number 0 to 7. 5 Byte PositionX 6 Byte PositionY 7 Byte Command 0 = Attack, 1 = Defend, 2 = Wait C1HeaderWithSubCode B2 1F CastleSiegeHuntingZoneEntranceSetting 5 ClientToServer A guild member of the castle owners wants to enter the hunting zone (e.g. Land of Trials). The server changes the entrance setting of the hunting zone. 4 Boolean IsPublic C1HeaderWithSubCode B3 01 CastleSiegeGateListRequest 4 ClientToServer The guild master opened the castle npc and the client needs a list of all gates. The server returns the list of gates and their status. C1HeaderWithSubCode B3 02 CastleSiegeStatueListRequest 4 ClientToServer The guild master opened the castle npc and the client needs a list of all statues. The server returns the list of statues and their status. C1Header B4 CastleSiegeRegisteredGuildsListRequest 3 ClientToServer The guild master opened an npc and needs the list of registered guilds for the next siege. The server returns the list of guilds for the next siege. C1Header B5 CastleOwnerListRequest 3 ClientToServer The guild master opened an npc and needs the list of current guilds which are the castle owners. The server returns the list of guilds which are the castle owners. C1HeaderWithSubCode B7 01 FireCatapultRequest 7 ClientToServer A player wants to fire a catapult during the castle siege event. The server fires the catapult. 4 ShortBigEndian CatapultId 6 Byte TargetAreaIndex C1HeaderWithSubCode B7 04 WeaponExplosionRequest 6 ClientToServer After the player fired a catapult and hit another catapult. The server damages the other catapult. 4 ShortBigEndian CatapultId C1HeaderWithSubCode B9 02 GuildLogoOfCastleOwnerRequest 4 ClientToServer The client requests the guild logo of the current castle owner guild. The server returns the guild logo. C1HeaderWithSubCode B9 05 CastleSiegeHuntingZoneEnterRequest 8 ClientToServer A guild member of the castle owners wants to enter the hunting zone (e.g. Land of Trials). The server takes the entrance money, puts it into the tax wallet and warps the player to the hunting zone. 4 IntegerLittleEndian Money C1HeaderWithSubCode BD 00 CrywolfInfoRequest 4 ClientToServer A player enters the crywolf map. The server returns data about the state of the crywolf map. C1HeaderWithSubCode BD 03 CrywolfContractRequest 6 ClientToServer A player wants to make a contract at the crywolf statue for the crywolf event. The server tries to enter a contract with the player and the specified statue. 4 ShortBigEndian StatueId C1HeaderWithSubCode BD 09 CrywolfChaosRateBenefitRequest 4 ClientToServer A player opens an item crafting dialog, e.g. the chaos machine. The server returns data about the state of the benefit of the crywolf event. If it was won before, the chaos rate wents up a few percent. C1HeaderWithSubCode D0 03 WhiteAngelItemRequest 4 ClientToServer ?. ?. C1HeaderWithSubCode D0 07 EnterOnWerewolfRequest 4 ClientToServer A player is running the quest "Infiltrate The Barracks of Balgass" (nr. 5), talking to the Werewolf npc in Crywolf. It will warp the player to the map 'Barracks of Balgass' where the required monsters have to be killed to proceed with the quest. C1HeaderWithSubCode D0 08 EnterOnGatekeeperRequest 4 ClientToServer A player is running the quest "Into the 'Darkness' Zone" (nr. 6), talking to the gatekeeper npc in 'Barracks of Balgass'. It will warp the player to the map 'Balgass Refuge' where the required monsters have to be killed to proceed with the quest. C1HeaderWithSubCode D0 09 LeoHelperItemRequest 4 ClientToServer The player talks to the npc "Leo the Helper" and requests an item. The item will drop on the ground. C1HeaderWithSubCode D0 0A MoveToDeviasBySnowmanRequest 4 ClientToServer The player talks to the npc "Snowman" in Santa Village and requests to warp back to devias. The player will be warped back to Devias. C1HeaderWithSubCode D0 10 SantaClausItemRequest 4 ClientToServer The player talks to the npc "Santa Claus" and requests an item. The item will drop on the ground. C1HeaderWithSubCode D1 00 KanturuInfoRequest 4 ClientToServer A player talks with the kanturu entrance npc, and shows the enter dialog. The server returns data about the state of the kanturu event map. C1HeaderWithSubCode D1 01 KanturuEnterRequest 4 ClientToServer A player requests to enter the kanturu event map. The server checks, if entrance is possible and acts accordingly. C1HeaderWithSubCode D1 10 RaklionStateInfoRequest 4 ClientToServer ? ? C1HeaderWithSubCode D2 01 CashShopPointInfoRequest 4 ClientToServer The client needs information about how many cash shop points (WCoinC, WCoinP, GoblinPoints) are available to the player. The server returns the cash shop points information. C1HeaderWithSubCode D2 02 CashShopOpenState 5 ClientToServer The player opens or closes the cash shop dialog. In case of opening, the server returns if the cash shop is available. If the player is in the safezone, it's not. 4 Boolean IsClosed C1HeaderWithSubCode D2 03 CashShopItemBuyRequest 23 ClientToServer The player wants to buy an item in the cash shop. The item is bought and added to the cash shop item storage of the player. 4 IntegerLittleEndian PackageMainIndex 8 IntegerLittleEndian Category 12 IntegerLittleEndian ProductMainIndex 16 ShortLittleEndian ItemIndex 18 IntegerLittleEndian CoinIndex 22 Byte MileageFlag C1HeaderWithSubCode D2 04 CashShopItemGiftRequest 234 ClientToServer The player wants to send a gift to another player. The server buys the item with the credits of the player and sends it as gift to the other player. 4 IntegerLittleEndian PackageMainIndex 8 IntegerLittleEndian Category 12 IntegerLittleEndian ProductMainIndex 16 ShortLittleEndian ItemIndex 18 IntegerLittleEndian CoinIndex 22 Byte MileageFlag 23 String GiftReceiverName 11 34 String GiftText 200 C1HeaderWithSubCode D2 05 CashShopStorageListRequest 10 ClientToServer The player opened the cash shop dialog or used paging of the storage. In case of opening, the server returns if the cash shop is available. If the player is in the safezone, it's not. 4 IntegerLittleEndian PageIndex 8 Byte InventoryType C1HeaderWithSubCode D2 0A CashShopDeleteStorageItemRequest 234 ClientToServer The player wants to delete an item of the cash shop storage. The server removes the item from cash shop storage. 4 IntegerLittleEndian BaseItemCode 8 IntegerLittleEndian MainItemCode 12 Byte ProductType C1HeaderWithSubCode D2 0B CashShopStorageItemConsumeRequest 15 ClientToServer The player wants to get or consume an item which is in the cash shop storage. The item is applied or added to the inventory. 4 IntegerLittleEndian BaseItemCode 8 IntegerLittleEndian MainItemCode 12 ShortLittleEndian ItemIndex 14 Byte ProductType C1HeaderWithSubCode D2 13 CashShopEventItemListRequest 8 ClientToServer When the player wants to see through the event item list. The server sends a list with event items back. 4 IntegerLittleEndian CategoryIndex C1HeaderWithSubCode 83 00 UnlockVault 7 ClientToServer The player wants to unlock the protected vault with a pin. The vault lock state on the server is updated. VaultProtectionInformation is sent as response. 4 ShortLittleEndian Pin C1HeaderWithSubCode 83 01 SetVaultPin 27 ClientToServer The player wants to set a new pin for the vault when it's in unlocked state. The vault pin is set. VaultProtectionInformation is sent as response. 4 ShortLittleEndian Pin 6 String Password The password of the account, which is required to set a new vault pin. 20 C1HeaderWithSubCode 83 02 RemoveVaultPin 27 ClientToServer The player wants to remove the pin for the vault when it's in unlocked state. The vault pin is removed. VaultProtectionInformation is sent as response. 6 String Password The password of the account, which is required to remove the vault pin. 20 C1Header 82 VaultClosed 3 ClientToServer The player closed an opened vault dialog. The state on the server is updated. C1Header 81 VaultMoveMoneyRequest 8 ClientToServer The player wants to move money from or to the vault storage. The money is moved, if possible. 3 Enum VaultMoneyMoveDirection Direction 4 IntegerLittleEndian Amount VaultMoneyMoveDirection Defines the moving direction of money between inventory and vault. InventoryToVault The money is moved from the inventory to the vault. 0 VaultToInventory The money is moved from the vault to the inventory. 1 C1Header BC LahapJewelMixRequest Jewel Mix (Lahap) 7 ClientToServer When a player has the Lahap npc dialog open and wants to combine or disband jewel stacks. If successful, the inventory is updated and the game client gets corresponding responses. 3 Enum MixType Operation 4 Enum ItemType Item 5 Enum StackSize MixingStackSize 6 Byte UnmixingSourceSlot MixType Describes what kind of operation is requested. Mix The player wants to mix single jewels into a bundle. 0 Unmix The player wants to disband a bundle into single jewels. 1 StackSize Describes the size of a mixed stack. Ten A stack of 10 items. 0 Twenty A stack of 20 items. 1 Thirty A stack of 30 items. 2 ItemType Describes the type of item which is mixed or unmixed. JewelOfBless Jewel of Bless. 0 JewelOfSoul Jewel of Soul. 1 JewelOfLife Jewel of Life. 2 JewelOfCreation Jewel of Creation. 3 JewelOfGuardian Jewel of Guardian. 4 Gemstone The gemstone. 5 JewelOfHarmony Jewel of Harmony. 6 JewelOfChaos Jewel of Chaos. 7 LowerRefineStone Lower refine stone. 8 HigherRefineStone Higher refine stone. 9 C1Header 42 PartyListRequest 3 ClientToServer When the player opens the party menu in the game client. If the player is in a party, the server sends back a list with information about all players of the party. C1Header 43 PartyPlayerKickRequest 4 ClientToServer A party master wants to kick another player from his party, or when a player wants to kick himself from his party. If the sending player is the party master, or the player wants to kick himself, the target player is removed from the party. 3 Byte PlayerIndex C1Header 40 PartyInviteRequest 5 ClientToServer A party master wants to invite another player to his party. If the requesting player has no party, or is the party master, a request is sent to the target player. 3 ShortBigEndian TargetPlayerId C1Header 41 PartyInviteResponse 6 ClientToServer A player was invited by another player to join a party and this player sent the response back. If the sender accepts the request, it's added to the party. 3 Boolean Accepted 4 ShortBigEndian RequesterId C1Header D4 WalkRequest ClientToServer A player wants to walk on the game map. The player gets moved on the map, visible for other surrounding players. 3 Byte SourceX 4 Byte SourceY 5 0 Byte StepCount 4 5 4 Byte TargetRotation 4 6 Binary Directions The directions of the walking path. The target is calculated by taking the source coordinates and applying the directions to it. C1Header 10 WalkRequest075 ClientToServer A player wants to walk on the game map. The player gets moved on the map, visible for other surrounding players. 3 Byte SourceX 4 Byte SourceY 5 0 Byte StepCount 4 5 4 Byte TargetRotation 4 6 Binary Directions The directions of the walking path. The target is calculated by taking the source coordinates and applying the directions to it. C1Header 15 InstantMoveRequest 5 ClientToServer It's sent when the player performs specific skills. Usually, the player is moved instantly to the specified coordinates on the current map. In OpenMU, this request is not handled, because it allows hackers to "teleport" to any coordinates. 3 Byte TargetX 4 Byte TargetY C1Header 18 AnimationRequest 5 ClientToServer A player does any kind of animation. The animation number and rotation is forwarded to all surrounding players. 3 Byte Rotation 4 Byte AnimationNumber C1HeaderWithSubCode F3 00 RequestCharacterList Request Character List 5 ClientToServer After a successful login or after the player decided to leave the game world to go back to the character selection screen. The server sends the character list with all available characters. 4 Byte Language C1HeaderWithSubCode F3 01 CreateCharacter 15 ClientToServer The game client is at the character selection screen and the player requests to add a new character. The server checks if the player is allowed to create the character and sends a response back. 4 String Name The name of the character which should be created. 10 14 2 Enum CharacterClassNumber Class The character class of the character which should be created. 6 C1HeaderWithSubCode F3 02 DeleteCharacter 24 ClientToServer The game client is at the character selection screen and the player requests to delete an existing character. The server checks if the player transmitted the correct security code and if the character actually exists. If all is valid, it deletes the character from the account. It then sends a response with a result code back to the game client. 4 String Name The name of the character which should be deleted. 10 14 String SecurityCode A security code (7 bytes long). Some game clients/servers also expect to transmit the account password (up to 20 bytes long) here. In OpenMU, we work with the security here, but are not limiting to a length of 7 bytes. C1HeaderWithSubCode F3 03 SelectCharacter 14 ClientToServer The player selects a character to enter the game world on the character selection screen. The player joins the game world with the specified character. 4 String Name The name of the character with which the player wants to join the game world 10 C1HeaderWithSubCode F3 15 FocusCharacter 14 ClientToServer The player focuses (clicks on it) a character with which he plans to enter the game world on the character selection screen. The server checks if this character exists and sends a response back. If successful, the game client highlights the focused character. 4 String Name 10 C1HeaderWithSubCode F3 06 IncreaseCharacterStatPoint Character - Stat Point Increase 5 ClientToServer The player decides to add a stat point to a specific stat type, by pressing a plus-button in the character info menu. The server checks if a level-up-point is available. If yes, it adds the point to the specified stat type. It sends a response back to the client. 4 Enum CharacterStatAttribute StatType C3HeaderWithSubCode F3 10 InventoryRequest Character - Inventory request 4 ClientToServer The player bought or sold an item through his personal shop. The server sends the inventory list back to the client. C1HeaderWithSubCode F3 12 ClientReadyAfterMapChange 4 ClientToServer After the server sent a map change message and the client has initialized the game map visualization. The character is added to the internal game map and ready to interact with other entities. C1HeaderWithSubCode F3 30 SaveKeyConfiguration ClientToServer When leaving the game world with a character. The server saves this configuration in its database. 4 Binary Configuration The binary data of the key configuration C1HeaderWithSubCode F3 52 AddMasterSkillPoint 6 ClientToServer The player wants to add or increase the level of a specific master skill of the master skill tree. Adds or increases the master skill level of the specified skill, if the character is allowed to do that. A response is sent back to the client. 4 ShortLittleEndian SkillId C1Header 11 HitRequest 7 ClientToServer A player attacks a target without using a skill. Damage is calculated and the target is hit, if the attack was successful. A response is sent back with the caused damage, and all surrounding players get an animation message. 3 ShortBigEndian TargetId 5 Byte AttackAnimation 6 Byte LookingDirection C3Header 19 TargetedSkill 7 ClientToServer A player performs a skill with a target, e.g. attacking or buffing. Damage is calculated and the target is hit, if the attack was successful. A response is sent back with the caused damage, and all surrounding players get an animation message. 3 ShortBigEndian SkillId 5 ShortBigEndian TargetId C1Header 19 TargetedSkill075 6 ClientToServer A player performs a skill with a target, e.g. attacking or buffing. Damage is calculated and the target is hit, if the attack was successful. A response is sent back with the caused damage, and all surrounding players get an animation message. 3 Byte SkillIndex The index of the skill in the skill list. 4 ShortBigEndian TargetId C3Header 19 TargetedSkill095 6 ClientToServer A player performs a skill with a target, e.g. attacking or buffing. Damage is calculated and the target is hit, if the attack was successful. A response is sent back with the caused damage, and all surrounding players get an animation message. 3 Byte SkillIndex The index of the skill in the skill list. 4 ShortBigEndian TargetId C1Header 1B MagicEffectCancelRequest 7 ClientToServer A player cancels a specific magic effect of a skill, usually 'Infinity Arrow' and 'Wizardry Enhance'. The effect is cancelled and an update is sent to the player and all surrounding players. 3 ShortBigEndian SkillId 5 ShortBigEndian PlayerId C3Header 1E AreaSkill 13 ClientToServer A player is performing an skill which affects an area of the map. It's forwarded to all surrounding players, so that the animation is visible. In the original server implementation, no damage is done yet for attack skills - there are separate hit packets. 3 ShortBigEndian SkillId 5 Byte TargetX 6 Byte TargetY 7 Byte Rotation 10 ShortBigEndian ExtraTargetId 12 Byte AnimationCounter Animation counter which acts as a reference to the previously sent Area Skill Animation packet. C3Header DB AreaSkillHit ClientToServer An area skill was performed and the client decided to hit a target. The server is calculating the damage and applying it to the target. The attacker gets a response back with the caused damage. 3 ShortBigEndian SkillId 5 Byte TargetX 6 Byte TargetY 7 Byte HitCounter A sequential hit counter which should prevent that hits are sent multiple times. 8 Byte TargetCount Number of targets which will follow in the structure. 9 Structure[] TargetData Targets TargetCount TargetData Contains the data of the target 3 0 ShortBigEndian TargetId 2 Byte AnimationCounter A sequential animation counter which acts as a reference to the previously sent Area Skill Animation packet. C1Header 1E AreaSkill075 7 ClientToServer A player is performing an skill which affects an area of the map. It's forwarded to all surrounding players, so that the animation is visible. In the original server implementation, no damage is done yet for attack skills - there are separate hit packets. 3 Byte SkillIndex The index of the skill in the skill list. 4 Byte TargetX 5 Byte TargetY 6 Byte Rotation C1Header 1D AreaSkillHit075 ClientToServer An area skill was performed and the client decided to hit one or more targets. The server is calculating the damage and applying it to the targets. The attacker gets a response back with the caused damage. 3 Byte SkillIndex The index of the skill in the skill list. 4 Byte TargetX 5 Byte TargetY 6 Byte TargetCount The number of targets which are hit. 7 Structure[] TargetData Targets TargetCount TargetData Contains the data of the target 2 0 ShortBigEndian TargetId C3Header 1E AreaSkill095 7 ClientToServer A player is performing an skill which affects an area of the map. It's forwarded to all surrounding players, so that the animation is visible. In the original server implementation, no damage is done yet for attack skills - there are separate hit packets. 3 Byte SkillIndex The index of the skill in the skill list. 4 Byte TargetX 5 Byte TargetY 6 Byte Rotation C3Header 1D AreaSkillHit095 ClientToServer An area skill was performed and the client decided to hit one or more targets. The server is calculating the damage and applying it to the targets. The attacker gets a response back with the caused damage. 3 Byte SkillIndex The index of the skill in the skill list. 4 Byte TargetX 5 Byte TargetY 6 Byte Counter 7 Byte TargetCount The number of targets which are hit. 8 Structure[] TargetData Targets TargetCount TargetData Contains the data of the target 2 0 ShortBigEndian TargetId C3Header 4A RageAttackRequest 8 ClientToServer A player performs a skill with a target, e.g. attacking or buffing. Damage is calculated and the target is hit, if the attack was successful. A response is sent back with the caused damage, and all surrounding players get an animation message. 3 ShortBigEndian SkillId 6 ShortBigEndian TargetId C1Header 4B RageAttackRangeRequest 7 ClientToServer A player (rage fighter) performs the dark side skill on a target. The targets (up to 5) are determined and sent back to the player with the RageAttackRangeResponse. 3 ShortBigEndian SkillId 5 ShortBigEndian TargetId C1Header 3D TradeCancel 3 ClientToServer The player wants to cancel the trade. The trade is cancelled and the previous inventory state is restored. C1Header 3C TradeButtonStateChange 4 ClientToServer The player presses the trade button. The state change is forwarded to the trade partner. If both players press the trade button at the same time, the server will try to complete the trade by exchanging the items and money. 3 Enum TradeButtonState NewState C3Header 36 TradeRequest 5 ClientToServer The player requests to open a trade with another player. The request is forwarded to the requested player. 3 ShortBigEndian PlayerId C1Header 37 TradeRequestResponse 4 ClientToServer A requested player responded to a trade request of another player. When the trade request was accepted, the server tries to open a new trade and sends corresponding responses to both players. 3 Boolean TradeAccepted C1Header 3A SetTradeMoney 8 ClientToServer A player requests to set an amount of money in the trade. It's taken from the available money of the inventory. If the new money amount is lower than the amount which was set before, it's added back to the inventory. The trade partner is informed about any change. 4 IntegerLittleEndian Amount C1Header C8 LetterDeleteRequest 6 ClientToServer A player requests to delete a letter. The letter is getting deleted. 4 ShortLittleEndian LetterIndex C1Header C9 LetterListRequest 3 ClientToServer The game client requests the current list of letters. The server sends the list of available letters to the client. C4Header C5 LetterSendRequest ClientToServer A player wants to send a letter to another players character. The letter is sent to the other character, if it exists and the player has the required money. 4 IntegerLittleEndian LetterId 8 String Receiver 10 18 String Title 60 78 Byte Rotation 79 Byte Animation 80 ShortLittleEndian MessageLength 82 String Message C1Header C7 LetterReadRequest 6 ClientToServer A player requests to read a specific letter of his letter list. The server sends the requested letter content back to the game client. 4 ShortLittleEndian LetterIndex C1Header 53 Guild - Kick Player GuildKickPlayerRequest ClientToServer A guild member wants to kick himself or a guild master wants to kick another player from its guild. If the player is allowed to kick the player, it's removed from the guild. If the guild master kicks himself, the guild is disbanded. Corresponding responses are sent to all involved players. 3 String PlayerName 10 13 String SecurityCode C1Header 50 GuildJoinRequest 5 ClientToServer A player (non-guild member) requests to join a guild. The request is forwarded to the guild master. There can only be one request at a time. If the guild master already has an open request, a corresponding response is directly sent back to the requesting player. 3 ShortBigEndian GuildMasterPlayerId C1Header 51 GuildJoinResponse 6 ClientToServer A guild master responded to a previously sent request. If the request was accepted by the guild master, the previously requesting player is added to the guild. 3 Boolean Accepted 4 ShortBigEndian RequesterId C1Header 52 GuildListRequest 3 ClientToServer A guild player opens its guild menu in the game client. A list of all guild members and their state is sent back as response. C1Header 55 GuildCreateRequest 44 ClientToServer When a player wants to create a guild. The guild is created and the player is set as the new guild master of the guild. 4 String GuildName 8 12 Binary GuildEmblem 32 The guild emblem in a custom bitmap format. It supports 16 colors (one transparent) per pixel and has a size of 8 * 8 pixel. C1Header 55 GuildCreateRequest075 43 ClientToServer When a player wants to create a guild. The guild is created and the player is set as the new guild master of the guild. 3 String GuildName 8 11 Binary GuildEmblem 32 The guild emblem in a custom bitmap format. It supports 16 colors (one transparent) per pixel and has a size of 8 * 8 pixel. C1Header 54 GuildMasterAnswer 4 ClientToServer The player has the dialog of the guild master NPC opened and decided about its next step. It either cancels the guild creation or proceeds with the guild creation dialog where the player can enter the guild name and symbol. 3 Boolean ShowCreationDialog A value whether the guild creation dialog should be shown. Otherwise, the guild creation is cancelled and the dialog was closed. C1Header 57 CancelGuildCreation 3 ClientToServer The player has the dialog of the guild creation dialog opened and decided against creating a guild. It either cancels the guild creation. C1Header 61 GuildWarResponse 4 ClientToServer A guild master requested a guild war against another guild. If the guild master confirms, the war is declared. 3 Boolean Accepted C1Header 66 GuildInfoRequest 8 ClientToServer A player gets another player into view range which is in a guild, and the guild identifier is unknown (=not cached yet by previous requests) to him. The server sends a response which includes the guild name and emblem. 4 IntegerLittleEndian GuildId C1Header E1 GuildRoleAssignRequest 15 ClientToServer A guild master wants to change the role of a guild member. The server changes the role of the guild member. 3 Byte Type 1 Unknown value between 1 and 3. 4 Enum Role ServerToClient.GuildMemberRole 5 String PlayerName 10 C1Header E2 GuildTypeChangeRequest 4 ClientToServer A guild master wants to change the type of its guild. Didn't find any place in the client where this is sent. The server changes the kind of the guild. We assume it's whether the guild should be the main guild of an alliance, or not. Shouldn't be handled, because this is constant for the lifetime of an alliance. 3 Byte GuildType 0 = Common, 1 = Guard, FF = None. C1Header E5 GuildRelationshipChangeRequest 7 ClientToServer A guild master sends a request to another guild master about changing the relationship between their guilds. The server sends a response with the result. 3 Enum RelationshipType GuildRelationshipType 4 Enum RequestType GuildRequestType 5 ShortBigEndian TargetPlayerId C1Header E6 GuildRelationshipChangeResponse 8 ClientToServer A guild master answered the request to another guild master about changing the relationship between their guilds. The server sends a response back to the requester. If the guild master agreed, it takes the necessary actions. 3 Enum RelationshipType GuildRelationshipType 4 Enum RequestType GuildRequestType 5 Boolean Response 6 ShortBigEndian TargetPlayerId C1Header E9 RequestAllianceList 3 ClientToServer The player opens the alliance list dialog. The server answers with the list of the guilds of the alliance. C1HeaderWithSubCode EB 01 RemoveAllianceGuildRequest 12 ClientToServer An alliance guild master wants to remove a guild from the alliance. The server removes the guild from the alliance. 4 String GuildName C1Header 71 PingResponse 3 ClientToServer After the server sent a ping request. The server knows the latency between server and client. C3Header 34 ItemRepair 4 ClientToServer A player wants to repair an item of his inventory, either himself or with the usage of an NPC. If the item is damaged and repairable, the durability of the item is maximized and corresponding responses are sent back to the client. 3 Byte InventoryItemSlot The inventory slot of the target item. If it's 0xFF, the player requests to repair all items with the help of an NPC. If it's 8 (Pet slot), using the pet trainer NPC is mandatory, too. C1Header 86 ChaosMachineMixRequest 5 ClientToServer The player has the dialog of the chaos machine open and decided to mix (craft) the items which he put into the chaos machine dialog. Based on the type of mix and it's corresponding success rate, the mix succeeds or fails. The client gets a corresponding response with the created, changed or lost items. 3 Enum ChaosMachineMixType MixType The identifier which tells the server which kind of mix should be executed. 4 Byte SocketSlot The 0-based slot index of the socket at which a seed sphere should be mounted or removed. May only be available for the corresponding mixes, so access with care. ChaosMachineMixType This enum describes the possible chaos machine mix type identifiers. ChaosWeapon Mixes the items to a chaos weapon. 1 UpgradeItemLevelTo10 Upgrades an item to level 10. 3 UpgradeItemLevelTo11 Upgrades an item to level 11. 4 UpgradeItemLevelTo12 Upgrades an item to level 12. 22 UpgradeItemLevelTo13 Upgrades an item to level 13. 23 UpgradeItemLevelTo14 Upgrades an item to level 14. 49 UpgradeItemLevelTo15 Upgrades an item to level 15. 50 FruitCreation Mixes the items to a fruit. 6 GemstoneRefinery Refines a gemstone to a jewel of harmony. 41 PotionOfBless Refines a Jewel Of Bless to a stack of potions of bless. 15 PotionOfSoul Refines a Jewel Of Soul to a stack of potions of bless. 16 C1Header 87 CraftingDialogCloseRequest Close Crafting Dialog 3 ClientToServer A player closes the dialog which was opened by an interaction with the chaos machine goblin. The server updates the state of the player accordingly. C1Header C0 FriendListRequest 3 ClientToServer The client requests the current friend list. The server sends the friend list to the client. C1Header C1 FriendAddRequest 13 ClientToServer A player wants to add another players character into his friend list of the messenger. A request is sent to the other player. If the player is currently offline, the request will be sent as soon as he is online again. 3 String FriendName 10 C1Header C3 FriendDelete 13 ClientToServer A player wants to delete another players character from his friend list of the messenger. The entry in the friend list is removed. The player is shown as offline in the other players friends list. 3 String FriendName 10 C1Header CA ChatRoomCreateRequest 13 ClientToServer A player wants to open a chat with another player of his friend list. If both players are online, a chat room is created on the chat server. Authentication data is sent to both game clients, which will then try to connect to the chat server using this data. 3 String FriendName 10 C1Header C2 FriendAddResponse 14 ClientToServer A player received a friend request from another player and responded to it. If the player accepted, the friend is added to the players friend list and both players get subscribed about each others online status. 3 Boolean Accepted 4 String FriendRequesterName 10 C1Header C4 SetFriendOnlineState 4 ClientToServer A player wants to set himself on- or offline. Depending on the state, the player is shown as offline or online in all friend lists of his friends. 3 Boolean OnlineState C1Header CB ChatRoomInvitationRequest ClientToServer 19 A player wants to invite additional players from his friend list to an existing chat room. The player additional gets authentication data sent to his game client. It then connects to the chat server and joins the chat room. 3 String FriendName 10 13 ShortBigEndian RoomId 15 IntegerBigEndian RequestId C1Header A0 LegacyQuestStateRequest 3 ClientToServer After the player entered the game world with a character. The quest state is sent back as response. C1Header A2 LegacyQuestStateSetRequest 5 ClientToServer The player wants to change the state of a quest, e.g. to start or to finish a quest. Depending on the requested new state, a response is sent back. 3 Byte QuestNumber 4 Enum LegacyQuestState NewState C1Header A7 PetCommandRequest 7 ClientToServer The player wants to command its equipped pet (raven). 3 Enum PetType PetType 4 Enum PetCommandMode CommandMode 5 ShortBigEndian TargetId C1Header A9 PetInfoRequest 6 ClientToServer The player hovers over a pet. The client sends this request to retrieve information (level, experience) of the pet (dark raven, horse). The server sends a PetInfoResponse. 3 Enum PetType Pet 4 Enum StorageType Storage 5 Byte ItemSlot C1HeaderWithSubCode BF 00 IllusionTempleEnterRequest 6 ClientToServer The client has the NPC dialog for the illusion temple opened, and wants to enter the event map. The server checks if the player has the required ticket and moves the player to the event map. 4 Byte MapNumber 5 Byte ItemSlot C1HeaderWithSubCode BF 02 IllusionTempleSkillRequest 8 ClientToServer The player is in the illusion temple event and wants to perform a special skill (210 - 213), Order of Protection, Restraint, Tracking or Weaken. The server checks if the player is inside the event etc. and performs the skills accordingly. 4 ShortBigEndian SkillNumber 6 Byte TargetObjectIndex 7 Byte Distance C1HeaderWithSubCode BF 05 IllusionTempleRewardRequest 4 ClientToServer The player requests the reward of the event. The server checks if the player is in the winning game and returns a reward, usually as item drop. C1HeaderWithSubCode BF 0B LuckyCoinCountRequest 4 ClientToServer The player has the lucky coin dialog open and requests the current count of the registered coins. The server returns the count of the registered coins. C1HeaderWithSubCode BF 0C LuckyCoinRegistrationRequest 4 ClientToServer The player has the lucky coin dialog open and requests to register one lucky coin, which is in his inventory. The server returns the result of the registration increases the coin count and decreases the coin durability by one. C1HeaderWithSubCode BF 0D LuckyCoinExchangeRequest 8 ClientToServer The player has the lucky coin dialog open and requests an exchange for the specified number of registered coins. The server adds an item to the inventory of the character and sends a response with a result code. 4 IntegerLittleEndian CoinCount C1HeaderWithSubCode BF 0E DoppelgangerEnterRequest 5 ClientToServer The player wants to enter the doppelganger event. The server checks the event ticket and moves the player to the event map. 4 Byte TicketItemSlot C1HeaderWithSubCode BF 17 EnterMarketPlaceRequest 4 ClientToServer The player wants to enter the market place map. The server moves the player to the market place map. C1HeaderWithSubCode BF 51 MuHelperStatusChangeRequest 5 ClientToServer The client clicked on MU Helper play or pause button. The server validates, if user can use the helper and sends the status back. 4 Boolean PauseStatus C2Header AE MuHelperSaveDataRequest 261 ClientToServer The client want to save current MU Helper data. The server should save supplied MU Helper data. 4 Binary HelperData 257 C1HeaderWithSubCode F6 0A QuestSelectRequest 9 ClientToServer The client opened an quest NPC dialog and selected an available quests. If the quest is already active, it responds with the QuestProgress. If the quest is inactive, the server decides if the character can start the quest and responds with a QuestStepInfo with the StartingNumber. A character can run up to 3 concurrent quests at a time. 4 ShortLittleEndian QuestNumber 6 ShortLittleEndian QuestGroup 8 Byte SelectedTextIndex A 1-based index of the selected index in the dialog. It's 0 when no text has been selected. It's not clear yet, when we need that. C1HeaderWithSubCode F6 0B QuestProceedRequest 9 ClientToServer After the server started a quest (and sent a F60B message) the game client requests to proceed with the quest. The quest state is set accordingly on the server. The next response seems to depend on the quest configuration. Depending on the action of the next quest state, the server will send either a quest progress message (F60C) or again a quest start message (F60B). 4 ShortLittleEndian QuestNumber 6 ShortLittleEndian QuestGroup 8 Enum QuestProceedAction ProceedAction QuestProceedAction Describes how to proceed with the specified quest. Undefined Undefined action. 0 AcceptQuest The quest is accepted and started. 1 RefuseQuest The quest is refused and not started. 2 C1HeaderWithSubCode F6 0D QuestCompletionRequest 8 ClientToServer The game client requests to complete an active quest. The server checks the conditions to complete the quest. If this fails, nothing happens. If all conditions are met, the reward is given to the player and the quest state is set accordingly, so that the player can select to start the next quest. Additionally, the quest completion response message (F60D) is sent to the client. 4 ShortLittleEndian QuestNumber 6 ShortLittleEndian QuestGroup C1HeaderWithSubCode F6 0F QuestCancelRequest 8 ClientToServer The game client requests to cancel an active quest. The server checks if the quest is currently in progress. In this case, the quest state is reset and a response (F60F) is sent back to the client. 4 ShortLittleEndian QuestNumber 6 ShortLittleEndian QuestGroup C1HeaderWithSubCode F6 10 QuestClientActionRequest 8 ClientToServer The game client requests to complete a client action, e.g. completing a tutorial. The server checks if the specified quest is currently in progress. If the quest got a Condition (condition type 0x10) for this flag, the condition is flagged as fulfilled. 4 ShortLittleEndian QuestNumber 6 ShortLittleEndian QuestGroup C1HeaderWithSubCode F6 1A ActiveQuestListRequest 4 ClientToServer The clients requests the states of all quests, usually after entering the game. The list of active quests is sent back (F61A) without changing any state. This list just contains all running or completed quests for each group. C1HeaderWithSubCode F6 1B QuestStateRequest 8 ClientToServer The game client requests the state of a specific active quests. The quest state is sent back (F61B) without changing any state, if the quest is currently in progress. 4 ShortLittleEndian QuestNumber 6 ShortLittleEndian QuestGroup C1HeaderWithSubCode F6 21 EventQuestStateListRequest 4 ClientToServer The game client requests the list of event quests, usually after entering the game. The server may answer with a response which seems to depend if the character is member of a Gen or not. If it's not in a gen, it sends a response (F603). C1HeaderWithSubCode F6 30 AvailableQuestsRequest 4 ClientToServer The client opened an quest NPC dialog and requests a list of available quests. The list of available quests of this NPC is sent back (F60A). C1HeaderWithSubCode F6 31 NpcBuffRequest 4 ClientToServer The game client requests to get a buff from the currently interacting quest npc. As far as we know, only the Elf Soldier NPC offers such a buff until a certain character level (150 or 220). The server should check if the correct Quest NPC (e.g. Elf Soldier) dialog is opened and the player didn't reach the level limit yet. If that's both the case, it adds a defined buff (MagicEffect) to the player; Otherwise, a message is sent to the player. C1HeaderWithSubCode F7 01 EnterEmpireGuardianEvent 5 ClientToServer The player wants to enter the empire guardian event due an npc dialog. The checks if the player can enter the event, and moves it to the event, if possible. 4 Byte ItemSlot The item slot of the event ticket. Not used by the server. 01 C1HeaderWithSubCode F8 01 GensJoinRequest 5 ClientToServer The player has opened one of the gens NPCs and requests to join it. The server checks if the player is not in a gens already and joins the player to the selected gens. 3 Enum GensType GensType C1HeaderWithSubCode F8 03 GensLeaveRequest 4 ClientToServer The player wants to leave the current gens. The server the player from the gens. C1HeaderWithSubCode F8 09 GensRewardRequest 5 ClientToServer The game client requests to get a reward from the gens npc. The server checks if the player has enough points to get the reward, and sends a response. 3 Enum GensType GensType C1HeaderWithSubCode F8 0B GensRankingRequest 4 ClientToServer The game client requests information about the current gens ranking. The server returns the current gens rankinginformation. C1Header 90 DevilSquareEnterRequest 5 ClientToServer The player requests to enter the devil square through the Charon NPC. The server checks if the player can enter the event and sends a response (Code 0x90) back to the client. If it was successful, the character gets moved to the event map. 3 Byte SquareLevel The level of the devil square, minus 1. 4 Byte TicketItemInventoryIndex The index of the ticket item in the inventory. Be aware, that the value is 12 higher than it should be - it makes no sense, but it is what it is... C1Header 91 MiniGameOpeningStateRequest 5 ClientToServer The player requests to get the remaining time of the currently entered event. The remaining time is sent back to the client. 3 Enum MiniGameType EventType 4 Byte EventLevel C1Header 95 EventChipRegistrationRequest 5 ClientToServer The player registers an event item at an NPC, usually the golden archer. A response is sent back to the client with the current event chip count. 3 Byte Type 4 Byte ItemIndex C1Header 96 MutoNumberRequest 3 ClientToServer The player requests information about the Muto number. Unused. A response is sent back to the client with the current Muto number. C1Header 97 EventChipExitDialog 3 ClientToServer The player requests to close the event chip dialog. The event chip dialog will be closed. C1Header 98 EventChipExchangeRequest 4 ClientToServer The player requests to exchange the event chips to something else. A response is sent back to the client with the exchange result. 3 Byte Type C3Header 99 ServerImmigrationRequest ClientToServer Unknown? Unknown? 3 String SecurityCode C1Header 9D LuckyNumberRequest 18 ClientToServer The player requests to redeem a coupon code (lucky number) which is 12 alphanumeric digits long. A response is sent back to the client with the result. An item could be rewarded to the inventory. 3 String Serial1 4 8 String Serial2 4 13 String Serial3 4 C1Header 9A BloodCastleEnterRequest 5 ClientToServer The player requests to enter the blood castle through the Archangel Messenger NPC. The server checks if the player can enter the event and sends a response (Code 0x9A) back to the client. If it was successful, the character gets moved to the event map. 3 Byte CastleLevel The level of the battle square. 4 Byte TicketItemInventoryIndex The index of the ticket item in the inventory. Be aware, that the value is 12 higher than it should be - it makes no sense, but it is what it is... C1Header 9F MiniGameEventCountRequest 4 ClientToServer The player requests to get the entering count of the specified mini game. The remaining time is sent back to the client. However, it's not really handled on the known server sources. 3 Enum MiniGameType MiniGame C1HeaderWithSubCode AF 01 ChaosCastleEnterRequest 6 ClientToServer The player requests to enter the chaos castle by using the 'Armor of Guardsman' item. The server checks if the player can enter the event and sends a response (Code 0xAF) back to the client. If it was successful, the character gets moved to the event map. 4 Byte CastleLevel The level of the chaos castle. Appears to always be 0. 5 Byte TicketItemInventoryIndex The index of the ticket item in the inventory. C1HeaderWithSubCode AF 02 ChaosCastlePositionSet 6 ClientToServer The game client noticed, that the coordinates of the player is not on the ground anymore. It requests to set the specified coordinates. The server sets the player on the new coordinates. Not handled on OpenMU. 4 Byte PositionX 5 Byte PositionY C3HeaderWithSubCode AA 01 DuelStartRequest 16 ClientToServer The player requests to start a duel with another player. The server sends a request to the other player. 4 ShortBigEndian PlayerId 6 String PlayerName 10 C3HeaderWithSubCode AA 02 DuelStartResponse 17 ClientToServer A player requested to start a duel with the sending player. Depending on the response, the server starts the duel, or not. 4 Boolean Response 5 ShortLittleEndian PlayerId 7 String PlayerName 10 C3HeaderWithSubCode AA 03 DuelStopRequest 4 ClientToServer A player requested to stop the duel. The server stops the duel. C3HeaderWithSubCode AA 07 DuelChannelJoinRequest 5 ClientToServer A player requested to join the duel as a spectator. The server will add the player as spectator. 4 Byte ChannelId C3HeaderWithSubCode AA 09 DuelChannelQuitRequest 4 ClientToServer A player requested to quit the duel as a spectator. The server will remove the player as spectator. C1Header FA HeykelSavasiTeamSelect 4 ClientToServer A player selects a team (Red or Blue) in the Heykel Savasi (Statue War) team selection panel. The server assigns the player to the requested team, if possible, and updates the event state accordingly. 3 Byte Team 1 = Red team, 2 = Blue team. C1HeaderWithSubCode F5 00 ChatCommandListRequest Request chat command list 4 ClientToServer A client which supports a user interface for chat commands requests the list of commands which are available to the player. It's usually sent after the character entered the game world. The server sends a ChatCommandInfo for each available chat command. TradeButtonState The state of the trade button. Unchecked Trade button is not pressed. It means that the trade is not yet accepted by the trader. 0 Checked Trade Button is pressed. It means that the trade is accepted by the trader. 1 Red This state is only sent to the client. After some seconds the client is changing back to normal Unchecked. 2 StorageType Describes the type of storage. Inventory The inventory of the player. 0 Vault The vault of the player. 1 TradeOwn The own trading storage. 2 TradeOther The trading storage of the other player. 3 Crafting The crafting storage of the player. 4 PersonalShop The shop storage of another player. 5 NpcShop The shop storage of an NPC (merchant). 6 InventoryPetSlot The inventory slot of the pet. That's used when a pet leveled up. 254 PetType Describes the type of pet. DarkRaven The dark raven pet. 0 DarkHorse The dark horse pet. 1 PetCommandMode Describes the pet command mode. Normal The pet is in a normal mode, where it doesn't attack. 0 AttackRandom The pet attacks random targets. 1 AttackWithOwner The pet attacks the same targets as the owner. 2 AttackTarget The pet attacks a specific target until it's dead. 3 GensType Describes the gens type. Undefined The undefined gens type. 0 Duprian The Duprian gens. 1 Vanert The Vanert gens. 2 GuildRelationshipType Describes the relationship type between guilds. Undefined The undefined relationship type. 0 Alliance The alliance relationship type. 1 Hostility The hostility relationship type. 2 GuildRequestType Describes the request type. Undefined The undefined request type. 0 Join The join type. 1 Leave The leave type. 2