3DS-RPC icon indicating copy to clipboard operation
3DS-RPC copied to clipboard

Add Pretendo Support

Open Preloading opened this issue 1 year ago • 4 comments

This is a pretty massive PR, that should (mostly) add Pretendo support. This should resolve #10 and it should resolve #23. I am so so so glad that this mostly done.

Some other modifications:

  • Updated NintendoClients to latest, but SQLAlchemy & Flask-SQLAlchemy are still outdated.
  • I probably broke the client, I tried to make it work, but it seemed to inconvenient to set it up, and after someone said it was deprecated, I decided not to test. I believe that it will probably be deprecated, as the web app is much more convenient and easier to use
  • Delete friend from the tables if it no longer has any discord accounts linked to it. (only on deletion from consoles page)
  • A new page which allows you to choose between creating a pretendo account, or nintendo account

Migration Steps

Since this is a pretty massive update, it does require some database changes. I created a handy migration SQL file. MAKE SURE TO BACKUP THE DATABASE BEFORE RUNNING THE FILE!!!, you can't easily revert this, so make sure you have a backup in case if something goes wrong. This should prepare the database for pretendo, but to get it to actually run the pretendo backend, you must use your sacrificial 3ds again, and redump the NEX keys, this time in pretendo mode (you can get into pretendo mode by using Nimbus) You will also need to modify your private.py and public.py according to template.private.py & public.py. You will also need to modify whatever you use to start the backend, to start it twice at the same time with the arguments:

python backend.py -n nintendo python backend.py -n pretendo or python backend.py --network nintendo python backend.py --network pretendo whichever is most convenient for you. This should be enough for you to have both Pretendo & Nintendo running! If it's not for some reason, please either comment on this post, or message me on discord (@Preloading)

Oh also, I recommend you do a test of it first, as I do not have the ablility to add activities.write to my thing, so I have no clue whether discord.py works.

Image Gallery Because I'm proud of doing this image image image

VERY BIG NOTE This isn't quite functional yet, due to a presumed bug in Pretendo, where NintendoClients hangs the script. I've gotten it to mostly work, to the point of testing for a short period, but it will hang if left running.

Also Jon, in issue #10, it was not as simple as swapping out the url D: (also thank you for the effort you put in pretendo team. Not only did you deal with my stupid questions, and fixing some sorta date time bug which made the code not work, and eventually the bug which prevents this from being finished, thank you for creating and hosting pretendo!)

Preloading avatar Apr 28 '24 02:04 Preloading

Please wait for pretendo to fix the bug that hangs it before merging

Preloading avatar Apr 29 '24 00:04 Preloading

Solves #29 aswell i guess

Preloading avatar May 03 '24 01:05 Preloading

Please wait for pretendo to fix the bug that hangs it before merging

It seems to be functioning after adding a horrifying fix, to make NintendoClients send ACK after 3170 years. This isn't permanent, but it should be fine till Pretendo fixes the bug that breaks this the code without this hack. So I'm gonna say, unless I find any other app-breaking issues, it should be fine to merge! (finally!)

Preloading avatar May 12 '24 17:05 Preloading

never... mind... it's hanging again

nooooooooooooooooo!

Edit 1: My hack is working again???? wha????

Preloading avatar May 12 '24 18:05 Preloading

Hope this PR getting reviewed. Nintendo network is shut down. Have you think about making a fork of this and create your own server?

ndan0 avatar May 18 '24 02:05 ndan0

@MCMi460 please merge, most people won't be on Nintendo server because no online games work with it

gllxflr avatar May 22 '24 15:05 gllxflr

It looks like the bug that has been breaking this has been fixed, but Pretendo seems to be having some server issues still that affect this a bit, but shouldn't impact usage of this that much

Preloading avatar Jun 04 '24 19:06 Preloading

Soooo, any idea of when will this be merged?

DFBR1208 avatar Jun 12 '24 23:06 DFBR1208

Soooo, any idea of when will this be merged?

In general, it's not polite to ask for an exact date - open source maintainers have their lives to handle, on top of the work of maintaining and developing projects :)

However, within the NSO-RPC Discord server, @MCMi460 stated they would like to begin reviewing this within the coming weeks.

spotlightishere avatar Jun 12 '24 23:06 spotlightishere

Soooo, any idea of when will this be merged?

In general, it's not polite to ask for an exact date - open source maintainers have their lives to handle, on top of the work of maintaining and developing projects :)

However, within the NSO-RPC Discord server, @MCMi460 stated they would like to begin reviewing this within the coming weeks.

Sorry if it sounded rude, just wanted to know about any update on the project so far, thx for replying!!

DFBR1208 avatar Jun 13 '24 03:06 DFBR1208

One quick question (I am not sure how PRs work really). If this PR got approved, why is it still open?

wish13yt avatar Jul 14 '24 17:07 wish13yt

One quick question (I am not sure how PRs work really). If this PR got approved, why is it still open?

Once a pull request is tested against the codebase it's supposed to merge with, it can be approved as functional, but still needs to actually be pushed into the codebase by a developer with that level of permissions (which are fairly few and far between in most projects)

TwistedTempest avatar Jul 14 '24 17:07 TwistedTempest

Thanks! I'm not that experienced with how GitHub works.

wish13yt avatar Jul 14 '24 17:07 wish13yt

One quick question (I am not sure how PRs work really). If this PR got approved, why is it still open?

It is also technically merged (see https://github.com/MCMi460/3DS-RPC/commit/8751376416cdecdc93697052fa157fedec3c6a31), but it was merged pretty poorly, missing some lines. So i really don't know why it's open

Preloading avatar Jul 14 '24 17:07 Preloading

It'll most likely get closed when Pretendo support is working and live.

HotaruBlaze avatar Jul 14 '24 17:07 HotaruBlaze

@Preloading does that mean it should work then?

gllxflr avatar Jul 16 '24 20:07 gllxflr

really hyped for this!!

onyxiarivera avatar Jul 19 '24 19:07 onyxiarivera

Squashed and merged in commit https://github.com/MCMi460/3DS-RPC/commit/8751376416cdecdc93697052fa157fedec3c6a31

Preloading avatar Aug 06 '24 17:08 Preloading