Migration is the act of migrating (connecting) from one server to another. The server sends a packet which is called "ServerIP" that contains the connection information for the client to connect to. The client will then attempt to disconnect from the current connection and reconnect on the given port and IP.
The migration can be found in the following scenarios:
- Connecting to the game server from the login server.
- Changing channels.
- Connecting to the Cash Shop from the game server.
- Connecting to the Maple Farm from the game server.
Packet Structure[]
Note: This packet structure refers to a specific version. It may differ from version to version. Additionally, certain values will not be mentioned as they are unknown for now.
[ServerIP Operation Code] [Status] [Formatted IP] [Port as Short] [Character ID as Integer] [00 00 00 00] [00 00] [61 31 20 6D 73 5D 20 5B 47]
Here's an explanation about each parameter:
- ServerIP Operation Code - The opcode of the packet, usually 0x0B.
- Status - The status of the migration. 0 means success as far as we know.
- Formatted IP - The IP to connect to written in bytes.
- Port - The port to connect to.
- Character ID - The character's id to migrate.
Note: The last bytes are unknown for now. Some people imply they are useless migration data and can remain static.