PracticeGUI is a GUI for smo-practice-server.
Important
- A hacked console or an emulator is required. This guide covers setting up an already hacked console that uses Atmosphere CFW (for setting one up, use the NH Switch Guide).
- A copy of Super Mario Odyssey is required (you do not need a dump of your game). Version 1.0.0 is also recommended, and if you have a higher version, it is easily & legally obtained if you have the first requirement: Odyssey Downgrade. That tool is recommended because it keeps the update file intact which may become important at some point.
- General knowledge of how to use and modify a hacked console (as in installing apps, managing game files, etc.)
- On your hacked console, install SimpleModManager. It is a useful tool to manage mod installations so that you can easily toggle them on/off, and makes sure your base game doesn't get corrupted.
- Use the Practice Mod generator to generate a personalized copy of the Practice Mod that will connect to the machine hosting the Practice Server.
Tip
If you've properly port-forwarded the correct ports on the server (which is in no means recommended or tested), you could in theory TAS from anywhere and the below text would not apply to you. If you really want to do this, forward port 7902 and use your machine's public IP (or a URL that points to it) for generation. Again, this is NOT TESTED and just a plausible theory of mine.
Important
Assuming the tip above does not apply to you, the Practice Mod will look for your machine's private IP, which both (a.) is different across all Wi-Fi networks and (b.) is not globally accessible. This means that even if your machine is portable, you need to generate a different copy of the Practice Mod for every different location/network you want to TAS from (and if you don't have a portable machine, you can forget about it). If you are on a different network and the Practice Mod suddenly stops connecting to the server, now you know why!
- Unzip the downloaded archive and copy the contents of the
atmospheredirectory to[Switch SD Root]/mods/Super Mario Odyssey/Practice Mod/. - From your Switch, open the SimpleModManager Homebrew app.
Caution
If using Applet Mode to launch Homebrew apps, don't launch the Homebrew menu from Super Mario Odyssey. (Modifying the contents of a running game is a bad idea!)
- Navigate to Super Mario Odyssey and toggle the mod called Practice Mod
Important
Make sure you follow these steps on the same machine you used in generating the Practice Mod copy (ie. the machine you're setting up the Practice Server on is the machine with the IP address you used on the Practice Mod generator)
- Clone this repository locally
cdto the cloned directory and runnpm install.- Run
npm startto start the web app. Connect to port3000in a web browser to use the GUI.
From here, launch Super Mario Odyssey. Open a save file and use the D-Pad to navigate to TAS, and press D-Pad Right. Navigate to Connect to server, and press D-Pad Right. The GUI should display a connection and the buttons will unlock.
The server dashboard can now configure options for the mod that are usually set in-game via the menu. This functionality requires a custom version of the mod, which you can get here. (Until I get prebuilds set up you'll need to build it yourself; it's pretty straightforward.)
In order of priority:
- Integrate with Google Sheets to allow directly loading TSV scripts
- Parse variable-metadata from TSV scripts
Note
This will be harder to implement than I expected because it's difficult to get Apps Script scripts to interact with the local network. This is still the #1 priority, it will just take some time.
(If you have no idea what I'm talking about, just wait)
Every project I used here was linked as a GitHub repo in this README at some point (I think), so credit goes to the authors of those repositories. The Practice Mod generator was made by MonsterDruide1. Also credit to the authors of any packages I used.