The Nextendo Network emulator — a Ryujinx build with the Nextendo account system and online play built in. Windows x64.
  • C# 95.5%
  • GLSL 3.1%
  • C 1%
  • HLSL 0.2%
  • Python 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Kazuals 3006d8b3b3 Reglages : horloge synchronisee et services manquants ignores, par defaut
Deux cases que tout joueur en ligne finit par devoir cocher, et qu'aucun n'a de
raison d'aller chercher dans les parametres.

MatchSystemTime fait suivre a l'horloge de la console celle de la machine. Sans elle
elle derive, et un festival dont les phases basculent a des heures precises place le
joueur dans la mauvaise : il voit l'annonce pendant que les autres jouent.

IgnoreMissingServices laisse le jeu continuer quand il reclame un service que
l'emulateur n'implemente pas, au lieu de s'arreter — plusieurs de ces services sont
appeles par l'en-ligne et leur absence n'a aucune consequence.
2026-08-24 21:58:53 +02:00
.github/workflows CI : build macOS universal (.app signe ad-hoc) sur publication de release + script de bake IP/version 2026-07-27 20:58:27 +02:00
assets 1.7.7 : la fenetre Joueurs, le signalement, le LAN Play integre et le serveur personnalise 2026-08-19 23:41:44 +02:00
distribution bake : suivre le renommage Nncs1Configure/Nncs2Configure, et n ecrire qu apres avoir tout verifie 2026-08-19 23:44:24 +02:00
docs Nextendo: initial source release 2026-07-21 23:40:36 +02:00
src Reglages : horloge synchronisee et services manquants ignores, par defaut 2026-08-24 21:58:53 +02:00
.editorconfig Nextendo: initial source release 2026-07-21 23:40:36 +02:00
.gitattributes Nextendo: initial source release 2026-07-21 23:40:36 +02:00
.gitignore Amis, historique et demarrage : quatre correctifs restes dans l'arbre de dev 2026-08-24 01:07:19 +02:00
CHANGELOG.md Nextendo: initial source release 2026-07-21 23:40:36 +02:00
COMPILING.md Nextendo: initial source release 2026-07-21 23:40:36 +02:00
CONTRIBUTING.md Nextendo: initial source release 2026-07-21 23:40:36 +02:00
crowdin.yml Nextendo: initial source release 2026-07-21 23:40:36 +02:00
Directory.Build.props Release : ne plus graver le chemin de compilation dans les binaires 2026-08-24 20:33:29 +02:00
Directory.Packages.props Ecran-titre S3 : afficher le logo de l'evenement, en permutant deux textures du jeu 2026-08-24 01:39:46 +02:00
global.json Nextendo: initial source release 2026-07-21 23:40:36 +02:00
LICENSE.md Nextendo: initial source release 2026-07-21 23:40:36 +02:00
LICENSE.txt Nextendo: initial source release 2026-07-21 23:40:36 +02:00
nuget.config Nextendo: initial source release 2026-07-21 23:40:36 +02:00
README.md Nextendo: initial source release 2026-07-21 23:40:36 +02:00
Ryujinx.sln Nextendo: initial source release 2026-07-21 23:40:36 +02:00
Ryujinx.sln.DotSettings Nextendo: initial source release 2026-07-21 23:40:36 +02:00

Nextendo

A Nintendo Switch emulator with built-in support for the Nextendo Network private online service.

Based on Ryujinx License: PolyForm Shield 1.0.0 Platforms


What is Nextendo?

Nextendo is a fork of the open-source Ryujinx Nintendo Switch emulator. On top of Ryujinx's excellent accuracy and performance, Nextendo adds a first-class, built-in client for the Nextendo Network — a community-run replacement for the official online service — so supported games can be played online again without any manual configuration, custom hosts file, or SSL bypass on the user's part.

The emulation core (CPU, GPU, audio, input, filesystem) is unchanged from upstream Ryujinx. Nextendo's additions are limited to the networking layer and the surrounding user experience.

Nextendo is an independent, non-commercial project. It is not affiliated with, endorsed by, or associated with Nintendo. "Nintendo Switch" and all game titles are trademarks of their respective owners. This project ships no Nintendo code, keys, or copyrighted assets — you must provide your own legally dumped games and system files, exactly as with upstream Ryujinx.

Online support

Online play is currently implemented for the following titles. Each connects to the Nextendo Network the same way it would connect to the official service — the emulator transparently points the game's online hostnames at the configured Nextendo servers.

Game Status Notes
Mario Kart 8 Deluxe Playable Worldwide races, in-game lobbies.
Splatoon 2 Playable Turf War, private battles, Salmon Run, Splatfests.
Super Smash Bros. Ultimate Playable Online arenas.

More titles are being worked on.

How online works

Nextendo implements the client side of a private online network entirely inside the emulator, so no external tools are needed:

  • Hostname redirection. A built-in DNS-MITM resolver redirects the game's online hostnames to the configured Nextendo servers. Exact hosts-file entries still take precedence, so a custom server can be targeted without rebuilding.
  • Account tokens. The emulator locally signs the account (BAAS) id_token that some titles verify before allowing online entry. The signing key is not bundled — it is supplied at runtime (see Configuration).
  • NAT & P2P. NEX titles use peer-to-peer networking (Pia) once matchmaking completes. Nextendo keeps the emulator's UDP NAT mapping alive across the P2P bring-up so hole-punching succeeds.
  • First-run wizard, online status, in-game friends, and a kill-switch round out the experience.

None of the server infrastructure is hardcoded in this repository — addresses and keys come from environment variables and fall back to loopback when unset, so an unconfigured build simply behaves like stock Ryujinx offline.

Configuration

Point a build at a Nextendo Network server (or your own) with these environment variables:

Variable Purpose Fallback
NEXTENDO_SERVER_IP Address the main online hostnames resolve to. 127.0.0.1
NEXTENDO_NAT_IP Address of the second NAT-check responder (required by NAT probe). 127.0.0.1
NEXTENDO_BAAS_SIGNING_KEY PEM of the RSA key used to sign account id_tokens. May instead be placed in a nextendo_baas.pem file next to the executable. none (throwaway key)

If none are set, online features stay dormant and Nextendo runs as a normal offline emulator.

System requirements

To run comfortably, your PC should have at least:

  • 8 GiB of RAM
  • 6 CPU cores
  • A GPU released within the last 10 years, supporting OpenGL 4.6 or Vulkan 1.4
  • Windows 10 (20H1) or newer, a modern Linux distribution, or macOS Big Sur (Apple Silicon) or newer

Failing to meet these requirements may result in poor performance or crashes.

Building

Nextendo builds like upstream Ryujinx — you need the .NET SDK (see global.json for the required version). See COMPILING.md for details. In short:

git clone <this-repository>
cd Nextendo
dotnet build src/Ryujinx/Ryujinx.csproj -c Release

License

Nextendo's own source is released under the PolyForm Shield License 1.0.0 — a source-available license: you may read, use, modify, and self-host the code, but you may not use it to compete with the project.

Nextendo is derived from Ryujinx, which is licensed under the MIT License — the upstream license and copyright are retained in LICENSE.txt, as required. This project also makes use of code from the libvpx (BSD) and ffmpeg (LGPLv3) projects. See distribution/legal/THIRDPARTY.md for third-party notices.

Credits

Nextendo stands on the shoulders of the emulator it forks and the projects Ryujinx itself builds on:

  • Ryujinx, originally created by gdkchan and continued by the Ryubing community — the entire emulation core.
  • LibHac — filesystem.
  • AmiiboAPI — Amiibo emulation.
  • ldn_mitm — one of the available local-multiplayer modes.
  • ShellLink — Windows shortcut generation.