Jump to content
  1. Network Encryption

    This page aims to explain the current two cryptation algorithms known to be used by M2 for encrypting and decrypting network data.
    Keys are reported as two 64-bit integers (first number, second number) in hexadecimal.
    NOTE: The encryption will start after a Phase packet once the Handshake is finished, therefore both the first Phase packet and the Handshake packets are not encrypted.
     
    XTEA Encryption
    This encryption is divided in two phases, Auth Phase and Game Phase.
    Every packet that uses this encryption gets encrypted and decrypted with the TEA algorithm and a TEA key.
    This encryption was used starting from 2004 to 2011/2013. (Before revision 34k was introduced)
    The encryption works by having two XTEA keys, the first one (Referred as Auth phase key) is a static 16 bytes key used in the first stage of the communication, this key will be used until a Client has attempted to log in into a Channel (any core that is not an Auth one) with the login key method. Once the client sends a Login packet to a channel, it will also send it's encryptation keys where the server's encryptation keys will be computed. The keys will be changed IMMEDIATLY, no extra packet or data is needed to change the keys. This generated second keys are referred as Game phase keys.
    The client computes it's decryptation key (likewise, the server computes it's encryptation key) by performing an XTEA of the encryptation key (decryptation key for the server) with a Special key.
     
    Key list
    Auth phase keys (Both for encrypting and decrypting) Usage First number Second number Notes Worldwide 0x7473657474736574 0x7473657474736574 ASCII: testtesttesttest European servers 0x6867666538373635 0x6463626134333231 ASCII: 1234abcd5678efgh  
    Special keys
    The Special key was generated by the Client and the Server during the login into the Game core, it is known that in very old version of M2 (such as the Korean 2003 beta) the following hardcoded key might be used rather than a random generated one.
    Special keys Usage First number Second number Notes Korean server 0x6a6c48747854794a 0x726f484a566c4a48 ASCII: JyTxtHljHJlVJHor  
    Diffie-Hellman key exchange
    The improved packet cryptation is performed by choosing a suitable cipher based from the shared secret that is exchanged with Diffie-Hellman.
    This encryption is used from 2011/2013 to today.
    NOTE: The handshake phase is not encrypted.
     
    Unified Diffie-Hellman key exchange
    Initialize RFC 5114's 1024-bit MODP standarized parameters (p, g, q) Randomly generate a Static and Ephemeral public and private keys with Unified Diffie-Hellman. Pass the shared secret length and public keys to the network and perform an agreement with the received public keys and shared secret length.  
    Cipher choose
    Takes the remained of the first byte in the shared secret block with the shared secret size. This number will determine where the first cipher number that is stored in the shared secret block. Takes the remained of the second byte in the shared secret block with the shared secret size. This number will determine where the second cipher number that is stored in the shared secret block. Takes the remained of this two bytes generated from the secret block with the max algorithms supported and pick an algorithm. The shared secret block contain the algorithm's keys and a block data (a random block is being used because some algorithms do not support IV), that will be used to crypt the packets. The selected cipher will be processed with CTR Mode and the generated IV If the keys are generated by the server, the first cipher will be the encryptation cipher. the second will be the decryptation cipher. The keys are inverted in client side. (The lengths are the default lengths assigned to the algorithm)
     
    Appendix
    Secret block content:
    Start of shared data first key second key non important data second IV first IV End of shared data  
    List of known algorithms:
    RC6 MARS Twofish Serpent CAST256 IDEA DES-EDE2 (Triple DES) Camellia SEED RC5 Blowfish TEA SHACAL2
  2. Packets

    This page aims to explain how packets are handled in terms of structure and functionality
      Properties
    A packet has several data properties, them being game and networking information as:
    Header - A byte that identifies the packet Data - The data that is being sent/received Sequence - A byte that signs if the packet is sequenced On sending/receiving packets may be encrypted, check Network Encryption for more information
     
    Structure
    The packets have two different structures, constant and dynamic The goals of each type is predefined by the type of data handled
    Note: The sequence byte is always the last byte in a packet, no matter the structure and its optional  
    Constant
    The constant packet structure follows the expected order of data:
    Structure Type Size (bytes) Description Header 1 Byte The number identifier of the packet Data X Bytes The expected constant data values Sequence 1 Byte The sequence value which defines if this packet is sequenced (optional)  
    Dynamic
    The dynamic packet structure follows the expected order of data:
    Structure Type Size (bytes) Description Header 1 Byte The number identifier of the packet Size 2 Bytes The size of the entire packet, Header + Size + Data (excluding sequence) Data ? Bytes The expected dynamic data values Sequence 1 Byte The sequence value which defines if this packet is sequenced (optional)  
    Flow/Direction
    The packets have different type denominations of directions regarding from who to who they are sent:
    CG(Client Game) - Client to Server GC(Game Client) - Server to Client GG(Game Game) - Server to Server GD(Game Database - Server to Database DG(Database Game) - Database to Server Note: The meaning of 'Server' in this case is a server core such authentication/game core and the meaning of 'Database' is the database core
     
    Known Packets
    Here is a list table of the known packets and its directions:
    Client to Server
    Client to Game - CG Header Identification - Byte (Hex) Description Sequenced Structure 1 (0x01) Holds account credentials to perform a login True #CG Packet Login 2 (0x02) Holds target, attack and cube information to perform several actions True #CG Packet Attack 3 (0x03) Holds length and type of a chat string to perform a chat command True #CG Packet Chat 4 (0x04) Holds information to create a new character True #CG Packet Player Create 5 (0x05) Holds an index and a key to delete an existing character True #CG Packet Player Destroy 6 (0x06) Holds an index to select an existing character True #CG Packet Player Select 7 (0x07) Holds movement, positional and duration information to move the main character True #CG Packet Player Move 8 (0x08) Holds identification and positional information of entities to perform synchronization True #CG Packet Sync Position 9 (0x09) Holds account credentials and character index to perform a direct entrance in the game True #CG Packet Direct Enter 10 (0xA) Signals the server to enter the game world True #CG Packet Enter Game 11 (0xB) Holds inventory position to perform an item use True #CG Packet Item Use 12 (0xC) Holds inventory position and Elk(game currency) to perform an item/elk drop in the game world True #CG Packet Item Drop 13 (0xD) Holds source, target position and count to perform a item move inside the inventory True #CG Packet Item Move 15 (0xF) Holds position of game world item to perform a pickup True #CG Packet Pickup 16 (0x10) Holds position and quickslot information to perform a quickslot addition True #CG Packet Quickslot Add 17 (0x11) Holds position to perform a quickslot removal True #CG Packet Quickslot Delete 18 (0x12) Holds source and target position to perform a quickslot swap True #CG Packet Quickslot Swap 19 (0x13) Holds a chat string to perform a whisper action True #CG Packet Whisper 20 (0x14) Holds inventory position and Gold(game currency) to perform an item/gold drop in the game world True #CG Packet Item Drop 2 26 (0x1A) Holds entity information to perform a click action True #CG Packet On Click 28 (0x1C) Holds character position information (undefined reason) True #CG Packet Character Position 29 (0x1D) Holds answer information for a script/quest True #CG Packet Script Answer 30 (0x1E) Holds an input string for a quest response True #CG Packet Quest Input String 31 (0x1F) Holds answer information for a quest confirmation True #CG Packet Quest Confirm
  3. Packets ServerClient

    A list of the known Server to Client packets aka Game Client(GC
     
    Structures
    Here are the following packet content regarding the list:
     
    GC Packet Character Add
    Header: 1 (0x01) Type: Constant Sequenced: True Description: A packet used to add a character instance Structure Name Type Size (bytes) Description vid unsigned long 8 The virtual id of the character angle float 8 The angle of the character x long 8 The X position of the character y long 8 The Y position of the character z long 8 The Z position of the character type unsigned char 8 The type of the character race unsigned short 8 The race/sex of the character movementSpeed unsigned char 8 The movement speed of the character attackSpeed unsigned short 8 The attack speed of the character stateFlag unsigned short 1 The state flag of the character affectFlags unsigned long[2] 16 The affect flags of the character  
    GC Packet Character Delete
    Header: 2 (0x02) Type: Constant Sequenced: True Description: A packet used to delete a character instance by virtual id Structure Name Type Size (bytes) Description vid unsigned long 8 The virtual id of the character  
    GC Packet Character Move
    Header: 3 (0x03) Type: Constant Sequenced: True Description: A packet used to move a character instance Structure Name Type Size (bytes) Description function unsigned char 1 The function of the movement argument unsigned char 1 The argument to the function rotation unsigned char 1 The rotation of the character vid unsigned long 8 The virtual id of the character x long 8 The X position of the movement y long 8 The Y position of the movement time unsigned long 8 The time of the movement duration unsigned long 8 The duration of the movement  
    GC Packet Chat
    Header: 4 (0x04) Type: Constant Sequenced: True Description: A packet used to handle a new chat message Structure Name Type Size (bytes) Description size unsigned short 2 The size of the message type unsigned char 1 The type of the message vid unsigned long 8 The virtual id of the sender(?) empire unsigned char 1 The empire from where the message was sent message char 1012 (up to) The chat message  
    GC Packet Sync Position
    Header: 5 (0x05) Type: Constant Sequenced: True Description: A packet used to sync position Structure Name Type Size (bytes) Description vid (ordered, repeatable) unsigned long 8 The virtual id of the entity x (ordered, repeatable) long 8 The X position of the entity y (ordered, repeatable) long 8 The Y position of the entity
  4. Packets ClientServer

    This page aims to list the Client to Server packet information.
    A list of the known Client to Server packets aka Client Game(CG)
     
    Structures
    Here are the following packet content regarding the Packets list:
     
    CG Packet Login
    Header: 1 (0x01) Type: Constant Sequenced: True Description: A packet used to send basic account credentials to the server in order to make login Structure Name Type Size (bytes) Description name char 31 The account username characters password char 17 The account password characters  
    CG Packet Attack
    Header: 2 (0x02) Type: Constant Sequenced: True Description: A packet used to send attack and magic cube information to the server Structure Name Type Size (bytes) Description type unsigned char 1 The type of attack to perform victim unsigned long 4 The account password characters magicCubeProcessPieceCRC unsigned char 1 The CRC of the magic cube process procedure magicCubeProcessFileCRC unsigned char 1 The CRC of the magic cube process file  
    CG Packet Chat
    Header: 3 (0x03) Type: Constant Sequenced: True Description: A packet used to send a chat message to the server Structure Name Type Size (bytes) Description length unsigned short 2 The length of the message type char 1 The type of the message message char length The message to send  
    CG Packet Player Create
    Header: 4 (0x04) Type: Constant Sequenced: True Description: A packet used to create a new character Structure Name Type Size (bytes) Description index unsigned char 1 The slot index in the account name char 24 The name of the character job unsigned short 2 The race and sex of the character shape unsigned char 1 The model index of the character con unsigned char 1 The CON stat attribute of the character int unsigned char 1 The INT stat attribute of the character str unsigned char 1 The STR stat attribute of the character dex unsigned char 1 The DEX stat attribute of the character  
    CG Packet Player Destroy
    Header: 5 (0x05) Type: Constant Sequenced: True Description: A packet used to delete an existing character Structure Name Type Size (bytes) Description index unsigned char 1 The slot index in the account name char 8 The character deletion code  
    CG Packet Player Select
    Header: 6 (0x06) Type: Constant Sequenced: True Description: A packet used to select a character Structure Name Type Size (bytes) Description index unsigned char 1 The slot index in the account  
    CG Packet Character Move
    Header: 7 (0x07) Type: Constant Sequenced: True Description: A packet used to delete an existing character Structure Name Type Size (bytes) Description function unsigned char 1 The action/function to perform argument unsigned char 1 The argument for the action/function x long 8 The X target position to move into y long 8 The Y target position to move into time unsigned long 8 The current time of the server  
    CG Packet Sync Position
    Header: 8 (0x08) Type: Dynamic Sequenced: True Description: A packet used to synchronize the position of entities Structure Name Type Size (bytes) Description vid (ordered, repeatable) unsigned long 8 The virtual id of the entity x (ordered, repeatable) long 8 The X position of the entity y (ordered, repeatable) long 8 The Y position of the entity  
    CG Packet Direct Enter
    Header: 9 (0x09) Type: Constant Sequenced: True Description: A packet used to synchronize the position of entities Structure Name Type Size (bytes) Description index unsigned char 1 username char 31 password char 17  
    CG Packet Enter Game
    Header: 10 (0xA) Type: Constant Sequenced: True Description: A packet used to synchronize the position of entities Structure Name Type Size (bytes) Description index unsigned char 1 username char 31 password char 17  
    CG Packet Item Use
    Header: 11 (0xB) Type: Constant Sequenced: True Description: A packet used to use an item from an inventory Structure Name Type Size (bytes) Description windowType unsigned char 1 The type of window cell unsigned short 2 The cell of the window  
    CG Packet Item Drop
    Header: 12 (0xC) Type: Constant Sequenced: True Description: A packet used to drop an item from an inventory Structure Name Type Size (bytes) Description windowType unsigned char 1 The type of window cell unsigned short 2 The cell of the window money unsigned long 8 The money/gold currency to drop (if any)  
    CG Packet Item Move
    Header: 13 (0xD) Type: Constant Sequenced: True Description: A packet used to move an item within inventories Structure Name Type Size (bytes) Description sourceWindowType unsigned char 1 The type of window sourceCell unsigned short 2 The cell of the window targetWindowType unsigned char 1 The type of window targetCell unsigned short 2 The cell of the window amount unsigned char 1 The amount of the stacked item to move  
    CG Packet Item Pickup
    Header: 15 (0xF) Type: Constant Sequenced: True Description: A packet used to move an item within inventories Structure Name Type Size (bytes) Description vid unsigned long 8 The virtual id of the item in the game world  
    CG Packet Quickslot Add
    Header: 16 (0x10) Type: Constant Sequenced: True Description: A packet used to add an item into a quickslot Structure Name Type Size (bytes) Description position unsigned char 1 The global position of the item position unsigned char 1 The global position of the item quickslotType unsigned char 1 The type of quickslot quickslotPosition unsigned char 1 The position in the quickslot  
    CG Packet Quickslot Delete
    Header: 17 (0x11) Type: Constant Sequenced: True Description: A packet used to delete an item from the quickslot Structure Name Type Size (bytes) Description position unsigned char 1 The global position of the item  
    CG Packet Quickslot Swap
    Header: 18 (0x12) Type: Constant Sequenced: True Description: A packet used to delete an item from the quickslot Structure Name Type Size (bytes) Description sourcePosition unsigned char 1 The global position of the item to swap targetPosition unsigned char 1 The global position to swap into  
    CG Packet Whisper
    Header: 19 (0x13) Type: Dynamic Sequenced: True Description: A packet used to send a whisper message Structure Name Type Size (bytes) Description name char 25 The name of who to send the whisper message to message char 255 (up to) The message to whisper  
    CG Packet Item Drop 2
    Header: 20 (0x14) Type: Constant Sequenced: True Description: A packet used to drop an item amount from an inventory Structure Name Type Size (bytes) Description windowType unsigned char 1 The type of window cell unsigned short 2 The cell of the window money unsigned long 8 The money/gold currency to drop (if any) amount unsigned char 1 The amount of the item to drop  
    CG Packet On Click
    Header: 26 (0x1A) Type: Constant Sequenced: True Description: A packet used to click on a entity Structure Name Type Size (bytes) Description vid unsigned long 8 The virtual id of the entity  
    CG Packet Exchange
    Header: 27 (0x1B) Type: - Sequenced: True Description: A packet used to make exchange operations with another player Structure Name Type Size (bytes) Description subHeader unsigned char 1 The sub header                                           
    Subheader Exchange Start
    SubHeader: 0 (0x0) - Type: Constant Description: Starts an exchange with a player Structure Name Type Size (bytes) Description vid unsigned long 8 The virtual id of the character                              
    Subheader Exchange Item Add
    SubHeader: 1 (0x1) - Type: Constant Description: Adds an item to the exchange Structure Name Type Size (bytes) Description position unsigned char 1 The position of the item in the exchange windowType unsigned char 1 The type of window cell unsigned short 2 The cell of the window  
    Subheader Exchange Item Delete
    SubHeader: 2 (0x2) - Type: Constant Description: Removes an item from the exchange Structure Name Type Size (bytes) Description position unsigned long 1 The position of the item in the exchange  
    Subheader Exchange Elk Add
    SubHeader: 3 (0x3) - Type: Constant Description: Adds elk/gold/money currency to the exchange Structure Name Type Size (bytes) Description elk unsigned long 1 The amount of elk/gold/money to add  
    Subheader Exchange Accept
    SubHeader: 4 (0x4) - Type: Constant Description: Accepts the current exchange empty Structure Name Type Size (bytes) Description  
    Subheader Exchange Cancel
    SubHeader: 5 (0x5) - Type: Constant Description: Cancels the current exchange empty Structure Name Type Size (bytes) Description  
    CG Packet Character Position
    Header: 28 (0x1C) Type: Constant Sequenced: True Description: Undefined Structure Name Type Size (bytes) Description position unsigned char 1 The position of a character (?)  
    CG Packet Script Answer
    Header: 29 (0x1D) Type: Constant Sequenced: True Description: A packet used to answer a script(quest) Structure Name Type Size (bytes) Description answer unsigned char 1 The index of the answer  
    CG Packet Quest Input String
    Header: 30 (0x1E) Type: Constant Sequenced: True Description: A packet used to send a quest input string Structure Name Type Size (bytes) Description string char 64 The input string  
    CG Packet Quest Confirm
    Header: 31 (0x1F) Type: Constant Sequenced: True Description: A packet used to confirm/answer a quest Structure Name Type Size (bytes) Description answer unsigned char 1 The index of the answer request unsigned long 8 The id of the request  
    CG Packet Shop
    Header: 50 (0x32) Type: - Sequenced: True Description: A packet used to make interaction with the Shop system Structure Name Type Size (bytes) Description subHeader unsigned char 1 The sub header                                           
    Subheader Shop End
    SubHeader: 0 (0x0) - Type: Constant Description: Closes the active shop Structure Name Type Size (bytes) Description empty                             
    Subheader Shop Buy
    SubHeader: 1 (0x1) - Type: Constant Description: Buys an item from the shop Structure Name Type Size (bytes) Description amount unsigned char 1 The amount to buy (default 1) position unsigned char 1 The position of the item  
    Subheader Shop Sell
    SubHeader: 2 (0x2) - Type: Constant Description: Sells an item to the shop Structure Name Type Size (bytes) Description position unsigned long 1 The position of the item in the inventory  
    Subheader Shop Sell 2
    SubHeader: 3 (0x3) - Type: Constant Description: Sells an item to the shop Structure Name Type Size (bytes) Description position unsigned char 1 The position of the item amount unsigned char 1 The amount to buy  
    Subheader Exchange Elk Add
    SubHeader: 3 (0x3) - Type: Constant Description: Adds elk/gold/money currency to the exchange Structure Name Type Size (bytes) Description elk unsigned long 1 The amount of elk/gold/money to add  
    Subheader Exchange Accept
    SubHeader: 4 (0x4) - Type: Constant Description: Accepts the current exchange empty Structure Name Type Size (bytes) Description  
    Subheader Exchange Cancel
    SubHeader: 5 (0x5) - Type: Constant Description: Cancels the current exchange empty Structure Name Type Size (bytes) Description  
    CG Packet Fly Target
    Header: 51 (0x33) Type: Constant Sequenced: True Description: A packet used to send a fly target into a position Structure Name Type Size (bytes) Description target unsigned long 8 The target virtual id x long 8 The X global position of the target y long 8 The Y global position of the target  
    CG Packet Use Skill
    Header: 52 (0x34) Type: Constant Sequenced: True Description: A packet used to use a skill onto a target in the game world Structure Name Type Size (bytes) Description vnum unsigned long 8 The virtual number index of the skill target unsigned long 8 The target virtual id  
    CG Packet Add Fly Target
    Header: 53 (0x35) Type: Constant Sequenced: True Description: A packet used to add a fly target into a position Structure Name Type Size (bytes) Description target unsigned long 8 The target virtual id x long 8 The X global position of the target y long 8 The Y global position of the target  
    CG Packet Shoot
    Header: 53 (0x35) Type: Constant Sequenced: True Description: A packet used to shoot a target with a skill Structure Name Type Size (bytes) Description type unsigned char 1 The type/vnum of the skill  
    CG Packet My Shop
    Header: 55 (0x37) Type: Constant Sequenced: True Description: A packet used to create a private shop Structure Name Type Size (bytes) Description name unsigned char 33 The type/vnum of the skill count unsigned char 1 The amount of items to sell vnum (repeatable, ordered) unsigned long 8 The vnum of the item amount (repeatable, ordered) unsigned char 1 The amount to buy windowType (repeatable, ordered) unsigned char 1 The type of the window windowCell (repeatable, ordered) unsigned short 2 The cell of the window price (repeatable, ordered) unsigned long 8 The sell price of the item position (repeatable, ordered) unsigned char 1 The position of the item  
    CG Packet Item Use Into Item
    Header: 60 (0x3C) Type: Constant Sequenced: True Description: A packet used to use an item into another item Structure Name Type Size (bytes) Description sourceWindowType unsigned char 1 The type of window sourceCell unsigned short 2 The cell of the window targetWindowType unsigned char 1 The type of window targetCell unsigned short 2 The cell of the window  
    CG Packet Target
    Header: 61 (0x3D) Type: Constant Sequenced: True Description: A packet used to target an entity Structure Name Type Size (bytes) Description vid unsigned long 8 The virtual id of the entity  
    CG Packet Script Button
    Header: 66 (0x42) Type: Constant Sequenced: True Description: A packet used to click a script/quest button Structure Name Type Size (bytes) Description index unsigned int 4 The index of the button  
    CG Packet Messenger
    Header: 67 (0x43) Type: - Sequenced: True Description: A packet used to perform actions with the messenger system Structure Name Type Size (bytes) Description subHeader unsigned char 1 The sub header                                           
    Subheader Messenger Add By Vid
    SubHeader: 0 (0x0) - Type: Constant Description: Adds a player ot the messenger by virtual id Structure Name Type Size (bytes) Description vid unsigned long 8 The virtual id of the character                              
    Subheader Messenger Add By Name
    SubHeader: 1 (0x1) - Type: Constant Description: Adds a player to the messenger by name Structure Name Type Size (bytes) Description name char 24 The name of the player  
    Subheader Messenger Remove
    SubHeader: 2 (0x2) - Type: Constant Description: Removes a player in the messenger by name Structure Name Type Size (bytes) Description name char 24 The name of the player  
    CG Packet Mall Checkout
    Header: 69 (0x45) Type: Constant Sequenced: True Description: A packet used to move an item from the mall into an inventory Structure Name Type Size (bytes) Description mallPosition unsigned char 1 The slot index of the mall position targetWindowType unsigned char 1 The type of window targetCell unsigned short 2 The cell of the window  
    CG Packet Safebox Checkin
    Header: 70 (0x46) Type: Constant Sequenced: True Description: A packet used to move an item from the safebox into an inventory Structure Name Type Size (bytes) Description targetWindowType unsigned char 1 The type of window targetCell unsigned short 2 The cell of the window safeboxPosition unsigned char 1 The slot index of the mall position  
    CG Packet Safebox Checkout
    Header: 71 (0x47) Type: Constant Sequenced: True Description: A packet used to move an item from the safebox into an inventory Structure Name Type Size (bytes) Description targetWindowType unsigned char 1 The type of window targetCell unsigned short 2 The cell of the window safeboxPosition unsigned char 1 The slot index of the mall position  
    CG Packet Party Invite
    Header: 72 (0x4😎 Type: Constant Sequenced: True Description: A packet used to send a party invite to a player Structure Name Type Size (bytes) Description vid unsigned long 8 The virtual id of the player  
    CG Packet Party Invite Answer
    Header: 73 (0x49) Type: Constant Sequenced: True Description: A packet used to send a response to a given party invite Structure Name Type Size (bytes) Description inviterVid unsigned long 8 The virtual id of the player response unsigned char 1 The response to the invite  
    CG Packet Party Set State
    Header: 75 (0x4B) Type: Constant Sequenced: True Description: A packet used to set the state of a party member Structure Name Type Size (bytes) Description memberVid unsigned long 8 The virtual id of the party member state unsigned char 1 The state of the party member flag unsigned char 1 The flag of the state  
    CG Packet Party Use Skill
    Header: 76 (0x4C) Type: Constant Sequenced: True Description: A packet used to use a party skill Structure Name Type Size (bytes) Description skill unsigned char 1 The party skill index targetVid unsigned char 1 The virtual id of the target  
    CG Packet Safebox Item Move
    Header: 77 (0x4D) Type: Constant Sequenced: True Description: A packet used to use move an item from the safebox Structure Name Type Size (bytes) Description sourceWindowType unsigned char 1 The type of window sourceCell unsigned short 2 The cell of the window amount unsigned char 1 The amount to move targetWindowType unsigned char 1 The type of window targetCell unsigned short 2 The cell of the window  
    CG Packet Party Parameter
    Header: 78 (0x4E) Type: Constant Sequenced: True Description: A packet used to change the party parameter Structure Name Type Size (bytes) Description parameter unsigned char 1 The party distribution mode/parameter  
    CG Packet Guild
    Header: 79 (0x4F) Type: - Sequenced: True Description: A packet used to interact with the guild system Structure Name Type Size (bytes) Description subHeader unsigned char 1 The sub header                                           
    Subheader Guild Add Member
    SubHeader: 0 (0x0) - Type: Constant Description: Adds a member to the Guild by virtual id Structure Name Type Size (bytes) Description vid unsigned long 8 The virtual id of the character                              
    Subheader Guild Remove
    SubHeader: 1 (0x1) - Type: Constant Description: Removes a member from the Guild by virtual id Structure Name Type Size (bytes) Description vid unsigned long 8 The virtual id of the character                              
    Subheader Guild Change Grade Name
    SubHeader: 2 (0x2) - Type: Constant Description: Changes member grade name definition in the Guild Structure Name Type Size (bytes) Description grade unsigned char 1 The grade number to change                name char 8 The grade name                                     
    Subheader Guild Change Grade Authority
    SubHeader: 3 (0x3) - Type: Constant Description: Changes member grade authority in the Guild Structure Name Type Size (bytes) Description grade unsigned char 1 The grade number to change                authority unsigned char 1 The authority to change into                                     
    Subheader Guild Offer
    SubHeader: 4 (0x4) - Type: Constant Description: Offers current experience to the Guild Structure Name Type Size (bytes) Description experience unsigned long 8 The amount of experience to offer     
    Subheader Guild Post Comment
    SubHeader: 5 (0x5) - Type: Constant Description: Posts a commentary in the Guild Structure Name Type Size (bytes) Description length unsigned char 255 (up to) The length of the post message to send message unsigned char length The post message to send  
    Subheader Guild Delete Comment
    SubHeader: 6 (0x6) - Type: Constant Description: Deletes a commentary in the Guild Structure Name Type Size (bytes) Description index unsigned long 8 The length of the post message to send Subheader Guild Refresh Comments
    SubHeader: 7 (0x7) - Type: Constant Description: Requests a comments refresh Structure Name Type Size (bytes) Description empty  
    Subheader Guild Change Member Grade
    SubHeader: 8 (0x8) - Type: Constant Description: Changes a given member's grade Structure Name Type Size (bytes) Description vid unsigned long 8 The virtual id of the player grade unsigned char 8 The grade to set  
    Subheader Guild Use Skill
    SubHeader: 9 (0x9) - Type: Constant Description: Uses a guild skill Structure Name Type Size (bytes) Description skill unsigned long 8 The virtual id of the player target unsigned long 8 The entity target virtual id to use the skill  
    Subheader Guild Change Member General
    SubHeader: 10 (0x10) - Type: Constant Description: Changes a member general role state Structure Name Type Size (bytes) Description vid unsigned long 8 The virtual id of the player flag unsigned char 8 The general role flag to set  
    Subheader Guild Invite Answer
    SubHeader: 11 (0x11) - Type: Constant Description: Gives an answer to a Guild invitation Structure Name Type Size (bytes) Description guildId unsigned long 8 The id of the guild answer unsigned char 1 The answer to the invite  
    Subheader Guild Charge GSP
    SubHeader: 12 (0x12) - Type: Constant Description: Charges the Guild Skill Power Structure Name Type Size (bytes) Description guildId unsigned long 8 The amount of money/currency used to charge  
    Subheader Guild Deposit Money
    SubHeader: 13 (0x13) - Type: Constant Description: Deposits an amount of money/currency in the Guild Structure Name Type Size (bytes) Description money unsigned long 8 The amount of money/currency to deposit  
    Subheader Guild Withdraw Money
    SubHeader: 14 (0x14) - Type: Constant Description: Withdraws an amount of money/currency from the Guild Structure Name Type Size (bytes) Description money unsigned long 8 The amount of money/currency to withdraw  
    CG Packet Answer Make Guild
    Header: 81 (0x51) Type: Constant Sequenced: True Description: A packet used to answer a guild creation prompt Structure Name Type Size (bytes) Description name char 13 The name of the guild  
    CG Packet Fishing
    Header: 82 (0x52) Type: Constant Sequenced: True Description: A packet used to start fishing Structure Name Type Size (bytes) Description rotation unsigned char 1 The rotation to fish  
    CG Packet Give Item
    Header: 83 (0x53) Type: Constant Sequenced: True Description: A packet used to give an item to a player Structure Name Type Size (bytes) Description vid unsigned long 8 The virtual id of the player WindowType unsigned char 1 The type of window cell unsigned short 2 The cell of the window amount unsigned char 1 The amount of the item  
    CG Packet Empire
    Header: 84 (0x54) Type: Constant Sequenced: True Description: A packet used to select an empire Structure Name Type Size (bytes) Description empire unsigned char 1 The index of the empire  
    CG Packet Refine
    Header: 84 (0x54) Type: Constant Sequenced: True Description: A packet used to refine an item Structure Name Type Size (bytes) Description position unsigned char 1 The position of the item in the inventory type unsigned char 1 The type of refinement to perform  
    CG Packet Mark Login
    Header: 100 (0x64) Type: Constant Sequenced: True Description: A packet used to login into the mark server Structure Name Type Size (bytes) Description handle unsigned long 8 The current mark handle randomKey unsigned long 8 The random key  
    CG Packet Mark CRC List
    Header: 100 (0x64) Type: Constant Sequenced: True Description: A packet used to send the current image index for the CRC List Structure Name Type Size (bytes) Description imageIndex unsigned char 1 The current image index  
    CG Packet Mark Upload
    Header: 101 (0x65) Type: Constant Sequenced: True Description: A packet used to upload an image into the mark server Structure Name Type Size (bytes) Description guildId unsigned long 1 The current image index image unsigned char 768 The image to upload  
    CG Packet Mark Index List
    Header: 102 (0x66) Type: Constant Sequenced: True Description: A packet used to increment an index(?) Structure Name Type Size (bytes) Description empty  
    CG Packet Hack
    Header: 105 (0x68) Type: Constant Sequenced: True Description: A packet used to report hack messages to the server Structure Name Type Size (bytes) Description message char 256 The message of the hack to report  
    CG Packet Change Name
    Header: 106 (0x69) Type: Constant Sequenced: True Description: A packet used to change the name of a character Structure Name Type Size (bytes) Description index unsigned char 1 The index of the character name char 25 The new name of the character  
    CG Packet SMS
    Header: 107 (0x6A) Type: Dynamic Sequenced: True Description: A packet used to use the SMS(short message service) to send a message Structure Name Type Size (bytes) Description name char 25 The name of the player to send the message to message char 4294967295 (up to) The "short" message to send  
    CG Packet China Matrix Card
    Header: 108 (0x6B) Type: Constant Sequenced: True Description: A packet used to send the china matrix card answer Structure Name Type Size (bytes) Description answer char 9 The answer to the china matrix card  
    CG Packet Login 2
    Header: 109 (0x6C) Type: Constant Sequenced: True Description: A packet used to login into the server(second version) Structure Name Type Size (bytes) Description name char 31 The username of the account loginKey unsigned long 8 The login key encryptionKey unsigned long 32 The current encryption key  
    CG Packet Login 3
    Header: 111 (0x6F) Type: Constant Sequenced: True Description: A packet used to login into the server(third version) Structure Name Type Size (bytes) Description name char 31 The username of the account password char 17 The password of the account encryptionKey unsigned long 32 The current encryption key  
    CG Packet Guild Symbol Upload
    Header: 112 (0x70) Type: Dynamic Sequenced: True Description: A packet used to upload a guild symbol Structure Name Type Size (bytes) Description symbol unsigned long 4294967295 (up to) The symbol of the guild  
    CG Packet Guild Symbol CRC
    Header: 113 (0x71) Type: Constant Sequenced: True Description: A packet used to send the CRC of each symbol listed Structure Name Type Size (bytes) Description guildId unsigned long 8 The guild id crc unsigned long 8 The CRC of the symbol size unsigned long 8 The size of the symbol  
    CG Packet Script Select Item
    Header: 114 (0x72) Type: Constant Sequenced: True Description: A packet used to select an item from a script/quest Structure Name Type Size (bytes) Description selection unsigned long 8 The index selection of the item  
    CG Packet Login 4
    Header: 115 (0x73) Type: Constant Sequenced: True Description: A packet used to login into the server (forth version) Structure Name Type Size (bytes) Description empty  
    CG Packet Login 5 Open Id
    Header: 116 (0x74) Type: Constant Sequenced: True Description: A packet used to login into the server with Open Identification (fifth version) Structure Name Type Size (bytes) Description authKey char 33 The Open Id authentication key encryptionKey unsigned long 32 The current encryption key  
    CG Packet Runup Matrix Answer
    Header: 201 (0xC9) Type: Constant Sequenced: True Description: A packet used to answer the matrix card runup Structure Name Type Size (bytes) Description answer char 5 The matrix card answer  
    CG Packet NewCIBN Passpod Answer
    Header: 202 (0xCA) Type: Constant Sequenced: True Description: A packet used to send the Passpod anwser (used in NewCIBN) Structure Name Type Size (bytes) Description answer char 9 The passpod answer  
    CG Packet Hackshield Hack
    Header: 203 (0xCB) Type: Constant Sequenced: True Description: A packet used to report a hack detected by HackShield(?) Structure Name Type Size (bytes) Description buffer unsigned char 400 Undefined length unsigned short 2 The length of the buffer  
    CG Packet Xtrap Hack
    Header: 204 (0xCC) Type: Constant Sequenced: True Description: A packet used to verify given Xtrap data(?) Structure Name Type Size (bytes) Description data unsigned char 128 The received Xtrap data to verify  
    CG Packet Dragon Soul Refine
    Header: 204 (0xCC) Type: Constant Sequenced: True Description: A packet used to refine a dragon soul item Structure Name Type Size (bytes) Description refineType unsigned char 1 The type of the refine method windowType unsigned char 1 The type of window windowCell unsigned short 2 The cell of the window  
    CG Packet State Checker
    Header: 204 (0xCE) Type: Constant Sequenced: True Description: A packet used to check the state of the server channels Structure Name Type Size (bytes) Description empty  
    CG Packet Key Agreement
    Header: 251 (0xFB) Type: Constant Sequenced: True Description: A packet used to check the state of the server channels Structure Name Type Size (bytes) Description empty  
    CG Packet Time Sync
    Header: 252 (0xFC) Type: Constant Sequenced: True Description: A packet used to synchronize the time with the server Structure Name Type Size (bytes) Description handshake unsigned long 8 The current handshake time unsigned long 8 The handshake time + (handshake delta * 2) delta long 8 The delta (default 0)  
    CG Packet Client Version
    Header: 253 (0xFD) Type: Constant Sequenced: True Description: A packet used to send the current client version to the server Structure Name Type Size (bytes) Description filename char 33 The current process filename timestamp char 33 The current process timestamp  
    CG Packet Client Version 2
    Header: 241 (0xF1) Type: Constant Sequenced: True Description: A packet used to send the current client version to the server (second version) Structure Name Type Size (bytes) Description filename char 33 The current process filename timestamp char 33 The current process timestamp (constant default "1215955205")  
    CG Packet Pong
    Header: 254 (0xFE) Type: Constant Sequenced: True Description: A packet used to send a pong response Structure Name Type Size (bytes) Description empty
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.