-
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
Infrastructure Mode compatibility issues #19850
Comments
Driver 76 works now, tested on Windows vs Linux, and Windows vs Android. But players need to connect to Adhoc Server, because this game didn't try to connect to any AP but connects to adhoc instead, thus couldn't get any valid IP and can only use IP list provided by adhoc server. PS: We probably need to dump the content of |
Patapon 3 requires NpMatching2, which is not even enabled (the loader recognizes the nids, but stores the module for later resolving anyway). It is also most likely not operational. |
For the MOHH on Windows issue, I suspect this is part of the problem:
It seems to set up its own socket (1) to do ICMP pings, by setting the IP_HDRINCL on a socket. Windows doesn't seem to like it very much, as it fails. IP_HDRINCL means that it wants to write the IP header itself... Not sure if this is just not allowed? It might be that this requires admin permissions. Maybe we can fool the game into thinking it succeeds somehow. We do get online for like 1 or 2 frames then we get kicked off, seemingly in conjunction with this socket being used. |
Actually on Mac it fails earlier!
Can't create a raw socket at all there. Maybe that's the way... OK, tried simulating this behavior, no luck :/ |
Yeah, in order to create a raw socket need admin/sudo. May be it gets disconnected after 2 frames because it couldn't send the ping packet to keepalive. |
If proAdhoc server set to localhost and built-in adhoc server is enabled, it will be treated as multiple-instance, thus games that tried to bind all interface (0.0.0.0/255.255.255.255) will only be bound to a specific localhost address (which doesn't have any access to other network interface, including the internet). So, when playing over the internet, the proAdhocServer address should be set to a public server, and when playing on LAN/VPN it should be set to the intended LAN IP. Also, since we are currently enforcing infra to connect to adhoc (group: INFRA) built-in adhoc server may need to be enabled too when playing on LAN, otherwise it will shows connection error. We probably need to selectively this borrowing adhoc server to be enabled on certain condition only, so it won't affect online infrastructure multiplayer, since it can shows a "failed to connect to adhoc server" error (if there is no server) which will prevent from progressing. PS: Relevant codes regarding this borrowing adhoc is by searching for the word "Adhoc" within sceNetInet.cpp, and also search the word "Borrowing AdhocServer" within sceNet.cpp |
Let's collect remaining problems here, will update the website accordingly after the release of 1.19.
The most interesting thing to note is if a game doesn't work on Windows but works on other platforms or vice versa, sometimes those bugs are not too hard to fix.
Android seems to work just like Linux, not too surprisingly.
Medal of Honor: Heroes:
Twisted Metal
Wipeout Pulse
Wipeout Pure (browser)
Not really infrastructure mode, but good test case for sceHttp as it has a browser. The current implementation fails to resolve and enters a loop of netconf init.
Driver '76
Driver 76 works now, tested on Windows vs Linux, and Windows vs Android.
But players need to connect to Adhoc Server, because this game didn't try to connect to any AP but connects to adhoc instead, thus couldn't get any valid IP and can only use IP list provided by adhoc server.
The text was updated successfully, but these errors were encountered: