-
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 |
Hm, we should probably add some support in the infra-dns json to set up DNS for http as well! |
This was something I actually started doing after @hrydgard posted in the original issue that it should be considered fixed. I have run into some bugs but they are unrelated to the emulator that deal with the Peer to peer games we support. Potentially affected games: As for HTTP traffic, SOCOM Tactical strike appears to work just fine. If you go online and go to the community -> Leaaderboards it will load them without issue. |
What's the bug that's affecting those games? |
I have a redirect for it on my dns - 145.239.30.230 and yeah by adding |
Yeah, i couldn't get png/jpg images to shows up either while testing it on PSP Browser (UTST99281), even though the file seems to be downloaded correctly (but haven't really try to dump the downloaded file and opened it with image viewer, we should probably implement cache so we can checked downloaded files) Meanwhile, gif images on Mega Man Powered Up shows up correctly, but unfortunately the official server was taken down not long after i managed to test that it works on Mega Man Powered Up (i only tested the download, not the upload feature of the game) PS: currently sceHttp implementation doesn't support HTTPS either, trying to access HTTPS on PSP Browser (UTST99281) will enter a loop of repeated dialog being shown. |
It's an issue with our server. I had made changes in the past that apparently broke some of the P2P games. Like I said nothing to do with the emulator, just something I came across when trying to test. I did get a test in with ATV Blazin' trails with 1 client being on the emulator and one being on an actual PSP and the game play seemed fine. These games should support uPnp but due to people's network setups, that's not always a guarantee and sometimes people will have to port forward. |
Btw, as i remembered, amongst all of sceNetInet* syscalls, i only have one syscalls left that haven't worked properly yet, which is Fortunately, i already got Anyway, only one games known to use each of those syscall, which are: If anyone want to implement PS: Not sure why are these games only use one of those |
Thanks @anr2me , that's great info! |
So far I have tested the following games and they appear to work just fine after fixing an issue on our server: ATV Offroad Fury Blazin' Trails (UCUS-98603) (ULES-00155) |
Thanks for confirming those! |
Btw, i think we can remove the issue regarding Windows on Medal of Honor: Heroes game, since it's fully working on Windows by now. |
I tested the rest of the games we support. Ratchet & Clank Size Matters (UCES-00420) - Fails to resolve DNS despite the domains existing on our DNS server
Ratchet & Clank Size Matters (UCUS-98633) Craps out before connecting to the server. At this state of the game, it should be doing a UPnP request. For some reason the NTSC version of this game does it before ever connecting to the server while the European version doesn't.
SOCOM Fireteam Bravo (UCKS_45021,UCUS_98615,UCES-00038) - Works Syphon Filter Dark Mirror (UCUS-98641) - Works Twisted Metal Headon (UCUS-98601) Fails to resolve DNS despite the domains existing on our DNS server
Twisted Metal Headon (UCES-00018) Fails to resolve DNS despite the domains existing on our DNS server
|
@anr2me looks in the log like it resolved to 67.222.156.251, not 160.33.35.61 ? Is 160.33.35.61 something we need to add to the config, who runs that? |
Thanks for testing @Zero1UP , I'll look into ratchet & clank. That should also resolve to 67.222.156.251 , right? We can hardcode domains in the config, but it's better if the real DNS resolution works... by the way, go into settings/tools/developer settings/log channels, and set everything to INFO except SCENET which you set to DEBUG, for the best information to report.. |
Works on Windows now as well.
I think it's this issue : #15357 it even got logs in it. Also I think @Zero1UP is just on an older development version that didn't have DNS lookups implemented yet. |
160.33.35.61 is Sony
Yes R&C will resolve to 67.222.156.251.
This is actually an issue with the actual PSP as well. It starts the process of uPnp and if someone's router doesn't have it enabled / supports it, the game will crash. The European version does not do this at this step. More than likely a buggy implementation in the game. The IP you got back is sony's IP. Not the correct one. |
67.222.156.251 is the DNS server for private servers. Usually i can bypass the censorship by using VPN if it was resolved through OS/system's DNS resolver (which worked if the game is resolving the domain using socket by communicating directly with DNS server over UDP port 53, since all traffic got encrypted), not sure why the built-in DNS resolver on PPSSPP got frozen for infinity (no timeout?) when it tried to resolve it through VPN. |
OK so we want it resolved to 67.xx. Then I think we better just hardcode the DNS in the config in that case... My DNS lookup function, partially written by ChatGPT is pretty primitive and doesn't time out, I should fix that, too... |
Hm, odd, I'm also having issues with the DNS lookup hanging forever in ratchet with the default settings.. I'll dig into it soon. |
I think we should changed this to "67.222.156.250" "default": {
"dns": "67.222.156.251",
}, |
Oh haha, no idea how I managed to cause a typo like that. Fixing. |
BTW, why dont we want to connect to Sony? |
because most of official servers are already taken down, even if they're still alive it need PSN authentication, which probably need a real PSP's MAC address, and of course need a real PSN account. Currently PPSSPP use dummy account with dummy mac address, but i heard that JPCSP can sign-in to real PSN server (as i remembered @lightfirst did the test) |
That address is the server that it should resolve to for some of the games we host, our DNS server is 67.222.156.250 I downloaded the latest dev build and tested Ratchet and clank as well as twisted Metal and they both work now. |
I should have mentioned that you aren't able to set a password with Twisted Metal head on so you will still need to create a save on a PSP. |
I am exploring some other games that I saw on a list somewhere and it seems like 2 more games are not working atm:
For both you get an error when connecting. |
Thanks for testing, will look into those soon. @Zero1UP thanks for the clarification! |
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:
but not on Windows for some reason. Previous regression+fix: Medal Of Honor Heroes infrastructure regression #19841Twisted 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.
Patapon 3
Requires NpMatching2, which is not yet implemented.
Ratchet & Clank
DNS resolution issues in certain countries, we don't want it to resolve to 160.33.35.61 (Sony).
SOCOM Fireteam Bravo (UCKS_45021,UCUS_98615,UCES-00038)
Works
SOCOM Firetam Bravo 2 (UCUS_98645,UCES_00543)
Works
SOCOM Tactical Strike ((UCUS-98649,UCES-00855)
Syphon Filter Dark Mirror (UCUS-98641) - Works
The text was updated successfully, but these errors were encountered: