 ======================================================================================
 =                                                                                    =
 =                             Battle.net Diagnostic Tool                             =
 =                                                                                    =
 =                                    User Manual                                     =
 =                                                                                    =
 ======================================================================================




 :: Index ::

 1. Introduction
 2. How To Use
 3. Realm Hostnames
 4. "You appear to be IP banned."
 5. Error Codes
 6. Change Log
 7. Credits
 8. License Agreement





 1. Introduction
 ----------------
 The Battle.net Diagnostic Tool enables you to diagnose and troubleshoot technical
 problems you may be having with your connection to Battle.net.

 The tool covers issues which occur during the initial connection stage to Battle.net,
 hence, before you reach the login screen. A typical scenario would be receiving the
 "Unable to connect to Battle.net" message, generated by various game clients.

 IP restrictions are also detected.




 2. How To Use
 -------------
 Once the application has started, simply type

 connect <Hostname>

 This will test your connection with the servers on the given realm. For example, if
 you're having issues with the US East realm, you would type

 connect useast.battle.net

 See section "3. Realm Hostnames" for a listing of the Battle.net realms and their
 associated hostnames.



 NOTE: The following information is now obsolete, but is going to be kept for histortical
       purposes only.

 The first step to diagnosing your problem is to resolve the server (or "realm") you
 are attempting to connect to. You can accomplish this using the "resolve" command.
 For example, if your problem was with the US East realm you would type
 (Note: See section 3. for a listing of the realm's and their hostnames)

 resolve useast.battle.net

 You should now have a listing of IP addresses. These are the addresses of the
 individual servers associated with the realm.
 The next step is to test your connection with the realm, you can do this by selecting
 one of the IP's previously displayed and using the "connect" command to connect to it.
 For example, if you chose IP 63.240.202.121 you would type

 connect 63.240.202.121

 By this point in time (Presuming you're having an appropiate connection issue) you
 should have received a message proclaiming an error either during the resolve command,
 or the connect command.

 Along with the error message (Which looks like "Error!") you would've received a number,
 this is called the error-code, this error-code identifies the exact problem with your 
 connection to Battle.net and of which you can (and should) now lookup in the "5. Error Codes"
 section of this manual which will provide a few possible solutions to your problem.

 If you are still unable to solve your problem, a log file has been generated and can
 be found in the same directory as the BnetDiagTool application, post the contents of
 this file on the Battle.net Open Technical Support forum, and hopefully someone will
 be able to provide you with further assistance.




 3. Realm Hostnames
 ------------------
 Following is a list of the proper hostname's of Battle.net realms which can be used
 with the "resolve" command.

 Realm:       Hostname: 
 U.S. East    useast.battle.net
 U.S. West    uswest.battle.net
 Europe       europe.battle.net
 Asia         asia.battle.net




 4. "You appear to be IP banned."
 --------------------------------
 While testing your connection with Battle.net, you may receive this message.

 This will occur if the server you're attempting to connect to has decided to restrict
 you. This can happens for a variety of reasons, I suggest you view the following page
 to get further information:
 http://www.lordaeron.org/ipban/





 5. Error Codes
 --------------
 Here you will find a detailed description, and possible solution to error conditions
 (identified by their error-code) which you may receive.



 10000

    Description:
    The server gracefully closed the connection.


    Solution:
    This will typically occur if you are IP banned. See section 4. for more information.
    


 10013

    Description:
    Another application is already using the requested address.


    Solution:
    Close all non-system applications which use the network, and try again. This 
    may also occur if a firewall is blocking the connection. Add BnetDiagTool.exe
    to your firewall's exception list and try again.



 10014

    Description:
    An invalid address has been supplied.


    Solution:
    Ensure the IP address you entered is in the correct format (xxx.xxx.xxx.xxx)



 10022

    Description:
    Invalid argument.


    Solution:
    Consult Win32.



 10024

    Description:
    The maximum number of communication endpoints has been reached.


    Solution:
    Too many applications are using the network, close any which might consume alot
    of network resources (Such as file-sharing/P2P applications)



 10041

    Description:
    Invalid protocol combination.


    Solution:
    Consult Win32.



 10043

    Description:
    IP protocol not supported.


    Solution:
    Reinstall your network drivers, and ensure the TCP/IP protocol suite is installed.



 10044

    Description:
    Streaming communication not supported.


    Solution:
    Reinstall your network drivers, and ensure the TCP/IP protocol suite is installed.



 10045

    Description:
    Operation not supported.


    Solution:
    Contact Win32.



 10046

    Description:
    TCP/IP protocol family is not supported.


    Solution:
    Reinstall your network drivers, and ensure the TCP/IP protocol suite is installed.



 10047

    Description:
    Protocol family does not support address family.


    Solution:
    Contact Win32.



 10048

    Description:
    Network address already in use.


    Solution:
    Close all non-system applications which use the network, and try again.



 10049

    Description:
    Invalid remote address.


    Solution:
    Ensure the IP address you entered is in the correct format (xxx.xxx.xxx.xxx),
    and is valid.
    An example of an invalid address would be 0.0.0.0 or abc.0.1.def



 10050

    Description:
    The network subsystem failed, or is inactive.


    Solution:
    Ensure your LAN and WAN connections are properly enabled, and functional.



 10051

    Description:
    The network cannot be reached at this time. There is no known route to
    the host,


    Solution:
    Disable any active firewalls, and ensure your router (if being used) is not
    restricting any ports/applications.



 10052

    Description:
    A failure occured during keep-alive activity resulting in the connection
    being dropped upon network reset.


    Solution:
    Contact Win32.



 10053

    Description:
    Connection aborted due to data transmission time-out, or protocol error.


    Solution:
    Contact Win32.



 10054

    Description:
    Connection reset by the server. This generally occurs if the server has
    forcibly closed the connection, it has gone down, or some other forceful
    closure has occured.


    Solution:
    This will typically occur if you are IP banned. See section 4. for more information.



 10060

    Description:
    The connection attempt timed out. The host did not respond in a reasonable
    amount of time. Or the request never got out.


    Solution:
    Disable any active firewalls, and ensure your router (if being used) is not
    restricting any ports/applications.

    This generally occurs when a firewall is blocking the connection.



 10061

    Description:
    The server actively refused the connection.


    Solution:
    Most likely your client is attempting to connect to an invalid, or non-Battle.net
    server.

    Try resetting your server list and checking your Hosts file: http://www.blizzard.com/support/?id=ami0633p1

    This could also indicate that the server is down.



 10064

    Description:
    The server is down.


    Solution:
    The Battle.net server is down, or sometimes this can indicate the same condition
    as error 10060.



 10065

    Description:
    Host unreachable.


    Solution:
    If you use PeerGuardian, make sure it is configured to allow Battle.net. Otherwise, see error 10051.



 10067

    Description:
    Too many applications are using the network subsystem.


    Solution:
    Close any application(s) which may be consuming alot of network resources.



 11001

    Description:
    The host does not exist.


    Solution:
    Make sure you've entered a correct (existing) hostname.



 11002

    Description:
    Authoritive DNS server did not respond in time.


    Solution:
    Try again later.



 11004

    Description:
    Hostname is valid, but there is no supporting data.


    Solution:
    Try again later.




 6. Change Log
 --------------

 Version 2.2
 ===========
 - Users may now use realm hostnames with the connect command.


 Version 2.1a
 =============
 - Graceful connection closure detection added.


 Version 2.1
 =============
 - Added specific error-code for IP restrictions.
 - Application version now appears in log.
 - Removed useless debug code.
 - Removed BBCode from log.


 Version 2.0
 =============
 - An application log is now generated each time the program is run.
 - Updated the manual so it properly reflects user issues.
 - Added IP restriction detection support.
 - Added various new/replacement utility code.
 - Reworked whole application framework.
 

 Version 1.0
 ===========
 - Hostname resolution support.
 - Connection-test support
 - Initial release.





 7. Credits
 ----------

 The Battle.net Diagnostic Tool was written by Matt James (AkA: Win32) to
 aid in supporting users of the Battle.net Open Technical Support forum,
 and Blizzard gamers in general.

 The project was written in a mix of C-style C++ and x86 Assembly in 2,370
 lines of code, taking approximately 9 hours to complete.

 I would like to commend the loyal OTS regulars who dedicate their time and
 assistance to those in need.

 Minor manual updates made by Maged.


 8. License Agreement
 --------------------
 By using this software you agree to the following terms and conditions.

 THIS SOFTWARE IS PROVIDED ON AN AS-IS BASIS WITHOUT ANY WARRANTY OF ANY KIND.
 THE AUTHOR, AND ANY OF THE AUTHOR'S ASSOCIATES MAY NOT BE HELD RESPONSIBLE FOR
 ANY DAMAGE, FINANCIAL LOSS, DISTRESS, OR REPRECUSSION OF ANY SORT WHICH RESULTS
 FROM THE USE OF THIS SOFTWARE. THIS SOFTWARE IS NOT TO BE USED FOR ANY PURPOSE
 APART FROM THE ONES DESCRIBED IN SECTION 1. OF THIS MANUAL. BLIZZARD ENTERTAINMENT
 IS IN NO WAY AFFILLIATED WITH THE DEVELOPMENT, OR DISTRIBUTION OF THIS SOFTWARE
 AND IS TO BE IN NO WAY HELD ACCOUNTABLE FOR ANYTHING TO DO WITH IT.

 YOU MAY NOT:
 1. Claim directly, or indirectly, that this software was in any way created by you.
 2. Alter the software, or any of the software's components, in any way.
 3. Use the software for malicious purposes.
 4. Claim ownership of the software's source code.
 
 YOU MAY:
 1. Use elements of this software's source code for your own purposes, provided you
    give credit to Matt James (AkA: Win32).
 2. Use this software as much as you like.