kinnay / NintendoClients

Python package to communicate with Switch, Wii U and 3DS servers
MIT License
537 stars 63 forks source link

Is there a specific way to utilize the "server.py" as a server for Ryujinx/Yuzu players to connect to? #93

Open realgorgan opened 1 year ago

realgorgan commented 1 year ago

As (statistically) Nintendo could be releasing a new console in the next year or two, I wanted to start working on custom servers for the Switch, not with the intention of taking money and customers away from Nintendo, that isn't what I'm here for. I would like to build them for preservation reasons because who knows, in the next decade we might not have Nintendo Switch Online and might have something else. I understand that a GitHub repo called CloudNX exists but that doesn't look like it's going to do much. If anyone would like to contact me in private to talk about this my discord is as follows gorgan#2052

I really appreciate this github repo, it is amazing how long I've been stuck reading on here! Thanks for the help!

Edit: Running any of the python scripts after it is setup results in it returning to the CLI, I'm definitely missing something here?

kinnay commented 1 year ago

It's quite easy to redirect an emulator (or the real Switch) to a custom server. Just write an exefs patch for the game that patches the server url. However, keep in mind that writing custom servers isn't easy, as it requires a good understanding of how they are designed.

The server.py script in this repository is very basic and not made for the Switch. If you are looking for a more elaborate example, maybe check out the custom server that I made for SMB35: https://github.com/kinnay/SMB35.

Edit: Running any of the python scripts after it is setup results in it returning to the CLI, I'm definitely missing something here?

I'm not sure what you mean. Like, does the scripts exit immediately, without even printing a traceback?

realgorgan commented 1 year ago

Yes it exits immediately after running the command, no output whatsoever.

kinnay commented 1 year ago

That's weird, I have no idea how that is possible.

realgorgan commented 1 year ago

Hmm interesting, I'll have a look at your SMB35 and sorry for the late reply too. I'll see if I can do some exefs patches on some games and run some tests with the server you've already made!

realgorgan commented 1 year ago

Hello again! Long time no speak eh? I've recently been researching further into this topic and I haven't exactly found a way to inject exefs patches into the system to patch urls? Is there a specific way that I'd do this through an NX emulator?

kinnay commented 1 year ago

I think you have to create an IPS patch and put it into a specific folder. See https://github.com/Ryujinx/Ryujinx/wiki/Ryujinx-Setup-%26-Configuration-Guide#managing-mods.

Both Ryujinx and Yuzu have a discord server btw. It's probably better if you ask people there, because they probably know more about this than me.

realgorgan commented 1 year ago

They are hopeless :D

realgorgan commented 11 months ago

What happened to the lan_host.py within the examples?