Pairing Issues with recent versions of Sunshine
Describe the bug A clear and concise description of what the bug is. 3ds cannot pair with Sunshine Versions successive to 0.23.1
Sunshine got updated to fix vulnerabilities in the pairing process and it seems the 3ds version of Moonlight could connect because of those vulnerability, so new users who are using latest releases of Sunshine are unable to pair successfully.
The pairing is initiated and remains stuck for various minutes, until it goes in time out.
To Reproduce Steps to reproduce the behavior:
- Go to '...'
- Click on '....'
- Scroll down to '....'
- See error
Expected behavior A clear and concise description of what you expected to happen.
Please, update Moonlight so that it can perform the pairing correctly to the current Sunshine releases.
Screenshots If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
- OS: [e.g. iOS] Windows
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
Smartphone (please complete the following information):
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
Additional context Add any other context about the problem here.
Best regards
Happens to me as well. The software is now unusable.
I'm no expert here but I think it has to do mainly with these 2 commits: https://github.com/zoeyjodon/moonlight-N3DS/commit/ca4c517510d64870f8759330c8a6012572af64e3 https://github.com/zoeyjodon/moonlight-N3DS/commit/8fb2c72ca1781279bd7a6d9e6f98d13e9587616b These were done on moonlight-embedded, but not here.
In short: Maybe updating to the latest version of moonlight-common-c will fix this. Keyword: Maybe. I could be wrong.
Can confirm this issue. I deleted my previous pairing (created prior to this update) attempting to troubleshoot another issue and ended up completely locking myself out of using moonlight for 3DS because I can no longer pair the system.
Based on that, the security measure that was added in common-c but not here has to do with pairing devices. Maybe.
I tried updating to the latest version of common-c, and it does seem to complete the pairing process now. However, it takes several minutes for it to even initiate the pairing process, and it will not start a stream after pairing.
For the latter, "not start a stream after pairing", what do you mean? Do you mean that it doesn't start the stream and you have to leave and go back in to start the stream, or is starting a stream completely impossible?
Previously it would just hang on the pairing screen until it timed out once I entered the 4-digit code into Sunshine. With the latest version of common-c, it will pair and successfully register the pairing in moonlight for 3DS. However, when I use that saved IP, it repeats the process again where I have to wait several minutes and then the pairing menu pops up again, as if it didn't pair (yet when I check sunshine, the device is definitely there...)
I have a feeling the 3DS is not initiating the handshake to start a stream properly but I cannot figure out why it worked with my previous pairing and now does not. I have tried deleting the entire moonlight folder and reinstalling the cia in case the cached files are corrupted. Something is just not working properly.
I'm currently looking to update to the newest version of embedded instead, but I'm currently having some difficulties compiling it via Docker (i didn't change anything yet), etc/profile.d/dev-env.shis missing. It happened on both my Win10 and Win11 PCs.
I don't know if I should make an issue on this or if it's a "works on my machine" problem. I'm not very used to this.
Did you initialize the submodules? Also, if you are on windows, you will have to make sure that you use this command when cloning the repo or you will run into another error (I had to troubleshoot this when compiling it on my machine):
git clone <your_repo_here> --config core.autocrlf=input
Let me know if it works on your 3DS with the updated version of embedded.
I have re-cloned with core.autocrlf set to input and I have cloned recursively to handle the submodules.
etc/profile.d/dev-env.sh still doesn't exist.
If possible, I'd like to know when dev_env.sh is created. I think that'd help me troubleshoot much quicker.
Right now my guess is devkitARM because of dev-env, but I doubt that's the real reason.
PS. I don't want this issue to go super off-topic, should we troubleshoot somewhere else?
Alrighty, looks like it's dekitPro's fault. "If you're using a bash shell logout and login again to get the environment settings needed, otherwise check /etc/profile.d/devkit-env.sh and set the variables for your chosen shell."
Did you get it working? I'm not sure where else we would go to troubleshoot. I'm only knowledgeable on my own experience compiling the cia.
I still have yet to get it working. I've tried re-adding FROM Ubuntu 22.04 and I've tried changing my devkitPro version to what was, at the time of the last release of moonlight-N3DS, the latest version (devkitpro/devkitarm:2024051).
I've hit a wall and this is the first time I've used Docker. Other than knowing that it's devkitARM's fault I've found little to help me.
The pairing code doesn't even show up for me
I managed to get this working and built it myself with the latest version of moonlight-common-c which solved the problems I was having. I have released the .cia here and created a pull request for this repo as well: https://github.com/harb88/moonlight-N3DS/releases/tag/v2.0.1
I managed to get this working and built it myself with the latest version of moonlight-common-c which solved the problems I was having. I have released the .cia here and created a pull request for this repo as well: https://github.com/harb88/moonlight-N3DS/releases/tag/v2.0.1
Still can't make it work somehow, it just stays stuck while trying to connect even though i double checked my console and my computer are on the same network and Sunshine is correctly running and at the latest version.
Got any ideas why it doesn't work ?
Still doesn't work for me either with harb88's version
I got harb88's version to work by resetting sunshine after pairing finished. before trying to reconnect to the host. Its not a clean solution, so I need to look into it some more, but it might give some of you something that's at least workable in the meantime (life got busy so I haven't had as much time to work on this)
(life got busy so I haven't had as much time to work on this)
Thanks for your contributions, Zoey.
Just to remind you guys the rule number 1 of open source: https://mikemcquaid.com/open-source-maintainers-owe-you-nothing/
Thanks Zoey! I don't think I had any issues because I had deleted the pairing for my 3DS from Sunshine after I'd failed to get the old version working, so when I installed the updated version I had to go through pairing first.
Just uploaded a new version that seems to fix the lingering issues I was having with pairing, If anyone's still having pairing issues with v2.1.0 lemme know!
I still have error 104 when trying to stream again after closing the previous one