mholtkamp / retro-league

Retro League GX is a clone of Rocket League made with the Octave game engine.
MIT License
49 stars 1 forks source link

GameCube LAN does not work. #2

Open nikkiwritescode opened 2 years ago

nikkiwritescode commented 2 years ago

I've been testing this in my home LAN but the systems simply sit on Searching... forever. I have verified on the router side that the systems are properly connected, so it seems to be a software issue of some sort.

I know you don't have a Broadband Adapter to be able to test it, so I will be glad to purchase and ship a BBA to you to assist with getting this working. Just let me know!

Thanks again for all your hard work!

mholtkamp commented 2 years ago

Thank you for testing out the GameCube LAN status! I can't guarantee that I'll be able to fix it though. I think I'll pick up a BBA for myself anyway, and at least I can take a quick a look to see if there's something obviously wrong. I'll keep you updated.

Sir-LoLz commented 2 years ago

I have a BBA so I would be happy to help. Though Dolphin is able to emulate the BBA as well (and even has cross-play with real hardware) so its compatibility is good.

If you have Ghidra you may want to look at the symbol map for MKDD. it lists all the functions in the game and even the code that initiates/controls the BBA

Sir-LoLz commented 2 years ago

You may be happy to know that it does actually detect the BBA code in your app. It's just that data does not seem to be flowing through it.

mholtkamp commented 2 years ago

Hey! That is good news :) Hmm, is it possible to run multiple instances of Dolphin and attempt to connect to each other using the BBA emulation? That would be really handy. We could add some logging messages to track down what's happening.

mholtkamp commented 2 years ago

Also @nikkiwritescode , I just released the full source code. Not sure if you were interested in that, but I thought I should mention it.

Sierron commented 2 years ago

Yeah, it is possible to have multiple dolphins on one system. Dolphin has two plugins for that. The Tap Adapters plugin and the Xlink Kai Plugin.

We've used Tap Adapters from Openvpn before but they are unrealiable. Nowadays we use Xlink Kai (https://www.teamxlink.co.uk/) to get LAN games online. It grabs the traffic of these games and fowards it to other players.

We've tried to use that approach but couldn't find each other.

Yeah, logging sounds useful to see what's going on.

nikkiwritescode commented 1 year ago

Also @nikkiwritescode , I just released the full source code. Not sure if you were interested in that, but I thought I should mention it.

I might have missed it somewhere, but could you post instructions somewhere for how to compile the GameCube .dol? I don't have devkitPro, so I'd probably need to do some workstation setup to even get to the point where compiling for GCN is possible. The first step for resolving this, I think, would be adding on-screen logging as you mentioned. I'm a little unsure if the BBA is even getting initialized at this point. Fingers crossed that it's a fairly simple change and not a more comprehensive incompatibility! I seem to remember the network adapters for GCN being fairly standard, though.

teamxlink-dev commented 1 year ago

Hey everyone, was this issue with LAN solved? I'd love to give this a shot over Kai 👍

Papy-G commented 2 months ago

Hey there! Now we have the ENCJ60 support trhough SWISS, is there a way it can be supported? The SWISS team has achieved BBA emulation through that device, their code is available to help if needed.