I spent all day researching this and I finally understand exactly how it works. It's much easier than I thought!
Before, I would use a public header, Metal Gear Solid 3 (J). All the games would work fine with this header, but then I thought it would be safer and better if I use my own game headers.
So I ripped Luigi's Mansion Dark Moon, and it's header. I tried simply injecting this header into a game using rom patcher, but no that's not how it works. You need to edit the header, so that it matches the game you're trying to play. So what I did was make several copies of the same header, each corresponding to a specific rom size. The only thing you need to worry about in the header, is the rom size and card type.
So what I did was make a folder called card1, and a folder called Luigi's Mansion inside it. And in that, I made several folders called 4 GB, 2 GB, 1 GB, 512 GB, etc. With a header that was edited to match games of these sizes. So if the game I want to play is a 2 GB game (Smash Bros 3DS), I just have to use rom patcher to load the 2 GB header into the rom.
My Luigi's Mansion (Card1) (2 GB rom size edited header) was injected into Smash Bros (Card1) (Requires a 2 GB rom size header)
I just finished injecting all my online games this way, and I tried them all. They work flawless!
So here's some instructions you can use:
EDIT: Thanks to
gamesquest1, I now realize that a card1 4 GB header, will work with all card1 games. So if you don't own any 4 GB games, then you'll have to edit your header as mentioned in the instructions below. So if you have a 4 GB game, use that for all your header needs.
1. Dump said game from Gateway menu
2. Put SD card into computer and use
Gateway Rom Patcher to export the header from said game
3. Use this
Hex editor to open your header
4. Use this
page for reference. Basically it's the line with 00000040 that you need to edit. You only need to look at the 2nd and 4th digits (Rom size and card type)
5. Edit the 2nd digits so that it says F0 (4 GB), and make the sure last digits are 90 (Card1)
6. Go to file, save as, and save the header into a folder called 4 GB. This will be your header for all 4 GB games that have online and are card1.
7. Repeat the steps until you have all the rom sizes, to have multiple headers based on a specific rom size
8. On rom patcher, load the scene rom and choose import. It will ask where you'd like to backup your rom, choose a location
9. Once it finishes backing up the rom, it will ask for a header bin file. If your scene rom is 2 GB for ex, browse for the 2 GB header
10. You've successfully added your own header to a scene rom, you can now trim the rom if you like (Recommended if not card2)
11. Rename the file to .3DZ and you're good to go!
With these steps, you should be able to use ONE of your own game's header for all your header needs. Just don't let anyone play Luigi's Mansion online, while you're playing online on your Gateway lol
If you want a card2 header, just use a game like Animal Crossing New Leaf or Pokemon X/Y and make headers for all the rom sizes again.
After doing these steps for 10 games, I went to try them all and they all worked. Each game having different rom sizes.
I know for sure that size is the most important, because I tried injecting a default non edited Luigi's Mansion (card 1) (1 GB) header into Super Street Fighter IV (Card1) (2 GB) and it did NOT work. But as soon as I edited my luigi's Mansion header to be a 2 GB game, and injected it into Super Street Fighter IV, it worked without issues. And I even played an online match.
Bottom line: Rom size and card type are the only two things to worry about. Manufacturer does not matter. Games require headers that MATCH the rom's game size and card type. So if your header isn't working, you either don't have a matching header, or you need to try a different game. Luigi's Mansion Dark Moon works for sure, as a card1 game.
Hope this helps anyone who are wondering how things work. This thread is really outdated and people ARE relying on it for help. The OP abandoned it completely and some of the info on the main thread are misleading. But for the most part, I was able to use it and slowly figure out how it works. My friend on another forum also told me that rom size is all I need. I listened to him and succeeded. Now everyone else can succeed!
Edit: I made a quick drawing to demonstrate what you should do to play a scene header online