MM-LINX - Super Mario Maker 2 Level Injector

nstall the MM-LINX homebrew application on your switch, to install levels uploaded to https://tinfoil.io/MarioMaker/ directly to your Super Mario Maker 2 Level slots!

Very early release, please be patient and it will get better with time as all of my applications do :) Feel free to post feature requests and bug reports.

This is currently hard coded to use the first user profile. Please ensure that Super Mario Maker 2 is not running, and that you have at least one SMM2 save on the first user's profile.

For maximum compatibility and stability, we recommend that you use ReiNX or SX.

Download: https://github.com/blawar/mmlinx

edit: 1.01 fixed sorting, press + to sort
edit: 1.02 added support for uploading your levels to tinfoil.io from MM-LINX
edit: 1.03 added file browser for installing levels from (sd, ftp, http, gdrive, usb, etc), search, ability to change user, translation (needs work), ability to copy files to and from smm2's save directly, themes, other stuff I probably forgot.
edit: 1.04 saving / loading is now much faster and does not overwrite your save progress; added columns for difficulty, rating, and course id; ability to unlock hammer and super flower on supported cfw's.
edit: 1.05 increased security, mandatory update. Cloud servers will no longer work with previous versions (downloads section will be empty).


mmlinx4.jpg
mmlinx3.jpg
mmlinx2.jpg
mmlinx1.jpg




Download: https://github.com/blawar/mmlinx
 

Attachments

  • mmlinx3.jpg
    mmlinx3.jpg
    442.9 KB · Views: 2,080
  • mmlinx1.jpg
    mmlinx1.jpg
    206.2 KB · Views: 589
  • mmlinx2.jpg
    mmlinx2.jpg
    99.5 KB · Views: 646
Last edited by blawar,

silvershadow

Well-Known Member
Member
Joined
May 16, 2006
Messages
433
Trophies
1
XP
2,465
Country
Canada
I'm just posting yo thank you again.
I've been playing some levels (and I'm stuck on several) and it works perfectly.
Thanks.
Nice glad your enjoying, i might start playing levels again. the past few months, i havent really been playing, just downloading levels lol.
 

jajajavier21

Active Member
Newcomer
Joined
Jul 19, 2020
Messages
33
Trophies
0
Age
37
XP
835
Country
Ecuador
@tglaria

All stages has been uploaded to MM-Linx/tinfoi.io

As a bonus for the Mario Maker 2 fans, I'm going to share a little project I been working on for a while.



There are packs from some familiar faces around here. I have indicate who uploaded the pack (Cris, Bazqux, Rodriguinho5677).

If I mislabeled a pack, I apologize in advance, please send the mistakes to [email protected] and someone will get right on it. (lol)

Hope you all enjoy!
Wow man, I can see that is a lot of effort you out there, thanks for sharing the levels, I see your last modification was jan 18th, are you going to continue updating that folder? best regards, you are the best!
 

silvershadow

Well-Known Member
Member
Joined
May 16, 2006
Messages
433
Trophies
1
XP
2,465
Country
Canada
Wow man, I can see that is a lot of effort you out there, thanks for sharing the levels, I see your last modification was jan 18th, are you going to continue updating that folder? best regards, you are the best!
I still rip stages. I just been working on trying to automate some of it, so i been ripping and saving, just havent uploaded yet. if you follow the patterns, i havent missed anything, but i just didnt get to upload. ill be around until either my switch dies, switch gets banned, or i completely lose interest in my only game. lol

even if i some how lose interest in mario maker 2, ill still do requests :D
 
  • Like
Reactions: jajajavier21

jajajavier21

Active Member
Newcomer
Joined
Jul 19, 2020
Messages
33
Trophies
0
Age
37
XP
835
Country
Ecuador
I still rip stages. I just been working on trying to automate some of it, so i been ripping and saving, just havent uploaded yet. if you follow the patterns, i havent missed anything, but i just didnt get to upload. ill be around until either my switch dies, switch gets banned, or i completely lose interest in my only game. lol

even if i some how lose interest in mario maker 2, ill still do requests :D
I hope you never lose interest in this project, I'm really thankful with you for this, yesterday I was trying to access the google folder but it don't allow me to see anything I already request access but it seems is not arriving to your email, can you provide access to this email please jajajavier21 @ gmail . com thanks again for all of your help. Best Regards
 

silvershadow

Well-Known Member
Member
Joined
May 16, 2006
Messages
433
Trophies
1
XP
2,465
Country
Canada
I hope you never lose interest in this project, I'm really thankful with you for this, yesterday I was trying to access the google folder but it don't allow me to see anything I already request access but it seems is not arriving to your email, can you provide access to this email please jajajavier21 @ gmail . com thanks again for all of your help. Best Regards
Ill fix it and post a new link.
 

Bonobhoy

Member
Newcomer
Joined
Oct 27, 2020
Messages
17
Trophies
0
Age
45
XP
88
Country
United Kingdom
Anyone help. I have downloaded the 8.1o version of MMlinx.
The levels appear in text format,when i click download i an download a leverl,however when i go to download anotehr level it overwrites the same save slot,how do i change save slots for each download?

Also i have just downloaded the Year 1 and Year 2 files,i can see there are hundreds of levels in each zip file.....How do i install these downloaded levels onto my switch as a full file?

thanks
 

BulletExodus

Member
Newcomer
Joined
Jul 13, 2018
Messages
19
Trophies
0
Age
30
XP
159
Country
United States
Also i have just downloaded the Year 1 and Year 2 files,i can see there are hundreds of levels in each zip file.....How do i install these downloaded levels onto my switch as a full file?

thanks
All you have to do is unzip the archive you want, move it into the Checkpoint save folder for SMM2, and import it on the switch.

I haven't tried moving everything in one folder, but I'm not sure if the game could handle all that. Might test it one day.
 

Bonobhoy

Member
Newcomer
Joined
Oct 27, 2020
Messages
17
Trophies
0
Age
45
XP
88
Country
United Kingdom
All you have to do is unzip the archive you want, move it into the Checkpoint save folder for SMM2, and import it on the switch.

Where do i find the checkpoint folder? Do i create one on the SD card? I have so many games on my SD card but they are not named by title so idont know which folder SMM2 is.

--------------------- MERGED ---------------------------

All you have to do is unzip the archive you want, move it into the Checkpoint save folder for SMM2, and import it on the switch.

I haven't tried moving everything in one folder, but I'm not sure if the game could handle all that. Might test it one day.


Where do i find the checkpoint folder? Do i create one on the SD card? I have so many games on my SD card but they are not named by title so idont know which folder SMM2 is.
 

silvershadow

Well-Known Member
Member
Joined
May 16, 2006
Messages
433
Trophies
1
XP
2,465
Country
Canada
26 new packs added.

Packs to note: I've put all of the smmcollab worlds located here: https://smmcollab.home.blog/

I've also added Multiplayer packs for using with Switch-Lan-Play but I haven't completely tested everything out.

Theoretically player 1 should use any of these multiplayer packs, and player 2, 3, 4 use the packs shared by our friend Cris located in Year 1 folder.
20191012 Player 2 Lan Play Save
20191012 Player 3 Lan Play Save
20191012 Player 4 Lan Play Save

Id appreciate it if someone can test out my new multiplayer packs as the host, and someone else use the player 2/3/4 Lan play saves on other switches and see if hosting works. I will eventually test them myself, but its not a top priority for me right now.
 
  • Like
Reactions: jajajavier21

BulletExodus

Member
Newcomer
Joined
Jul 13, 2018
Messages
19
Trophies
0
Age
30
XP
159
Country
United States
Where do i find the checkpoint folder? Do i create one on the SD card? I have so many games on my SD card but they are not named by title so idont know which folder SMM2 is.

By default it's in SD:\switch\Checkpoint\saves\

And just search for the folder with "SUPER MARIO MAKER 2" in the name. That's where you place each unzipped archive.

Hope this helps.
 

protomouse

Well-Known Member
Newcomer
Joined
Feb 1, 2014
Messages
49
Trophies
0
Age
36
XP
493
Country
So my Switch is on its own VLAN that is firewalled off from the Internet, and I would like to allow it to download levels from the TInfoil service. The "tinfoil.media" site is behind CloudFlare, and I'm reluctant to open such a wide range of IPs up. So my idea is to set up a small reverse proxy and map the DNS name against it. This would work, if MM-LINX wasn't using TLS (which it of course does for good reasons).

So I've landed on two options:
1. I could self-sign a cert for "tinfoil.media" and inject my CA into the cabundle.pem I found in romfs. Unfortunately there's a scary-looking cabundle.pem.sig file in there that I assume will make that impossible without modifying the executable.
2. I could modify the URL strings in the executable. I admit I'm a complete noob at that, but here's what I tried:

Extract the main NSO from exefs
Convert it to ELF using nx2elf
Open the ELF in radare2 and edit the URL strings to HTTP while maintaining length, i.e. https://tinfoil.media/MarioMaker/Thumb/ becomes http://tinfoils.media/MarioMaker/Thumb/
Convert the ELF back to NSO using elf2nso
Put the new NSO in LayeredFS

Unfortunately the app stays at the black loading screen for a second or two and then crashes to the system menu without any messages. I don't own a domain name, for which I can get a valid cert, that is 13 characters long as "tinfoil.media" is. Otherwise I'd try that, should my messing with the string be causing this.

TL;DR
The ideal thing I think would be if @blawar could be so kind to add the ability to configure a proxy. I see references to libcurl, so that could be accomplished just by setting CURLOPT_PROXY. Or, if not that, make the level service URL configurable.
 

blawar

Developer
OP
Developer
Joined
Nov 21, 2016
Messages
1,708
Trophies
1
Age
40
XP
4,311
Country
United States
So my Switch is on its own VLAN that is firewalled off from the Internet, and I would like to allow it to download levels from the TInfoil service. The "tinfoil.media" site is behind CloudFlare, and I'm reluctant to open such a wide range of IPs up. So my idea is to set up a small reverse proxy and map the DNS name against it. This would work, if MM-LINX wasn't using TLS (which it of course does for good reasons).

So I've landed on two options:
1. I could self-sign a cert for "tinfoil.media" and inject my CA into the cabundle.pem I found in romfs. Unfortunately there's a scary-looking cabundle.pem.sig file in there that I assume will make that impossible without modifying the executable.
2. I could modify the URL strings in the executable. I admit I'm a complete noob at that, but here's what I tried:

Extract the main NSO from exefs
Convert it to ELF using nx2elf
Open the ELF in radare2 and edit the URL strings to HTTP while maintaining length, i.e. https://tinfoil.media/MarioMaker/Thumb/ becomes http://tinfoils.media/MarioMaker/Thumb/
Convert the ELF back to NSO using elf2nso
Put the new NSO in LayeredFS

Unfortunately the app stays at the black loading screen for a second or two and then crashes to the system menu without any messages. I don't own a domain name, for which I can get a valid cert, that is 13 characters long as "tinfoil.media" is. Otherwise I'd try that, should my messing with the string be causing this.

TL;DR
The ideal thing I think would be if @blawar could be so kind to add the ability to configure a proxy. I see references to libcurl, so that could be accomplished just by setting CURLOPT_PROXY. Or, if not that, make the level service URL configurable.

I plan to update my libcurl package to use the system proxy settings, like current DKP's libcurl does. would that resolve your issue?
 

protomouse

Well-Known Member
Newcomer
Joined
Feb 1, 2014
Messages
49
Trophies
0
Age
36
XP
493
Country
I plan to update my libcurl package to use the system proxy settings, like current DKP's libcurl does. would that resolve your issue?

I don't think it would. Nintendo's telemetry and whatnot all use the system proxy settings, right? If so, enabling that would make everything sidestep the firewall (and also 90DNS, unless set up on the proxy). I'm also not sure if the system settings would allow configuring the full range of proxy protocols that libcurl supports (e.g. SOCKS), or if it'd just be HTTP proxying. Being able to use the SOCKS support in libcurl would be great.

I've been wondering if there could be a way to implement proxying for all homebrew without requiring special support or modification of the underlying libraries. There's stuff like socksify on PC, but that of course relies on dynamic linking. It would in any case be great to have separate proxy settings for homebrew because of the reasons above.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: Were actually bots