Readme-NintendoSDK_NEX-for_NX-4_0_0_RC-en.html

NintendoSDK-NEX for NX 4.0.0 RC

Contents

  1. Introduction
  2. System Requirements
  3. Installation
  4. How to Use
  5. File List
  6. Building the Samples
  7. Notes
  8. Comments and Notes About License Information

1. Introduction

The Cafe NEX package is the expanded communication library for the NX version of the NintendoSDK. It includes features for matchmaking, ranking, and data stores. (NEX is an abbreviation for network extensions.) We use NX-NEX to refer to the NintendoSDK-NEX for NX below. NX-NEX includes both 32-bit and 64-bit binaries for each of the Windows, NX on Windows, and NX versions. To view the revision history for the library, see Documents/manual/history4.html.

The current version is under development. In the future, the Windows and NX on Windows versions will only be available for development. Users will log into the game server using predefined user names and passwords for the time being because there is no account system at present.

This library uses encryption technology.

Back to top

2. System Requirements

Visual Studio 2013 Update 5 and Visual Studio 2015 Update 3 must be installed to build NX-NEX. The NintendoSDK itself and NintendoSDK VSI for NX are required to build the Windows version. The NintendoSDK NX Add-on is required to build the NX on Windows version. The NintendoSDK NX Add-on and NintendkSDK Clang for NX are required to build the NX version. The NintendoSDK-NEX for NX OpenSSL Package is required to build the Windows version and NX on Windows version.

Back to top

3. Installation

Expand this package in a directory whose name includes neither spaces nor Japanese characters.
For the remainder of this document, this directory is referred to as NINTENDO_SDK_NEX_ROOT.

Back to top

4. How to Use

Set this directory path as the NINTENDO_SDK_NEX_ROOT environment variable and include nex.h.
You do not need to set this environment variable if NINTENDO_SDK_ROOT has been set as an environment variable in NintendoSDK, and the NintendoSDK and NintendoSDK-NEX directories have been configured in parallel as follows.

If you plan to manually specify the include path and the libraries path, use the following paths. Use the Develop version library for the NX version Debug build.

For more information about libraries that must be linked to use different NEX functionality, see the sample demo settings.

Back to top

5. File List

Back to top

6. Samples

Building the Samples

Open the solution files under $(NINTENDO_SDK_NEX_ROOT)\Samples\Applications\NEX with Visual Studio, and then build. Solution files with Generic included in the file names are the Windows version, and those with NX included in the file names are the NX on Windows and NX versions.
This documentation refers to items that run in a Windows environment (including the NX on Windows version) as Windows versions.

Running Sample Demos

When specifying a user name and password for logging into a predefined game server, specify the game server URI, access key, login user name, and password in the runtime arguments -uri, -key, -user, and -pass.

  • NX Version Startup Example
  • %NINTENDO_SDK_ROOT%\Tools\CommandLineTools\RunOnTarget.exe RendezVous_CallContext.nca -- -uri "https://g27851c00-dd1.s.n.srv.nintendo.net/" -key 12345678 -user testuser_0 -pass "my password"
  • Windows Version Startup Example
  • RendezVous_CallContext.exe -uri "https://g27851c00-dd1.s.n.srv.nintendo.net/" -key 12345678 -user testuser_0 -pass "my password"

    When specifying a game server ID and access key for logging in (login for network service account using account library), after commenting out the NEX_FORCE_USE_DEBUG_LOGIN_DIRECT macro in $(NINTENDO_SDK_NEX_ROOT)\Samples\Applications\NEX\common\NexUtilDefs.h, and setting the Application.aarch64.lp64.meta or Application.arm.ilp32.meta ApplicationId item in %NINTENDO_SDK_ROOT%\Resources\SpecFiles to the 0x0100289000012000 ApplicationId for samples, build in the NSP format with the AuthoringTool included in Visual Studio or the SDK, and then launch it. Building and running NSPD files is different from building and running NSP files. No control data, defined within the META file, is included within the built executable file. You need to configure the following types of settings separately. Begin by preparing a META file with an appropriate ApplicationId specified. This is the same as when building an NSP file. Use the createnspmeta command within AuthoringTool to create an NCD for control data. Next, place the generated control0.ncd and meta0.ncd files under the executable NSPD file's directory. At that point, the directory has the following configuration.

    XXXX.nspd/
    ┣ program0.ncd
    ┣ control0.ncd
    ┗ meta0.ncd

    You can include control data when debugging NSPD applications in Visual Studio, or when running RunOnTarget for those applications in Visual Studio, when you use the settings indicated above. In the future, the above settings will occur automatically when building NSPD files in Visual Studio. (The Windows version is not supported in this version.)
  • Launching the NX (NSPD) Version
  • %NINTENDO_SDK_ROOT%\Tools\CommandLineTools\AuthoringTool\AuthoringTool.exe createnspmeta -o D:\path\to\RendezVous_CallContext.nspd --meta %NINTENDO_SDK_ROOT%\Resources\SpecFiles\Application.aarch64.lp64.meta --type Application
    cp -r D:\path\to\RendezVous_CallContext.nspd\output.nspd\control0.ncd D:\path\to\RendezVous_CallContext.nspd\output.nspd\meta0.ncd D:\path\to\RendezVous_CallContext.nspd
    %NINTENDO_SDK_ROOT%\Tools\CommandLineTools\RunOnTarget.exe D:\path\to\RendezVous_CallContext.nspd
  • Launching the NX (NSP) Version
  • %NINTENDO_SDK_ROOT%\Tools\CommandLineTools\ControlTarget.exe install-application D:\path\to\RendezVous_CallContext.nsp
    %NINTENDO_SDK_ROOT%\Tools\CommandLineTools\ControlTarget.exe launch-application 0x0100289000012000

    In the Windows version, the environment variable can be used instead of the parameter. Run after setting the game server URI, access key, login user name, and password to environment variables RV_TEST_URI, RV_TEST_KEY, RV_TEST_USER, and RV_TEST_PASS.

    The default is identical to when specifying environment variables, as follows. There may be cases where identical user names are chosen because user names are randomly selected, and it is possible that users logged into the game server with the same user names will be disconnected. Use the specified user name and password except for when running samples.

    set RV_TEST_URI=https://g27851c00-dd1.s.n.srv.nintendo.net/
    set RV_TEST_KEY=12345678
    set RV_TEST_USER=testuser_ + "random number between 0 and 9999"
    set RV_TEST_PASS=my password

    $(NINTENDO_SDK_NEX_ROOT)\Samples\Applications\NEX\common\NexUtil.h and NEXDEMO_ACCESS_KEY are ignored. For more information, see $(NINTENDO_SDK_NEX_ROOT)\Samples\Applications\NEX\common\SigloNexUtil.cpp.

    HTTP proxy settings are required, depending on the environment, for connecting with the game server. Set the environment variables as follows when setting HTTP proxies for the Windows version.

    Example:
    set https_proxy=http://example.com:8080

    Refer to the Nintendo SDK manual when setting HTTP proxies for the NX version.

    String Notation in Samples

    Strings are enclosed in NEX_T() in the sample program code to switch to wide characters based on the environment. (Example: NEX_T("ABC")) In NintendoSDK-NEX, NEX_T("ABC") becomes "ABC"regardless of the character encoding set in Visual Studio, like Unicode or MBCS.

    Back to top

    7. Notes

    Back to top

    8. Comments and Notes About License Information

    This library includes software developed by Quazal Technologies Inc.
    However, direct all requests for support and queries concerning this library to Nintendo.

    The following OSS libraries are included in this library's binaries.

    libCurl

    /***************************************************************************
     *                                  _   _ ____  _
     *  Project                     ___| | | |  _ \| |
     *                             / __| | | | |_) | |
     *                            | (__| |_| |  _ <| |___
     *                             \___|\___/|_| \_\_____|
     *
     * Copyright (C) 1998 - 2012, Daniel Stenberg, , et al.
     *
     * This software is licensed as described in the file COPYING, which
     * you should have received as part of this distribution. The terms
     * are also available at http://curl.haxx.se/docs/copyright.html.
     *
     * You may opt to use, copy, modify, merge, publish, distribute and/or sell
     * copies of the Software, and permit persons to whom the Software is
     * furnished to do so, under the terms of the COPYING file.
     *
     * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
     * KIND, either express or implied.
     *
     ***************************************************************************/
    
    

    Wslay

    The MIT License
    
    Copyright (c) 2011, 2012, 2015 Tatsuhiro Tsujikawa
    
    Permission is hereby granted, free of charge, to any person obtaining
    a copy of this software and associated documentation files (the
    "Software"), to deal in the Software without restriction, including
    without limitation the rights to use, copy, modify, merge, publish,
    distribute, sublicense, and/or sell copies of the Software, and to
    permit persons to whom the Software is furnished to do so, subject to
    the following conditions:
    
    The above copyright notice and this permission notice shall be
    included in all copies or substantial portions of the Software.
    
    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
    LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
    WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    

    OpenSSL

    This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit.
    Back to top

    CONFIDENTIAL