4. Generating Errors

4.1. Generating the 001-0803 Error Code

Error code 001-0803 is returned by the friend library. This error code is caused by a failure to connect to the authentication server. It cannot occur when you connect to the Authentication Server Error Simulator. You must generate it through the following procedure.

  1. Confirm that you can connect to the Authentication Server Error Simulator from the software with support for Nintendo Network that you want to check.
    Note: At this time, set a 002-XXXX error with the authentication server error simulator. When 003-XXXX is set, the 001-0803 error code is not generated.
  2. Prevent packets from being sent to the Authentication Server Error Simulator using a packet filter in the access point’s settings. Stop the sending of packets on TCP port 443 to 202.32.117.155 for the retail version of the software or to 202.32.117.156 for the test version of the software.
  3. Try to authenticate using the software with support for Nintendo Network that you want to check.

4.2. Generating 002-XXXX Error Codes

  1. Change the access point’s DNS settings and then configure a connection to the Authentication Server Error Simulator.
  2. Connect to the Authentication Server Error Simulator from your computer and set the error code that you want to generate, referring to Table 2-1.
  3. From Network Settings on the 3DS, configure to connect to the access point configured in step 1.
  4. Perform tests with the desired Nintendo Network-compatible software.
    Note: For more information about the configurations in steps 1 and 2, see 2. Using the Authentication Server Error Simulator.

4.3. Generating 003-XXXX Error Codes

4.3.1. Generating Error Codes Using the Tool

You can use the NZSimulator.cia file included in this package to check the error that occurs when attempting to connect to Nintendo Zone or a hotspot with an application that is restricted from connecting. The environment for generating this error is created by running NZSimulator.cia on the test unit. The error code generated by this error depends on the version of firmware in the 3DS system. See Figure 4-1.

Figure 4-1. System Firmware Version and Error Codes
System Firmware Version Error Code

0.15.0 and later

003-3305

0.14.24 and earlier

003-3505

4.3.1.1. Running the Tool on the Test Unit

To use NZSimulator.cia, in addition to testing the 3DS for running the application, you must set up the test unit. You must also configure an Internet connection in the test unit for the DS software to use. For more information about importing NZSimulator.cia, see the Readme for this package.

Use NZSimulator.cia as follows.

  1. On the HOME Menu of the test unit, select System Settings > Internet Settings > DS Software Settings, and configure an access point for connecting to the Internet.
    • When configuring DS Software Settings, you must open System Settings from the HOME Menu, not the TEST Menu.
  2. To prevent connection to the access point, either delete connection settings 1 to 3 on the 3DS running the software being tested for this error, or change the SSID.
  3. Run NZSimulator on the test unit configured in step 1. When NZSimulator runs, a Nintendo Zone signal that generates the error is sent.
  4. The 3DS connects to the Nintendo Zone for which the test unit is the parent.
    • The connection to the Nintendo Zone is made automatically.
  5. Start the software being tested for this error from the HOME Menu of the 3DS, and try to connect to the Internet.
    • If wireless conditions are poor, the system might not be able to connect to the Nintendo Zone, and a "No connection found" error (003-1099) could occur.
    • Immediately after nn::uds::Finalize or nn::ndm::SuspendScheduler, the network daemon cannot establish a background connection. In such cases, if the nn::ac::Connect function is called, error code 003-1099 is generated when using this tool. This behavior is according to specification, so if your implementation is as described, it is okay that error code 003-3305 is not generated.
    • If the intended error is not shown, make sure that wireless communication on the test unit running NZSimulator is enabled. The wireless switch cannot be turned on after NZSimulator has been started. If the wireless switch is off, first exit NZSimulator and turn on the wireless switch, and then restart NZSimulator.

4.3.2. Generating Other Error Codes

For information about generating other error codes of the 003-XXXX level, see the CTR Network Error Code List (CTR_Network_ErrorCodeList.xls).

4.4. Generating 006-XXXX Error Codes

Software that uses the NEX library connects to a game server via the NEX library after the authentication process to use presence, matchmaking, and other functionality. The Authentication Server Error Simulator cannot be used to check errors generated when connecting to a game server via the NEX library.

The following table shows the procedure for generating errors for each error code.

For software using only the nn::nex::IndependentServer::RequestAuthenticationToken function from NEX, NEX does not access a game server, and the following errors are not generated. For this reason, the error codes in Table 4-1 do not need to be checked.

Table 4-1. Generating 006-XXXX Error Codes
Error Code Description of Errors and Generation Procedure
006-0502

Generated when connection to the game server cannot be established.

  1. Determine whether the software being checked, which uses the NEX library, can connect to the game server.
  2. From OMAS, go to the NEX Server item for the software to be checked, which uses the NEX library, and check the listed global IP address.
  3. Use access point settings to filter packets to stop their transmission to the IP address checked in step 2.
    Note: The IP address differs depending on the software.
  4. Try connecting to the game server from the software being checked, which uses the NEX library.
006-0612

Generated when joining a P2P session fails.

Error code 006-0612 only occurs with software that uses the NEX NetZ library for P2P communication when using NEX matchmaking functionality.

  1. Prepare two 3DS systems (CTR A, CTR B) to perform matchmaking.
  2. Check the global IP address used by CTR A.
  3. In the settings of the access point that CTR B uses, stop packet transmission to the IP address (to CTR A) confirmed in the previous step using a packet filter.
  4. Perform matchmaking with CTR A and CTR B and try to participate in a P2P session.

If the NEX version is 2.x or earlier, then generate 006-0612 as follows.

  1. Determine whether the software being checked, which uses the NEX library, can perform matchmaking.
  2. Use access point settings to filter packets to stop their transfer to the IP addresses 202.32.117.142 and 202.32.117.143.
  3. Perform matchmaking with the software that uses the NEX library and try to participate in a P2P session.
Note:

If you are using the Pia library for P2P communication, this procedure does not generate 006-0612, but instead generates an error code from Figure 4-2. The generated error code differs depending on the NAT type of the network environment. For more information about the NAT types for error codes generated with the Pia library, see the CTR Network Error Code List.

Figure 4-2. Error Codes Generated When Using the Pia Library
Pia Versions Earlier Than 3.6.0 Pia 3.6.0 and Later
018-0201 018-0201
018-0510 018-0510
018-0511 018-0513
018-0512 018-0514
  018-0515
  018-0516
006-0811

Generated when the game server is undergoing maintenance.

To check error code 006-0811, the game ID and access key for the software using the NEX library must be changed temporarily. The game ID to be changed for this confirmation depends on the NEX version used by the application, as shown in Table 4-2. Set the end of the game ID to the major version number of the NEX version that is used, minus one.

If you are using your software with an independent server, set the key hash value to the same value as the NEX sample demo server, deed2a88.

Table 4-2. NEX Versions and Game IDs
NEX Version Game ID Access Key

2.x

0x0FE00701

50671b47

3.0 to 3.6

0x0FE00702

50671b47

3.7 or later

0x0FE00703

Any 

  1. Change the game ID and access key for the software being checked, which uses the NEX library, to match the NEX version being used.
  2. Try to connect to the game server.
    Note: After checking this error code, make absolutely sure that you restore the changed settings to the originally assigned values.
Other Error Codes Currently, other error codes in 006-XXXX do not need to be checked.

4.5. Generating 015-XXXX Error Codes

Error codes of the form 015-XXXX represent errors generated for OLV-related reasons.

The following table shows the procedure for generating errors for each error code.

Table 4-3. Generating 015-XXXX Error Codes
Error Code Description of Errors and Generation Procedure
015-1002

Generated when browsing and posting to Miiverse is not allowed because of Parental Controls settings.

  1. In the 3DS Parental Controls settings, select Miiverse > Restrict Viewing and Posting.
  2. Go to a scene that allows viewing or posting to Miiverse, and make sure that the game software generates this error code.
015-1003

Generated when posting to Miiverse is not allowed because of Parental Controls settings.

  1. In the 3DS Parental Controls settings, select Miiverse > Restrict Posting.
  2. Go to a scene that allows posting to Miiverse, and make sure that the game software generates this error code.
015-5003

Generated when the server is undergoing maintenance.

  1. Prepare a network account with the Nintendo Network ID starting with 5003-.
  2. Go to a scene that uses the Miiverse feature, and make sure that the game software generates this error code.

Note: In the production environment, this error is not generated using this procedure.

015-5110

This error occurs because the official community you were attempting to post to or get does not exist.

Note: If, before you post, you get a list of official communities to check for the existence of the community you intend to post to, sometimes this error does not occur when you perform the following procedure.

The default official community is created automatically with the first post in the test environment. For this reason, an environment has been prepared intentionally, to check this error. Temporarily change the unique ID/OLV access key as shown below. In the future, application developers will be provided a way to freely change the information for official communities.

With titles that use independent servers, to get a service token you must use an account ID that is linked to a unique ID. If your title will not enter scenes that use the feature to post to Miiverse unless a service token has been acquired, set the client ID as shown in the following table and run this test. A client ID does not need to be set for titles that do not use an independent server.

Unique ID OLV Access Key Client ID
0xFE04B 2846053188 fc32546f4fb14b699af35cc31b1a4b30
  1. Change the value for the unique ID/OLV access key that corresponds to the Miiverse-compatible title that you want to check.
  2. Go to a scene that allows posting to Miiverse, and make sure that the game software generates this error code.

Note: After checking this error code, make sure that you restore the unique ID, OLV access key, and client ID to the originally assigned values.

4.6. Generating 022-XXXX Error Codes

Error codes of the form 022-XXXX represent errors generated for account-related reasons.

The following table shows the procedure for generating errors for each error code.

Table 4-4. Generating 022-XXXX Error Codes
Error Code Description of Errors and Generation Procedure
022-2503

Generated when the latest EULA has not been agreed to.

  1. On the Test NNIDs page in the Account Developer Portal, select the desired Nintendo Network ID, and open the user Dashboard.

  2. On the Dashboard, in Actions, select Agreement Management to open the page for managing accepted EULAs.

  3. For optional EULAs that have been accepted, remove the agreement to the EULA by clicking Reset.
  4. Restart the 3DS system, execute the API in the relevant application, and make sure that the error code is generated.
    • Function for getting an independent server token: nn::act::applet::AcquireIndependentServiceToken
    • Function for getting a Miiverse token: nn::act::applet::AcquireOlvServiceToken
    • Function for initializing the EC applet function: nn::ec::CTR::EcApplet::RequestInitializeSession
022-2512

Generated when an application update is required.

  1. On the Test NNIDs page in the Account Developer Portal, select the desired Nintendo Network ID, and open the user Dashboard.
  2. On the Dashboard, in Actions, select App Testing to open the page for testing applications.
  3. Click Add App Test to open the Add Application Test page.
  4. In Application Test, select Version Not Available Test, and then in Application, select the title that you want to test.
  5. Click Add to open the App Testing page, and confirm that a message appears indicating that the application test settings were added.
  6. Restart the 3DS system, execute the API to get a service token in the relevant application, and make sure that the error code is generated.
    • Function for getting an independent server token: nn::act::applet::AcquireIndependentServiceToken
    • Function for getting a Miiverse token: nn::act::applet::AcquireOlvServiceToken
022-2631

Generated when a network account has been deleted from another terminal.

Note that the Nintendo Network ID can no longer be used after you perform these steps.

  1. On the Account Developer Portal Test NNIDs page, click Delete to the right of the desired Nintendo Network ID.
  2. Click Delete on the page that appears to confirm the action.
  3. Confirm that the "Success" message appears.
  4. Restart the 3DS system, execute the API in the relevant application, and make sure that the error code is generated.
    • Function for getting an independent server token: nn::act::applet::AcquireIndependentServiceToken
    • Function for getting a Miiverse token: nn::act::applet::AcquireOlvServiceToken
    • Function for initializing the EC applet function: nn::ec::CTR::EcApplet::RequestInitializeSession
022-2803

Generated when use of network services stops at the account level for the specified unique ID.

  1. On the Test NNIDs page in the Account Developer Portal, select the desired Nintendo Network ID, and open the user Dashboard.
  2. On the Dashboard, in Actions, select BAN Management to open the page for the user account ban settings.
  3. Click Add BAN to open the Add BAN page.
  4. In the Ban Type field, select User + Game.
  5. When the 3DS Title field appears, select the desired title.
  6. Click Create Ban to open the Ban Status page, and confirm that a message appears indicating that the ban was applied.
  7. Restart the 3DS system, execute the API to get a service token in the relevant application, and make sure that the error code is generated.
    • Function for getting an independent server token: nn::act::applet::AcquireIndependentServiceToken
    • Function for getting a Miiverse token: nn::act::applet::AcquireOlvServiceToken
022-2812

Generated when use of all network services stops at the device level.

  1. On the Test NNIDs page in the Account Developer Portal, select the desired Nintendo Network ID, and open the user Dashboard.
  2. On the Dashboard, in the Associated Device list, select a device. The Dashboard for that device opens.
  3. On the Dashboard, in Actions, click BAN Management to open the page for the device ban settings.
  4. Click Add BAN to open the Add BAN page.
  5. In the Ban Type field, select Device Access.
  6. Click Register to open the ban settings screen, and make sure that the message "BAN enabled (use of service suspended)" is displayed.
  7. Restart the 3DS system, execute the API in the relevant application, and make sure that the error code is generated.
    • Function for getting an independent server token: nn::act::applet::AcquireIndependentServiceToken
    • Function for getting a Miiverse token: nn::act::applet::AcquireOlvServiceToken
    • Function for initializing the EC applet function: nn::ec::CTR::EcApplet::RequestInitializeSession
022-2813

Generated when use of network services stops at the device level for the specified ID.

  1. On the Test NNIDs page in the Account Developer Portal, select the desired Nintendo Network ID, and open the user Dashboard.
  2. On the Dashboard, in the Associated Device list, select a device. The Dashboard for that device opens.
  3. On the Dashboard, in Actions, click BAN Management to open the page for the device ban settings.
  4. Click Add BAN to open the Add BAN page.
  5. In the Ban Type field, select Device + Game.
  6. When the 3DS Title field appears, select a title.
  7. Click Create Ban to open the Ban Status page, and make sure that a message is displayed indicating that the ban was applied.
  8. Restart the 3DS system, execute the API to get a service token in the relevant application, and make sure that the error code is generated.

    • Function for getting an independent server token: nn::act::applet::AcquireIndependentServiceToken

    • Function for getting a Miiverse token: nn::act::applet::AcquireOlvServiceToken
022-2881

Generated when the service is undergoing maintenance.

  1. On the Test NNIDs page in the Account Developer Portal, select the desired Nintendo Network ID, and open the user Dashboard.
  2. On the Dashboard, in Actions, select App Testing to open the page for testing applications.
  3. Click Add App Test to open the page for adding test settings.
  4. In Application Test, select Maintenance Mode, and then in Application. Select the title that you want to test.
  5. Click Add to open the application test settings screen, and make sure that the message "Application test configuration added" is displayed.
  6. Restart the 3DS system, execute the API to get a service token in the relevant application, and make sure that the error code is generated.
    • Function for getting an independent server token: nn::act::applet::AcquireIndependentServiceToken
    • Function for getting a Miiverse token: nn::act::applet::AcquireOlvServiceToken
022-2882

Generated when a service has already been terminated.

  1. On the Test NNIDs page in the Account Developer Portal, select the desired Nintendo Network ID, and open the user Dashboard.
  2. On the Dashboard, in Actions, select App Testing to open the page for testing applications.
  3. Click Add App Test to open the page for adding test settings.
  4. In Application Test, select App End Date Expiration Test, and then in Application, select the title that you want to test.
  5. Click Add to open the application test settings screen, and make sure that the message "Application test configuration added" is displayed.
  6. Restart the 3DS system, execute the API to get a service token in the relevant application, and make sure that the error code is generated.
    • Function for getting an independent server token: nn::act::applet::AcquireIndependentServiceToken
    • Function for getting a Miiverse token: nn::act::applet::AcquireOlvServiceToken
Note:

When starting an EC applet and authenticating a Nintendo Network ID, if an Account Developer Portal has been configured for a specific application, some errors are not generated (022-2803, 022-2813, 022-2881, 022-2882). The reason is that it is the EC applet that is authenticating the Nintendo Network ID, and not the application.

 

 


CONFIDENTIAL