No description
  • JavaScript 73.1%
  • HTML 19.8%
  • Go 4%
  • Shell 2.1%
  • PowerShell 1%
Find a file
Jose e0c376a8b5 Admin UI, emulator OAuth and site-status APIs
Adds administrative features and emulator OAuth flow:

- Backend: enhance /admin routes (user search/pagination, prevent removing last admin, demote/promote, reset avatar, delete user cleans avatar, sessions list + revoke, include admins in stats). Add AVATARS_DIR and filesystem cleanup.
- Content: add /api/content/site-status and expose maintenance_mode, maintenance_message and motd in admin settings; allow updating them.
- Raptor accounts-api: implement PKCE OAuth flow for the NeXo emulator (/api/oauth/authorize and /api/oauth/token) issuing nex_token JWT.
- Web: overhaul admin-panel UI (users, sessions, server settings, logs, modals, avatar handling) and add visual refresh styles in app.js.
2026-08-30 17:02:50 +02:00
docs reestructure and some implements 2026-08-22 21:07:42 +02:00
nex-server reestructure and some implements 2026-08-22 21:07:42 +02:00
scripts migrate 2026-08-11 23:47:57 +02:00
src Admin UI, emulator OAuth and site-status APIs 2026-08-30 17:02:50 +02:00
.env.example primeros pasos para integracion con nex 2026-07-23 19:42:20 +02:00
.gitattributes fix go on aapanel 2026-07-23 18:57:09 +02:00
.gitignore nex-go implement 2026-07-14 18:57:59 +02:00
.gitmodules updates 2026-03-30 01:54:40 +02:00
docker-compose.yml reestructure and some implements 2026-08-22 21:07:42 +02:00
LICENSE Añadir LICENSE 2026-08-11 00:02:00 +02:00
package-lock.json fix: resolve FST_ERR_DUPLICATED_ROUTE causing 502 error 2026-04-26 23:55:19 +00:00
package.json auto-start nex-go on npm run 2026-07-15 20:08:07 +02:00
README.md reestructure and some implements 2026-08-22 21:07:42 +02:00
schema.sql add website manager 2026-07-23 18:32:07 +02:00

NeXo-Server

Infraestructura completa de red para NeXo Network — un reemplazo autoalojado de Nintendo Switch Online.

Node 20+ Fastify 5 Go 1.23+ MySQL 8+ PostgreSQL GPL-2.0


Qué es esto

NeXo-Server es el backend completo de NeXo Network: la infraestructura que permite jugar online sin los servidores de Nintendo, tanto desde el emulador NeXo-emu como desde una Switch real con Atmosphere. Todo el servidor vive en un único repositorio (monorepo): no hay un repo por juego ni por servicio.

No afiliado con Nintendo. NeXo no incluye ni distribuye firmware, claves ni juegos: cada usuario aporta los suyos, obtenidos legalmente.

Arquitectura en 30 segundos

NeXo tiene dos planos, ambos en este repo:

  • Plano HTTP (Node.js + Fastify + MySQL) — dauth, cuentas/BAAS, amigos, presencia, BCAT, configuración y web. Lo que el cliente consulta por HTTPS.
  • Plano NEX/PRUDP (Go, sobre UDP) — servidores de juego (auth + secure) y matchmaking.

El flujo online es: DNS redirect → dauth → BAAS (token de cuenta) → NEX auth → NEX secure + matchmaking → P2P. Detalle completo en docs/ARCHITECTURE.md.

Estructura del repositorio

Nexo-Server/
├── src/                     # Plano HTTP (Node.js + Fastify)
│   ├── server.js            # arranque + registro de plugins
│   ├── modules/
│   │   ├── accounts/        # cuentas
│   │   ├── raptor/          # APIs BAAS: accounts, friends, bcat, config, notif, chat...
│   │   ├── dauth/           # [esqueleto] token de dispositivo
│   │   ├── baas/            # [esqueleto] JWK Set (verificación de id_token)
│   │   ├── games/           # puentes de juego (legacy)
│   │   └── content/
│   └── web/                 # sitio y panel
├── nex-server/              # Plano NEX/PRUDP (Go)
│   ├── cmd/
│   │   ├── mk8-auth/        # Mario Kart 8 Deluxe — auth (proto 10)
│   │   ├── mk8-secure/      # Mario Kart 8 Deluxe — secure + matchmaking
│   │   └── nncs/            # [esqueleto] respondedor NAT-check (P2P)
│   └── internal/            # accounts, authserver, matchmaking
├── docs/                    # arquitectura, API, despliegue, setup
├── db / schema.sql          # esquema MySQL
├── scripts/                 # utilidades (certs, hosts, migraciones)
├── .env.example             # TODA la configuración en un sitio
└── docker-compose.yml       # levantar el stack completo

Puesta en marcha rápida

cp .env.example .env        # rellena secretos, DB, dominio
npm install
npm run dev                 # arranca el plano HTTP (y el NEX Go si hay Go instalado)

Para el plano NEX por separado:

cd nex-server
go build ./...
./mk8-auth      # requiere NEXO_MK8_ACCESS_KEY y NEXO_MK8_SECURE_PASSWORD en ../.env

Documentación detallada en docs/: API · Despliegue · NEX en Go · Setup Switch.

Estado

Ver la tabla de componentes en docs/ARCHITECTURE.md. En curso: completar Mario Kart 8 Deluxe de punta a punta (auth → secure → matchmaking) e implementar el flujo limpio dauth → BAAS para unificar emulador y Switch real.

Licencia

GPL-2.0. Todo el código propio de NeXo se publica bajo esta licencia; se conservan las atribuciones de las bibliotecas de terceros usadas.