Skip to content

Using the Overlay

ryu_ldn_nx includes a Tesla overlay that lets you monitor connection status and change settings without leaving your game. The overlay communicates with the sysmodule via a custom IPC service (ryu:cfg).

  • Tesla Menu (nx-ovlloader) must be installed
  • The overlay file must be in switch/.overlays/
  1. Hold L + DPad Down + Right Stick Click simultaneously
  2. Tesla Menu will appear
  3. Select ryu_ldn_nx from the list

The overlay displays three sections, all powered by the ryu:cfg IPC service (see IPC Commands):

| Item | Description | |------|-------------| | Server Status | Connection state (Disconnected, Connecting, Connected, Ready, Error) | | LDN State | Current CommState (None, Initialized, AccessPoint, AccessPointCreated, Station, StationConnected) | | Session | Current session info (player count, max players, local node ID, host/client) | | Latency | Round-trip time to server in milliseconds | | Game Active | Whether a game is currently using LDN |

| Item | Description | |------|-------------| | Server | Current server address and port | | Force Reconnect | Press A to disconnect and reconnect to the server |

| Item | Description | |------|-------------| | LDN Enabled | Toggle LDN emulation on/off | | P2P Proxy | Enable or disable P2P proxy (relay-only when disabled) | | Debug Logging | Toggle debug output on/off | | Log Level | Set log verbosity (0=errors, 1=warnings, 2=info, 3=verbose) | | Log to File | Enable/disable file logging | | Save Config | Persist current settings to SD card |

The server status uses color coding:

  • Green — Connected and ready
  • Yellow — Connecting or handshaking
  • Gray — Disconnected
  • Red — Error state

The overlay talks to the sysmodule through ryu:cfg, a custom IPC service obtained via command 65000 on the MITM’d ldn:u service. The IPC stubs are in overlay/source/ryu_ldn_ipc.c.

LdnSharedState bridges the LDN MITM and config service, allowing the overlay to read real-time state (connection status, LDN state, session info, RTT) without interfering with the game’s LDN session.

The overlay updates automatically every second while open. You can also:

  • Press R to force an immediate refresh
  • Status updates in real-time as you play
  1. Open overlay before starting a game
  2. Verify status shows “Ready” (green)
  3. Close overlay and start your game
  1. Open overlay
  2. If status shows “Disconnected” or “Error”
  3. Select “Force Reconnect” and press A
  4. Wait for status to become “Ready”
  1. Open overlay
  2. Toggle “P2P Proxy” on or off
  3. P2P enabled: direct peer connections via UPnP (lower latency, needs port forwarding)
  4. P2P disabled: all traffic relayed through server (more reliable, higher latency)
  1. Open overlay during gameplay
  2. Check “Session” for player count
  3. Check “Latency” for connection quality
  4. Close overlay to continue playing
  • Make sure Tesla Menu is installed correctly
  • Check that ryu_ldn_nx_overlay.ovl is in switch/.overlays/
  • Try reinstalling Tesla Menu

This appears when the sysmodule isn’t running:

  • Verify sysmodule files are in the correct location:
    atmosphere/contents/4200000000000010/exefs.nsp
    atmosphere/contents/4200000000000010/main.npdm
    atmosphere/contents/4200000000000010/toolbox.json
    atmosphere/contents/4200000000000010/flags/boot2.flag
  • Reboot your Switch
  • Check Atmosphere is working properly
  • Check your WiFi connection
  • Verify the server is online
  • Try “Force Reconnect”
  • Check server address in config/ryu_ldn_nx/config.ini