Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question regarding the use of your own domain and without proxy #144

Open
LightRO opened this issue Sep 28, 2024 · 8 comments
Open

Question regarding the use of your own domain and without proxy #144

LightRO opened this issue Sep 28, 2024 · 8 comments
Labels
question Question about the project

Comments

@LightRO
Copy link

LightRO commented Sep 28, 2024

Hello, I would like to use this network without proxy just like the official Pretendo does.

For this I have bent all pretendo.cc and pretendo.network addresses in the src and pointed to my URL.

I have also converted Nimbus. At the moment, everything is actually working so far. Account, friends, Juxt work without any problems. However, if I want to play Mario Kart 7, for example, and go to Online, I can select Global, Versus Race and then select my respective character. Then I can search for players.

If I now add a 2nd 3Ds and do the same, the error code 006-0612 appears on the 2nd device after a while.

In proxy mode, however, it works without any problems. I know that I have rebuilt mine a lot and it will be difficult to get help, but maybe someone can help me and solve the last error I have here. Or give me a tip :D

@MatthewL246
Copy link
Owner

MatthewL246 commented Sep 29, 2024

I suspect this is because pretendo-docker doesn't implement NNCS, the Nintendo NAT check server. Games must connect to this server once before starting an online multiplayer game. Pretendo-docker doesn't currently implement NNCS because hosting it requires running it on two separate servers with different external IP addresses, which would add additional inconvenient, manual steps to the pretendo-docker setup process. Not everyone has two separate servers either.

The proxy method works because NNCS does not respect the proxy settings, as it uses a UDP protocol, not HTTP. Consoles that use a proxy to connect to a local pretendo-docker instance are actually using Pretendo's official NNCS servers. This works fine because NNCS doesn't integrate with any of the other Pretendo services (i.e. it does not handle accounts or devices at all - it essentially just responds to pings). This would explain why your server only works using the proxy method but not with the custom Nimbus build: it still contacts Pretendo's NNCS server when using proxy, but it attempts to contact a local NNCS server running on your pretendo-docker instance when using the custom Nimbus. Since the local NNCS server doesn't exist, the game errors out.

The simplest way to fix this is to remove your custom server address from the NNCS patches in Nimbus. Return them to nncs1.app.pretendo.cc and nncs2.app.pretendo.cc so that your console can use Pretendo's NNCS server, and you should be good to go.

If you have the required multiple servers, you could also host NNCS on your own.

@MatthewL246 MatthewL246 added the question Question about the project label Sep 29, 2024
@LightRO
Copy link
Author

LightRO commented Sep 29, 2024

Perfect, that was exactly what I was missing. Thank you very much.
Fortunately, I have several IP addresses, so I was able to run it on my own.
Now it works great. But why SMM1 and Pokemon Gen6 are still not working is beyond me. Both servers are running and there are no errors. But a connection can definitely be established because the servers respond to the requests.

@MatthewL246
Copy link
Owner

Do they work with the proxy? If not, it's probably because they haven't been tested thoroughly enough on the 3DS or otherwise because of upstream server bugs. If they do, I'm not sure why they wouldn't work with a custom Nimbus. NNCS is the only required but unimplemented server that I know of.

@LightRO
Copy link
Author

LightRO commented Sep 29, 2024

Unfortunately, it didn't work even with a proxy.
I have tried the following games:

SMM1 -> Server responds to the request but still an error occurs

Mario Kart 7 -> Works perfectly and without errors

Pokemon Gen 6 -> Server responds but none of the editions can connect to the server properly.

RPG-Maker-FES -> Server is apparently started, but no log is output. In addition, it is not possible to connect to the server.

Zelda TFH -> Server responds to Client 1 requests, can open a session, Client 2 now searches for a session and receives an unexpected error.

Luigi's Mansion 2 -> Apparently a script error in the server system. Server cannot be compiled.

This is the current status I was able to test regarding the 3D. In proxy mode and without proxy mode all behave the same.

I would also like to test CEMU, but I don't yet know exactly how to get it to connect to my servers correctly. I have already modified the source. I also get requests, but it does not establish a proper internet connection.

@MatthewL246
Copy link
Owner

Thank you for sharing your test results, that is good to know! You've done more testing with those games than I have at this point. Unfortunately, I don't have a lot of free time to add and test new servers right now.

@LightRO
Copy link
Author

LightRO commented Sep 30, 2024

No problem, if you need anything I will be happy to provide you with it, even if I no longer use the proxy mode, the core is the same. I haven't changed anything. Yesterday I got Luigi's Manson 2 compiled as a server and integrated it into your core system. So you could also use it for the proxy variant.

But I still have a question about sending mail. I have a mail server (SMTP) with StartTLS. Do you know how I configure it so that it sends mails?

@MatthewL246
Copy link
Owner

MatthewL246 commented Sep 30, 2024

You'll need to edit account.env and modify the PN_ACT_CONFIG_EMAIL_* variables to configure the connection to your SMTP server. Check the Nodemailer docs for more information about the configuration.

@erew70
Copy link

erew70 commented Oct 14, 2024

Hello, I would like to use this network without proxy just like the official Pretendo does.

For this I have bent all pretendo.cc and pretendo.network addresses in the src and pointed to my URL.

I have also converted Nimbus. At the moment, everything is actually working so far. Account, friends, Juxt work without any problems. However, if I want to play Mario Kart 7, for example, and go to Online, I can select Global, Versus Race and then select my respective character. Then I can search for players.

If I now add a 2nd 3Ds and do the same, the error code 006-0612 appears on the 2nd device after a while.

In proxy mode, however, it works without any problems. I know that I have rebuilt mine a lot and it will be difficult to get help, but maybe someone can help me and solve the last error I have here. Or give me a tip :D

Check the nimbus repo and replace the urls except the nncs url to yours and create the patches, you need to dump some files from your 3ds tho

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Question about the project
Projects
None yet
Development

No branches or pull requests

3 participants