Skip to content

Instantly share code, notes, and snippets.

@TheReturningVoid
Last active February 2, 2023 14:36
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save TheReturningVoid/fcf97f941fafa25b8501d898580c9928 to your computer and use it in GitHub Desktop.
Save TheReturningVoid/fcf97f941fafa25b8501d898580c9928 to your computer and use it in GitHub Desktop.
Guide to Running Pegaswitch

Pegaswitch Getting Started Guide

A guide to getting your Switch from factory to running Pegaswitch.

Requirements

  • A Nintendo Switch running FW 1.0.0 - 3.1.0
  • A PC running any OS capable of running Node.JS that is connected to a network your Switch can connect to
  • ~30 minutes, give or take based on connection speed
  • Half a brain

Setting up the Environment

Windows

Windows users will need to setup the Windows Subsystem for Linux (WSL). Instructions on how to set that up can be found here. After WSL has been setup, continue with the Linux instructions, using the Ubuntu/Debian commands.

Linux

You will need to install git and nodejs from your distributions package manager. Please note that the version of NodeJS installed must be 8.x.x or higher.

  • Debian-based (Ubuntu, Mint, etc.): An alternate repository is required, as Ubuntu/Debian ships very old versions of NodeJS.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install nodejs git build-essential
  • Fedora:
sudo dnf install nodejs npm git
  • Arch Linux:
sudo pacman -S nodejs npm git base-devel
  • Other: See the installation guide for Node.JS to install Node.JS. Consult your distributions package manager to find packages for git and nodejs if the installation guide doesn't support it.

OS X/macOS

You will need to install Homebrew to download the necessary packages. After Homebrew is installed:

brew install node git

Setting up Pegaswitch

  1. In a terminal window, navigate to the location you want to install Pegaswitch to, and clone the Pegaswitch git repository using git clone https://github.com/reswitched/pegaswitch.git.
  2. Navigate into the new pegaswitch directory, and run npm i. This will install all the modules needed for Pegaswitch to function.
  3. Start Pegaswitch with sudo node start --setuid <user_id>. Your user id can be found by running id, and searching the number next to your username (typically 1000, on a single-user system).
    • If you are using Puyo Puyo Tetris or fakenews to access Pegaswitch, add --webapplet to this command.

Launching Pegaswitch

  1. Setup a connection to the Internet on your Switch, if you haven't already. Don't stay connected for too long without setting the DNS, otherwise your Switch may download an update.
  2. On your Switch, go into Settings -> Internet -> Internet Settings, pick the network your computer running Pegaswitch is connected to, and select Change Settings.
  3. Select DNS Settings and change it from Automatic to Manual. Set the Primary and Secondary DNS settings to the IP address that Pegaswitch shows in it's console.
    • 1.0.0: Follow the instructions here to launch Pegaswitch with Puyo Puyo Tetris.
    • 2.0.0 or above: Go back, and select Connect to This Network. If you set it up correctly, the connection should fail with the message "Registration is required to use this network.", and you will enter Pegaswitch.
  4. Congratulations! You have successfully run Pegaswitch on your console!

Optional: Setup fakenews

fakenews is an alternative way of starting Pegaswitch that uses a fake news entry installed into the news applet. This method is highly recommended for Puyo Puyo Tetris users, as it provides a much more convenient way to access Pegaswitch without needing the game. This works for all versions, however, so it's up to you if you want to use this method.

  1. In the Pegaswitch console, run evalfile usefulscripts/installFakeNews.js. Don't worry if your Switch restarts after running this command - this is normal.
  2. If you were using the captive portal method (ie. not using Puyo Puyo Tetris) to get into Pegaswitch, restart Pegaswitch with the --webapplet argument added to the command.
  3. Open the news applet, select the new "Launch Pegaswitch!" option, and follow the instructions on the page to start Pegaswitch.

FAQ/Troubleshooting

Can I use Pegaswitch without running it on my computer/being connected to the internet?

No. Pegaswitch is controlled entirely from the console running on your computer, and as such, there is no way to run it without a computer.

I can't get into Pegaswitch! Help!

There are a few possible problems:

  • You didn't type the DNS IP properly in your Switch. Double-check that it matched the one displayed in the Pegaswitch console.
  • Pegaswitch isn't running on your computer. Make sure that Pegaswitch is started and running on your computer, and that it didn't crash with an error.
  • Your firewall might be blocking the required ports. Consult the documentation for your systems firewall to unblock UDP port 51, and TCP ports 80 and 8001.

What can I do with Pegaswitch?

  • Set your RTC to make Flog launchable using the setRtc.js script
  • Dump your game carts with this script
  • Dump your saves with this script
  • Backup parts of your Switch's NAND using this script
  • Get the files you need for key bingo using the dumpArchives.js script

I have a question!

Feel free to ask any of us for help in the ReSwitched Discord!

Where's the silly part of the FAQ at the end to make people laugh?

Nope, none of those here.

Credits

  • Omninewb: For writing the initial version of this guide that I based this one off of
  • The ReSwitched team: For making all of this possible
@theheroGAC
Copy link

maybe there's a firmware error. Version 3.1.0 does not exist thank you

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment