# Compiling Space Station 14 and authenticating on Nintendo Switch (arm64) https://github.com/space-wizards/RobustToolbox/issues/1443 This guide expects you have a [modded console vulneble to fusee-gelee](https://nh-server.github.io/switch-guide/) already with [SwitchRoot Ubuntu 18.04](https://wiki.switchroot.org/en/Linux/Ubuntu-Install-Guide) or [another distro](https://wiki.switchroot.org/en/Linux/Distributions) (have not tested i just noticed they existed while writing this but THERES FEDORA 39?!! UBUNTU 22.04 Modern wow) Also i had installed box86, im pretty sure it was NOT running in the background by itself but i will point it out just in case. NOTICE: (idk what date) I have not had sucess running in dotnet 8... though i was not trying much so idk maybe i fucked up something. I think ubuntu 18.04 is too old for this now. NOTICE 2: (2024-07-14) I HAVE RAN THE GAME ON SWITCHROOT UBUNTU 24.04 (and confirmed no box64). Using the package managers sdk too. I also updated the launch script to have some minor perfomance flags and a display set so that i can use ssh ## Compiling master 1. Get .net 8 sdk (At first on ubuntu 18.04 I used their auto install script, and needed to set .net home path too. But on 24.04 i just used the one from the package manager) 2. git clone the game and build it in release (`dotnet build --configuration Release`), make some coffe unless you compile this on another pc first which is probably smarter. It roughly will take 5 mins assuming you turned on cpu overclocking. 3. Install glfw (or if you cant do that compile glfw and drop it into the games root directory in ```bin```) 4. (ubuntu 18.04 only) Compile zstd and there probably is a better way to install it then copy pasting it into fucking /usr/bin whatever and overwriting it. 6. Run the game, it may take a bit so get a cup of tea this time. ## Compiling to latest wizden build 1. Check the connecting server for the git hash and clone from then (check the server with their server http /info api) 2. after step 2 above, checkout to that hash before compiling ## Launching the game with an authenticated account 1. Copy your token from your launcher on your working system 2. Run this command to start the game: ```export DOTNET_TieredPGO=1 && export DOTNET_ReadyToRun=0 && export DISPLAY=:0 && export ROBUST_AUTH_TOKEN=TOKEN && export ROBUST_AUTH_USERID=12345678-abcd-blabla... && dotnet run --project Content.Client --configuration Release``` (The dotnet args are for minor perf stuff, the launcher itself does this. Display is cause I was running commands via ssh and wanted the game to launch on the actual switch screen. Robust auth token is taken from the launcher (either take it from the running game using system informer or using a db browser on the launchers database file) idk if user id is required but I put it anyway. Just your accounts public user id. Also sourced from the above methods for getting the token. Lastly we run the client and ensure its running in release) 3. In the connection menu, put in the right account name and the ip address of the server (example for lizard: lizard.spacestation14.io:1212, salamander lizard.spacestation14.io:1213) 4. Have fun at 10-20 fps (undocked)! You should probably switch to overclocking with switchroot to make it a little more sane. ![PXL_20230429_133517477](https://hackmd.io/_uploads/HyXwB9wVa.jpg) ![PXL_20230429_140915500](https://hackmd.io/_uploads/HJmvBqDNp.jpg) ![PXL_20230429_142116780](https://hackmd.io/_uploads/r1XwBcwVp.jpg) ![lmao2](https://hackmd.io/_uploads/ByPyzQ3DC.png) Video in action (ubuntu 18.04 dotnet 7) https://youtu.be/HhWI7AO5Co4