Setting up Lan-Play

Things you will need

  • a CFW Nintendo Switch
  • a Computer (Windows, Mac, Linux) or Raspberry Pi

Table of contents


Computer setup

Windows

Loopback packet capture driver

(If you have npcap installed, please uninstall and use winpcap instead. having both lnstalled will only cause issues)

Download the lan-play client

lan-play client 32bit
lan-play client 64bit (if you're not sure, you probably want this one)

Open the lan-play client

You can also just double click the .exe file.

Enter the lan-play server address

You can use Kinket's lan-play server (lan.kinket.app:11451) or one of the servers from the Lan-Play Website. You'll see the following type of output:

if you see fail on any of the interfaces, please uninstall npcap and install winpcap .if pcap loop start (or something similar) got printed to the output, everything is working fine. also if you see uv_pcap_interf_sendpacket failed -1 this is also fine, alternatively you may use the --netif eth0 or netif <correct interface>argument to make lan-play stop spamming terminal.`


Mac

Open the Terminal app. Execute the following commands:

1
2
3
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ## installs homebrew
brew install libpcap libuv switch-lan-play # installs lanplay and dependecies
sudo lan-play # start the client

Linux

1
2
3
wget https://github.com/spacemeowx2/switch-lan-play/releases/download/v0.2.3/lan-play-linux # download the client from GitHub
chmod a+x ./lan-play-linux # make the client executable
./lan-play-linux  # start the client

Some Linux distributions might have lan-play in their package repository - feel free to use that instead of directly downloading the binary.

If you prefer building from source, you can follow the Raspberry Pi instructions


Raspberry Pi

There's no prebuilt binaries for ARM architectures - you'll have to build the client from source.

sudo apt-get install libpcap-dev libuv-dev gcc g++ cmake # download dependencies

git clone https://github.com/spacemeowx2/switch-lan-play.git # clone the lan-play repository into the `switch-lan-play` folder in your current working directory

cd switch-lan-play
sudo mkdir build
cd build
sudo cmake .. # prepare makefile
sudo make # actually build the client

cd src
sudo chmod +x lan-play # make the binary executable
cp lan-play $HOME # copy the binary to your home directory, you can also copy it anywhere else
cd ~
./lan-play --relay-server-addr lan.teknik.app:11451 # start the client, you can replace the relay server address or omit the whole argument if you want to input it interactively

Switch setup

Get the latest release of ldn_mitm

Download ldn_mitm from here

Drag and drop the contents of ldn_mitm_<version>.zip to your SD card root

Eject safely and boot into CFW

Head to the Internet Settings page

Hit Change Settings

Enter the following settings

Change the IP and DNS mode from Automatic to Manual

The IP address can be anything from 10.13.0.1 to 10.13.255.254, excepting 10.13.37.1. But don't use the same IP address as your friend.

IP Address Settings
IP Address: 10.13.XX.YY
Subnet Mask: 255.255.0.0
Gateway: 10.13.37.1

These are the 90DNS settings, only set this up if you don't have Exosphere or dns.mitm set up or you aren't sure. Keep in mind that 90DNS often slows the connection down (and tends to cause timeouts). I recommend setting up Exosphere or dns.mitm instead and using the Cloudflare DNS (primary: 1.1.1.1, secondary: 1.0.0.1).

DNS settings
Primary DNS: 163.172.141.219
Secondary DNS: 207.246.121.77

Save your settings, and try to connect to the Internet

If the connection test fails, make sure that:

  • your lan-play client on your computer is running and waiting for connections
  • your internet settings are correct.

If the connection test succeeds, you are now ready to play any of the supported games. A non-exhaustive list of supported titles can be found in the Helpful links section.

To revert back to normal, change the IP and DNS settings from Manual back to Automatic.

Edit
Pub: 16 Nov 2022 14:42 UTC
Edit: 13 Mar 2024 16:07 UTC
Views: 23973