Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MK8/Splatoon/Minecraft] Add overrides for the peer-to-peer/multiplayer ports #655

Merged
merged 3 commits into from
Dec 4, 2024

Conversation

ashquarky
Copy link
Contributor

Wii U games have pretty dated netcode that can struggle with modern networks, leading to 118- errors when playing online. Nintendo's recommendation is to place the game in the DMZ, effectively forwarding every port to it. This isn't really viable for most users.

These patches allow the user to specify a port number that they would like the game to use for all peer-to-peer communications. Then, if the user forwards that UDP port in their router, it's equivalent to the DMZ/"NAT Type A" case and they should get better connectivity. Pretendo plans to ship similar patches to console players so we can maximise the number of port-forwarded users in the online population (the port number will be automatically chosen on hardware - I couldn't work out a good way to do this in Cemu though).

Minecraft is on a much newer NEX library version which is why it has a substantially different patch.

This is my first time contributing Cemu graphic packs, feel free to let me know if I misunderstood which folder to put these in or how to write the description or the like and I'll happily fix it.

Copy link
Member

@Crementif Crementif left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like some nicely written and useful patches! There's only some minor nitpicks that would be nice to have changed:

Ideally we would put the Mario Kart 8 and Splatoon graphic packs into the src/MarioKart8/Workarounds folder respectively. The Minecraft graphic packs haven't been updated to use the newer layout/features yet, so they're correct already.

I think it might be a bit unclear for less technical minded people on what these graphic packs do and whether they should enable or disable them. I think using wording such as network port or multiplayer network port would make it easier to google. And calling it port forwarding instead of just forwarding a port. Also, adding a line at the end about why they might need this graphic pack like e.g. "This may resolve issues while connecting to online services." would be a helpful addition for these people.

@@ -0,0 +1,7 @@
[MarioKart8_v81]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[MarioKart8_v81]
[MarioKart8_ForceMultiplayerPortNumber_v81]

This would make it easier to identify in the log.txt (when graphic pack logging is enabled under Debug->Logging) and PPC debugger.

titleIds = 0005000010176900,0005000010176A00,0005000010162B00
name = Multiplayer port
path = "Splatoon/Workarounds/Multiplayer port"
description = Forces the multiplayer port to be 58008.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm sure no one will be caught off guard by this, but probably best if this matches the other packs.

@ashquarky
Copy link
Contributor Author

Thanks for the review! Should be looking better now.

@ashquarky ashquarky requested a review from Crementif December 4, 2024 00:13
Copy link
Member

@Crementif Crementif left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks for your work!

@Crementif Crementif merged commit 0f812ff into cemu-project:master Dec 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants