| 
         
       | 
     
    
       
         
         
          | 
           | 
           
 
 In order to make use of the Battle.net Diablo II realms, you must be successfully logged onto your account.  See SID_LOGONRESPONSE2 for logging onto accounts.
The following is the suggested, working, valid emulation sequence: 
    
        | 
            Send SID_QUERYREALMS2.
         | 
        
            (Optional) Requests a list of realms from the server.
         | 
     
    
        | 
            Recv SID_QUERYREALMS2.
         | 
        
            (Optional) Contains list of realms from server.
         | 
     
    
        | 
            Send SID_LOGONREALMEX.
         | 
        
            Realm logon challenge.  This attempts to log onto the realm.  Battle.net realms always use the password "password".  It's a double hash, just like SID_LOGONRESPONSE2 using a client and server key.
         | 
     
    
        | 
            Recv SID_LOGONREALMEX.
         | 
        
            Logon response, upon success connect to the realm server.  The IP address and port number are included in the response message.
         | 
     
 
After connecting to the realm server, the following is the suggested sequence:
  
    
        | 
            Send protocol byte.
         | 
        
            Byte value 1 is required here, similar to the first character you must send to the Battle.net chat server upon connection.
         | 
     
    
        | 
            Send MCP_STARTUP.
         | 
        
            This will notify the realm that you have logged onto it, and you want to make use of it's namespace (i.e. Username@Asia, Username@Asia2, Username@Asia3, Username@USEast, etc.).
         | 
     
    
        | 
            Recv MCP_STARTUP.
         | 
        
            Upon success, you should now request a list of characters.  It is not required, however, for perfect emulation you should request it.
         | 
     
    
        | 
            Send MCP_CHARLIST2.
         | 
        
            (Optional) Requests a list of characters from the server.
         | 
     
    
        | 
            Recv MCP_CHARLIST2.
         | 
        
            (Optional) Response to character listing request, a list of characters will be returned including their name, expiration date, type, class, level, etc.
         | 
     
 
After that sequence, the rest is up to you.  You may create characters, delete characters, logon characters, upgrade characters, or just reconnect to the realm again for fun.
 #21  User Comments:None
  | 
           | 
        
         
       | 
     
    
      | 
         
       | 
     
     
	 |