Bot Startup Details - kwsch/SysBot.NET GitHub Wiki

Read the Troubleshooting section if you are having trouble running the program!

Q: Do I need custom firmware to run this?
A: Yes.

Q: Do I need a hackable Nintendo Switch to run this?
A: Yes.

Q: How do I know if my Nintendo Switch is hackable?
A: Try installing custom firmware -- follow an updated text guide from a trusted source (don't ask us for a link -- you can be resourceful!). If custom firmware can be installed, then you're good to go!

Q: Should I run this on EmuNAND to avoid a ban?
A: No, EmuNAND should stay offline always, and you do not need it for SysBot.NET. You should only perform online functions on SysNAND/SysCFW. Going online on both is a ban risk.

Q: Do I need a legitimate copy of the game to run this?
A: Yes, pirated games will get your Switch banned. You should purchase the games and run legitimate copies online.

Q: Can I use this on LGPE, SM/USUM, XY/ORAS, etc?
A: No, this only works for SWSH, BDSP, LA, and SV. If a specific bot type does not specify which games it works on, it works for all of these games. Otherwise, only specified games are supported.

Q: How do I install this?
A: Download the latest commit (link to download page), then extract and run the executable. Currently, only 64-bit platforms are supported.


General Program Usage

For best use of SysBot.NET, we recommend a clean installation of Atmosphère on your SD card with as few extras as needed.

  • Dock your joycons and disable all extra controllers. It is also acceptable to disconnect all controllers entirely from the system menu.
  • Ensure that your PC is on the same local network as your console without any VPN/DNS service running. If your router is dual banded, make sure your PC and console are on the same band. You should have a reliable Wi-Fi and internet connection as timing is important for these bots.
  • Disable Sleep Mode for your console. Official instructions here. Some games permit the use of the AntiIdle toggle which presses B periodically.
  • Current requirements for Atmosphère, sys-botbase, and ldn_mitm:
    • sys-botbase or usb-botbase is required for SysBot.NET to communicate with the Switch.
      • sys-botbase: Download the latest version of sys-botbase.zip from Releases and extract the contents to the root of your SD card. This connects on port 6000. Reboot your Switch afterwards.
      • usb-botbase: If you are unable to maintain a stable Wi-Fi connection, consider usb-botbase instead.
    • Latest version of Atmosphère and Hekate are recommended. Follow their installation instructions.
    • SWSH only: this fork of ldn_mitm allows connecting to SWSH without being online. It is necessary for Raid Bot, a helpful feature to counteract softbans and disconnects in tradebots, and optional otherwise. It is unnecessary if you choose to run usb-botbase. Note that the official release is very slow to update and may not work for our applications.
  • Disable any CFW-based RAM read/writing processes and cheats (e.g. via EdiZon or Checkpoint) that can shift your RAM. CaptureSight and Tesla are known to cause issues. Many layeredfs mods fall into this category.
  • All of your files need to be somewhere accessible to the bot. Do not put your bot files in OneDrive.

Mode

  • The mode is set in the config.json file and determines what game you are running the bots in.
  • To generate a config.json file, open the program once and close it. The file will be in the same folder as where your SysBot.exe is. Open the file in a text editor and edit the Mode for the game you want to automate:
    • 1 for Sword and Shield
    • 2 for Brilliant Diamond and Shining Pearl
    • 3 for Legends: Arceus
    • 4 for Scarlet and Violet
  • If you did this correctly, the game should be displayed in the header like "(SWSH)", "(BDSP)", "(LA)", or "(SV)".
  • You cannot mix bots from different games (e.g. both Sword and Shield can be on the same instance of the program, Sword and Brilliant Diamond cannot be on the same instance of the program). Run the bot for each game in a separate folder.
  • Adding a bot type that is not supported for the current mode will result in an error message.

In-Game Requirements

Ensure the game is set up correctly:

  • Stand in the correct area for the bot you want to run. Certain considerations are listed on the associated Bot Wiki page.
  • If you are trying to run a trade bot, ensure that you are able to trade online and have gone through the motions once to get rid of help prompts.
  • Set your text speed to Fast. This is an in-game setting.
  • Set your in-game PC to Box 1 for anything that is receiving Pokémon or trading.
  • You should be standing in the overworld without any in-game menus open when starting the bot.
  • Disable casual controls from the in-game Settings for SWSH.

GUI Usage

  1. Launch the executable (.exe). You will see a program pop up. The game should be in the header. This example has already had some SWSH bots added but not started:

    Main Screen

  2. Add Pokémon to the Hub's configured folders. The distribution/dump folders will be automatically created. You can always change the settings to different folders from default.

  3. Verify the Hub's settings. It is recommended that you change the default trade code settings to something unique! See the individual pages of this wiki for the bot you want to configure. This example is configured for LA mode.

    Config

  4. Add the IP/Port of the console for each bot. The port should always be 6000 for sys-botbase and varies for USB-botbase.

  5. Click Start when ready. You should see trainer data appear and the lamp should turn green. If the lamp does not stay green, read the "Logs" at the top to see what errors occurred.

    Running

  6. Bots will run until Stop is pressed. Idle can be used to tell a trade bot to complete the current trade and then do nothing.

  7. Close the program. The settings will be saved between sessions.

  8. Note: Some settings can be changed during runtime, while others are only used during startup (high initialization cost).

Note: For clean stopping (finish current task) rather than an abrupt stopping, hold control or shift when clicking the Stop button. The bot will finish its current task, and go to the idle state. You can also right click a specific bot and choose "Idle". If you want to restart, do a regular Stop, then Start.

If anything here is not behaving as expected, refer to Troubleshooting. Look at the Logs tab if you have errors. The program also creates text logs with more information in the log folder.