{"id":13993624,"url":"https://github.com/TheGreatRambler/MariOver","last_synced_at":"2025-07-22T18:30:45.226Z","repository":{"id":43296725,"uuid":"456073534","full_name":"TheGreatRambler/MariOver","owner":"TheGreatRambler","description":"Makes almost all of the data exposed by Mario Maker 2 servers public through an API","archived":false,"fork":false,"pushed_at":"2025-06-16T15:54:09.000Z","size":367,"stargazers_count":78,"open_issues_count":1,"forks_count":6,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-14T04:05:57.810Z","etag":null,"topics":["api","networking","python","reverse-engineered","server"],"latest_commit_sha":null,"homepage":"https://tgrcode.com/mm2/docs/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheGreatRambler.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-06T06:25:55.000Z","updated_at":"2025-06-23T05:18:24.000Z","dependencies_parsed_at":"2024-11-08T21:24:40.657Z","dependency_job_id":null,"html_url":"https://github.com/TheGreatRambler/MariOver","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TheGreatRambler/MariOver","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheGreatRambler%2FMariOver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheGreatRambler%2FMariOver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheGreatRambler%2FMariOver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheGreatRambler%2FMariOver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheGreatRambler","download_url":"https://codeload.github.com/TheGreatRambler/MariOver/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheGreatRambler%2FMariOver/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266552234,"owners_count":23947172,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","networking","python","reverse-engineered","server"],"created_at":"2024-08-09T14:02:28.356Z","updated_at":"2025-07-22T18:30:45.214Z","avatar_url":"https://github.com/TheGreatRambler.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# MariOver\r\nThe backend of [The Mario Maker 2 API](https://tgrcode.com/mm2/docs/). Hey Nintendo, it's MariOver.\r\n\r\nFor more reading materials on this project check out:\r\n* [Mario Maker 2 Comments](https://tgrcode.com/posts/mario_maker_2_comments)\r\n* [Mario Maker 2 Datasets](https://tgrcode.com/posts/mario_maker_2_datasets)\r\n* [A Mario ML Diffusion Model](https://tgrcode.com/posts/a_mario_ml_diffusion_model)\r\n* [Mario Maker 2 Ninjis](https://tgrcode.com/posts/mario_maker_2_ninjis)\r\n\r\n# Setting up\r\n0. Run `pip install -r requirements.txt`\r\n1. Obtain `PRODINFO` and `prod.keys`.\r\n    1. Run `Lockpick_RCM` and download `prod.keys`, which is in `/switch` on your SD card, onto your PC\r\n    2. `PRODINFO` can be obtained using `Memloader`, contained within `Tegra RCM GUI`, combined with `NxNandManager`\r\n    3. Start `Memloader` with `rawNAND` and run `NxNandManager`. Press `Options-\u003eConfigure keyset` and import your `prod.keys`\r\n    4. Choose the `linux` device in `File-\u003eOpen drive` and right click `PRODINFO` and click `Decrypt and dump to file`\r\n    5. Close `NxNandManager` and hold the power button on your switch to shut it off\r\n    7. Put `PRODINFO.dec` and `prod.keys` into a new folder in this repository named `ConsoleData`\r\n2. Obtain `8000000000000010` and `8000000000000110`\r\n    1. Download `TegraExplorer` to your switch and boot into it\r\n    2. Browse EMMC and navigate to `SYSTEM/save/8000000000000010`, copying it to your clipboard. Navigate back to the `sd` card and paste it there\r\n    3. Download that file from your switch and place it in `ConsoleData`\r\n    4. Repeat with `SYSTEM/save/8000000000000110`\r\n3. Run `python generate_console_data.py`\r\n4. Add the 2 letter country code of the host switch to `webserver_args.json` if it is not `US`\r\n4. When you update your switch and `NintendoClients` has updated, run `pip install git+https://github.com/kinnay/NintendoClients.git --upgrade` and run `python generate_console_data.py` again\r\n\r\n# Running\r\n`uvicorn mariover:app --port 1234` with any port can be used to start the server. Documentation can be found at `http://localhost:1234/docs/`.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTheGreatRambler%2FMariOver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTheGreatRambler%2FMariOver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTheGreatRambler%2FMariOver/lists"}