-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Co-op issue on MGS:PW #14130
Comments
This port 1024 is really weird... because the socket is created within AdhocMatchingStart and it was created the same way as host & join, so i wondered why it use different port between host & join on android side...
Apparently port 1024 issue also happened when Android host sometimes :( i did managed to join the room hosted by Android once when trying to reproduce it, so this issue might be random. This is the logs when PC tried to search room hosted by Android and PC unable to see the room:
The port on both side (sender and receiver) supposed to be the same when working correctly (both use port offset 10000) |
Versus also is not working PC to PC but only if there is some lantancy involved (?) not sure . |
It's strage that i can't see anything in the Logcat when debugging from Android Studio... i'm getting this error when AS tried to attach debugger
even when i didn't get that error, and saw this
i still can't see anything logged in the Logcat :( this is strange.. may be because i'm running out of free space on internal storage? this phone only have 32gb storage if i did
I can't even trigger the breakpoint i put inside Edit: breakpoint is working now, and i found no problem on |
This is the log from Android, it's sending data from port 14099 to PC port 14099 which is correct
But for some reason, upon arrival, the one on PC is detecting the source port to be 56560 (where it should be 4099), thus when replied the one on android never received the reply because it's going to the wrong port.
I have no idea how the port 14099 ended became 1024, and it seems to only happened when receiving data from android, while PC to PC have the correct port being detected (at least on localhost).
PS: 56560 + 10000 = 66560, 66560 % 65536(total 16bit port) = 1024, so 1024 - 10000 will be wrapped back to 56560 as uint16
|
I'm not sure whether the issue resides on Windows or Android, but detecting the wrong port like this will certainly cause communication issue on all games that use PDP/UDP be cause after receiving data the game will send the reply to the wrong port thus that reply ended never received, since AdhocMatching is using PDP it will certainly have issue too, although it's a bit random where sometimes it can detects the port correctly. I will try to create test build later that will shows warning on screen if there is incoming AdhocMatching data that came from a wrong port, and tester will need to test this on PC vs PC, and Android vs Android, so we can at least know whether this wrong detection only happened on windows or android too. |
I wonder if this is why Patapon 3 and God Eater 2 (and 1?) got issues with the port offset too... |
This wrong port detection have nothing to do with port offset, changing it to any value will still be detected as 1024, even when MGS:PW create the 2nd socket (created when the mission started, which use port 4100) the data also detected as coming from 1024, just like the one from the other socket (AdhocMatching socket that use port 4099), so this 1024/56560 seems to be fixed number not sure where it came from. I've tried to zeroing/memset the |
…(sometimes it takes a few seconds before the port detected correctly on receiver side). Fix hrydgard#14130 most of the time, but may not be the best solution.
…(sometimes it takes a few seconds before the port detected correctly on receiver side). Fix hrydgard#14130 most of the time, but may not be the best solution.
…(sometimes it takes a few seconds before the port detected correctly on receiver side). Fix hrydgard#14130 most of the time, but may not be the best solution.
…(sometimes it takes a few seconds before the port detected correctly on receiver side). Fix hrydgard#14130 most of the time, but may not be the best solution.
From the other PR it seems that it is port offset related... |
Routers shouldn't have any issue opening any port (after all routers are gateway that can provide access to all ports), unless that port is already used for something else. But the issue i had is a bit strange, if Port Offset is 5000 using I'm not sure if this issue only happened on my OS (Realme's OS based on Android 10) or other Android variants too. |
…ADDR_ANY. Seems to fix hrydgard#14130
…ADDR_ANY. Seems to fix hrydgard#14130
Reported through forum's PM, MGS:PW can't play Android vs PC, and after trying to reproduce it i found 2 issues
What happens?
1). If PC host, Android can't see the game room because for some unknown reason the one on Android is always using port 1024 regardless of Port Offset
2). If Android host, and PC joined, the one on PC failed to start the mission, seems to be AdhocMatching issue
What should happen?
Multiplayer co-op should works
What hardware, operating system, and PPSSPP version? On desktop and mobile phone, GPU matters for graphical issues.
Please test newest version in https://buildbot.orphis.net/ppsspp/
PPSSPP v1.11.1-4-gd23bef152
The text was updated successfully, but these errors were encountered: