Open ghost opened 3 years ago
How do you setup the DNS?
does it replace a domain from official server with an IP of private server? something like editing the hosts
file on most OS?
Edit: If i google "104.237.9.163" it seems to be used for SOCOM II Online too. Is this IP 104.237.9.163 worked as a DNS Server?
On PPSSPP i can just use that IP as default Primary DNS Server (which currently use Google DNS 8.8.8.8 i think) for Apctl info, or may be add an option to change DNS Server in the future.
But currently we don't have Resolver HLE implemented yet, so DNS won't work yet.
And if there are games that use a hardcoded server IP instead of using domain name, we probably need to implement hosts
file too in order to map official server IP to private server IP, since they won't go through DNS server.
Btw, does ATV infrastructure worked yet on JPCSP?
I didnt try on JPCSP.
seems to be fixed on the JPCSP update: http://www.emunewz.net/forum/showthread.php?tid=243070&pid=365587#pid365587
This is the logs from SOCOM Bravo 3 The game seems to be trying to send something to Primary DNS Server (8.8.8.8 port 53) taken from Apctl Info, but getting socket error 10051 which is Network Unreachable... which is odd, Google DNS should always be reachable as long PPSSPP have access to the internet :( may be because the socket were bound to localhost thus have no route to the internet This games seems to use SSDP multicast IP too (239.255.255.250)
And apparently this game also being flooded with Vulkan errors LOL, or may be because i'm using Debug build?
Socom is not working currently. Only ATV Off Road Fury Blazin' Trails works.
seems to be fixed on the JPCSP update: http://www.emunewz.net/forum/showthread.php?tid=243070&pid=365587#pid365587
Based on one of the comment: the host may need to open UDP port 10075
Looks like i won't be able to test infrastructure mode since my internet can't have any open port... it's LTE connection afterall
I guess you have to use JPCSP or a real PSP for now.
I guess you have to use JPCSP or a real PSP for now.
it won't work either, because my internet connection is the main issue LOL mobile data connection aren't allowed to have open port
The only way for me to test it is if i host my own private server locally, or if the private server is located inside a VPN, and i have access to the VPN too.
Btw, this is the Logs from ATV, which have similar issue when attempting to send something to DNS Server
Anyway, i'll need to fix Apctl
first before it can be used for both LAN Multiplayer and Infrastructure/Online Multiplayer.
Currently i'm not even sure whether Apctl
can be initialized even before launching the game or not, based on the strange behavior of Driver76 that initialize Adhoc and attempt to use ApctlGetInfo
at the same time, along with some infrastructure HLE for LAN Multiplayer.
I guess you have to use JPCSP or a real PSP for now.
it won't work either, because my internet connection is the main issue LOL mobile data connection aren't allowed to have open port
The only way for me to test it is if i host my own private server locally, or if the private server is located inside a VPN, and i have access to the VPN too.
Btw, this is the Logs from ATV, which have similar issue when attempting to send something to DNS Server
Well yes that's because you are using 8.8.8.8 as your primary DNS. Google's DNS doesn't have information about that domain other than it goes to nothing basically. That's why you have to set the Primary DNS to the 104 IP. That's our DNS server that then turns around and sends back the IP address for the server that the game is running on.
seems to be fixed on the JPCSP update: http://www.emunewz.net/forum/showthread.php?tid=243070&pid=365587#pid365587
Based on one of the comment:
the host may need to open UDP port 10075
Looks like i won't be able to test infrastructure mode since my internet can't have any open port... it's LTE connection afterall
That's only for hosting a game since the game is Peer to Peer.
seems to be fixed on the JPCSP update: http://www.emunewz.net/forum/showthread.php?tid=243070&pid=365587#pid365587
Based on one of the comment:
the host may need to open UDP port 10075
Looks like i won't be able to test infrastructure mode since my internet can't have any open port... it's LTE connection afterallThat's only for hosting a game since the game is Peer to Peer.
So basically the private server is only for match making, while gameplay will be just like Adhoc/LAN Multiplayer which communicates directly PSP to PSP instead of something like online multiplayer on PC (ie. Server to Clients)?
seems to be fixed on the JPCSP update: http://www.emunewz.net/forum/showthread.php?tid=243070&pid=365587#pid365587
Based on one of the comment:
the host may need to open UDP port 10075
Looks like i won't be able to test infrastructure mode since my internet can't have any open port... it's LTE connection afterallThat's only for hosting a game since the game is Peer to Peer.
So basically the private server is only for match making, while gameplay will be just like Adhoc/LAN Multiplayer which communicates directly PSP to PSP instead of something like online multiplayer (Server to Clients)?
Well that entirely depends on the game. Some games are UDP while some might be using TCP or TCP with auxiliary UDP.
In this case with ATV all the communication to the server is over TCP (it maintains this connection while you are in a match) and the game traffic is UDP.
Currently i'm not even sure whether
Apctl
can be initialized even before launching the game or not, based on the strange behavior of Driver76 that initialize Adhoc and attempt to useApctlGetInfo
at the same time, along with some infrastructure HLE for LAN Multiplayer.
See the DM I sent you on the forums.
Hmm... this DNS Server Unreachable issue might be because the socket bound only to localhost IP 127.0.0.1, it probably need to bind an interface that have access to internet gateway...
Edit: Using my router DNS Server seems to be able to resolve DNS too, but waiting the reply need to be faster otherwise the game will shows an error message on screen :( it repeatedly showing error message because the game gives up after waiting for reply from DNS Server several times :(
Using 104 DNS Server also have similar issue and took longer to get the reply
The strange part is that the game seems to be expecting something from another socket which is bound to port 6431
The game never send anything other than DNS request, so i wondered why did it attempt to recv
at port 6431 and eventually close the socket and show this error
It never even tried to connect/send to anywhere else other than the DNS Server LOL
Hmm... this DNS Server Unreachable issue might be because the socket bound only to localhost IP 127.0.0.1, it probably need to bind an interface that have access to internet gateway...
Edit: Using my router DNS Server seems to be able to resolve DNS too, but waiting the reply need to be faster otherwise the game will shows an error message on screen :( it repeatedly showing error message because the game gives up after waiting for reply from DNS Server several times :(
Using 104 DNS Server also have similar issue and took longer to get the reply
The strange part is that the game seems to be expecting something from another socket which is bound to port 6431 The game never send anything other than DNS request, so i wondered why did it attempt to
recv
at port 6431 and eventually close the socket and show this errorIt never even tried to connect/send to anywhere else other than the DNS Server LOL
The port you are mentioning is something on the client. That's what the client decided to use to talk to the server on. The ports that the server can use are:
TCP 10071 10075 10080 10070 10078
UDP (This is for P2P games and is more or less a client thing) 10075
There are a few other ones that a game might try to connect on but as far as I know they weren't common across all games and were non NTSC versions of games. Not that it really matters but generally speaking those are the ports that most games will try connecting on.
Current issue is that the game is not even trying to connect or send anything to a Lobby Server, and i'm not sure how to trigger the game to at least attempt to connect to the Lobby Server.
This is the Log from Init to the appearance for that "Connection to lobby server failed":
It should atleast try to connect or send to somewhere after successfully resolving DNS, but never did that... may be it failed to resolve the DNS? I'm not familiar with DNS resolver packets, so i'm not sure whether that reply means a successful dns resolve or not...
104.237.9.163
So it could be that your ISP is blocking this change either at their level or through your modem. This is an issue we have with some people and their ps2's / pcsx2 and we have some work arounds for this. The easiest one is just loading a cheat code that replaces the domain with the IP of the server. The only problem is this is currently running on the test server and will eventually be moved to the main one.
You could try this code: ATV Server IP 2049C6E4 2E343031 2049C6E8 2E373332 2049C6EC 36312E39 2049C6F0 00000033
Or if that doesn't work you could also edit a config file in the ISO PSP_GAME > USRDIR > CONFIG.XML Change mMASServer's value to
mMASServer="104.237.9.163"
In this case the DNS server is also hosting the test server for online games.
Also forgot to mention that there are some games that use PSN to connect and some that don't. At least the ones that dont require PSN could be implemented on PPSSPP I guess.
Also forgot to mention that there are some games that use PSN to connect and some that don't. At least the ones that dont require PSN could be implemented on PPSSPP I guess.
I made a post on the ppsspp forums that mentioned this but I guess that forum does post moderation. There aren't many games that require PSN to begin with on the PSP.
@Zero1UP Sorry for the slow moderation. It's unfortunately necessary due to a huge volume of spam. I've approved your post.
104.237.9.163
So it could be that your ISP is blocking this change either at their level or through your modem. This is an issue we have with some people and their ps2's / pcsx2 and we have some work arounds for this. The easiest one is just loading a cheat code that replaces the domain with the IP of the server. The only problem is this is currently running on the test server and will eventually be moved to the main one.
You could try this code: ATV Server IP 2049C6E4 2E343031 2049C6E8 2E373332 2049C6EC 36312E39 2049C6F0 00000033
Or if that doesn't work you could also edit a config file in the ISO PSP_GAME > USRDIR > CONFIG.XML Change mMASServer's value to
mMASServer="104.237.9.163"
In this case the DNS server is also hosting the test server for online games.
Ah that might be the case, i remembered that i can't access some websites even with 8.8.8.8 because i feels that my ISP is redirecting all dns queries to their DNS server, where i need to use DNS over HTTPS on dnscrypt to prevent this from happening :(
Looks like i need to implement hosts
file to map domain/IP to IP for people with this kinda issue and not specific for ATV only.
Or may be hosts.ini
since i can copy the code from PPSSPP.ini or compat.ini for a faster implementation LOL
Btw, is that 00000033
a valid IP (0.0.0.51)? or was that cheat code for ATV US version?
104.237.9.163
So it could be that your ISP is blocking this change either at their level or through your modem. This is an issue we have with some people and their ps2's / pcsx2 and we have some work arounds for this. The easiest one is just loading a cheat code that replaces the domain with the IP of the server. The only problem is this is currently running on the test server and will eventually be moved to the main one. You could try this code: ATV Server IP 2049C6E4 2E343031 2049C6E8 2E373332 2049C6EC 36312E39 2049C6F0 00000033 Or if that doesn't work you could also edit a config file in the ISO PSP_GAME > USRDIR > CONFIG.XML Change mMASServer's value to mMASServer="104.237.9.163" In this case the DNS server is also hosting the test server for online games.
Ah that might be the case, i remembered that i can't access some websites even with 8.8.8.8 because i feels that my ISP is redirecting all dns queries to their DNS server, where i need to use DNS over HTTPS on dnscrypt to prevent this from happening :(
Looks like i need to implement
hosts
file to map domain/IP to IP for people with this kinda issue and not specific for ATV only. Or may behosts.ini
since i can copy the code from PPSSPP.ini or compat.ini for a faster implementation LOLBtw, is that
00000033
a valid IP (0.0.0.51)? or was that cheat code for ATV US version?
That code is a text replacement It replaces atvpsp-prod.pdonline.scea.com (well part of it)
for 104.237.9.163
A hosts file for the emulator would pretty nice to have. It would certainly make testing things easier.
Hmm hosts file support might not be useful ini this case.. since ATV is trying to communicate directly with DNS Server instead of using API to resolve hostname, and i've seen many PSP games do similar thing.
In this case, if we wanted to use hosts file, we will need to be able to recognize whether the packet being sent to port 53 have a valid dns request format or not, if it's then try to resolve it locally, otherwise treat it as regular packet and send it. And if we're resolving it locally, we also need to simulate the reply by pretending that replied data came from DNS Server. Implementing these kinda thing probably a bit complicated for an early stage/WIP, so i'll probably put that as TODO for now (currently i don't even know the structure of DNS request and response, to be able to recognize the request and construct the reply/response)
Changing the hostname using cheat probably the best one for now :( i never liked to use cheat code since they're specific for a certain version only.
Btw, does anyone have created a cheat code compatible with PPSSPP (was it cwcheat? i'm not familiar with cheat format) based on this replacements where i can simple copy it to PPSSPP?
ATV Server IP
2049C6E4 2E343031
2049C6E8 2E373332
2049C6EC 36312E39
2049C6F0 00000033
Okay, i ended using Speedify VPN to access the internet, and DNS 104 is working properly now :)
Well, at least the game is progressing further by trying to connect to lobby server, but i haven't implement TCP-related HLE yet LOL Currently only UDP-related API being implemented which has been there stashed for quite some times in my local repo.
The new Logs with Unimplemented sceNetInetConnect
:
Well at least it works on JPCSP but you HAVE NOT to include flash0/prx files folder for now:
You need JPCSP from here:
https://www.mediafire.com/file/jfzyfg31ej15dyj/jpcsp-a198564-windows-amd64.7z/file
And put this line : primaryDNS=104.237.9.163
in the Setting.properties file.
Hi,me again.I don't usually bother on others issue,but would @MojoJojoDojo be kind enough to explain how is Infrastructure getting back?What is it?
TIA
Hmm.. looks like there are game(s) that need infrastructure support even on single player... https://github.com/hrydgard/ppsspp/issues/9035
I wanted to implement sceNetInetSelect
but find out that PSP can support upto 256 fd_set (similar to unix/bsd) while linux upto 1024 (which is fine), but Windows only support upto 64 ... which is.. meh :(
There are tricks to increase the fd_setsize at stackoverflow, but most ppl recommends to use poll
instead, and WSAPoll on windows need at least Vista or newer as i remembered https://stackoverflow.com/questions/7976388/increasing-limit-of-fd-setsize-and-select
Hi,me again.I don't usually bother on others issue,but would @MojoJojoDojo be kind enough to explain how is Infrastructure getting back?What is it?
TIA
Yes a private infrastructure server have been made for playing games online on various games (Also includes PS2 games). Only 1 PSP game works for now but others will come as well. You can join their discord server here : https://discord.gg/zkxsB9tjsw If you want more info and be up to date on things.
@ANR2ME I don't think 64 is much of a concern, I doubt games will push the limit here, so you might be ok with just simulating the first 64 of the 256?
Also, PPSSPP's minimum supported Windows version is already Windows Vista, we no longer keep compatibility with XP. So WSAPoll should be fine.
@MojoJojoDojo Thank you for invite,but i'm user of Guilded and not Discord.So Infrastructure is basically Ad-Hoc server but without UpNp / DMZ requirement,that also works better with higher ping,right?
TIA
If anyone needs another game to test against, I just got NBA 07 (NTSC) supported on our server. The DNS address is the same.
Current progress:
If i go to Online Play, after Login sometimes i'm getting connection error message (may be my internet connection goes bad)
Sometimes it worked
I can also go to Online Community successfully
Here is Windows Testbuild: https://www.dropbox.com/s/6q64mhqd87x3z59/PPSSPP_1.11-infratestbuild_Win32x64.zip?dl=0
Currently i'm still using select
instead of poll
or WSAPoll
but with only 1 socket just to find out whether it will work or not on ATV,
since currently i'm using socket descriptors directly from the host OS (which can have a number larger than 1000 on windows) which is not PSP-compatible (0-255 range), thus select
won't work properly with multiple sockets, so games that use multiple sockets on sceNetInetSelect
might not work properly yet.
Blocking-socket simulation is also not being implemented yet, thus games that use blocking sockets might not work properly, since the socket will always be in non-blocking mode.
PS: Make sure you're not using localhost
in Adhoc Server IP address, otherwise sockets will only be bound to 127.x.x.x and won't have internet access.
Do you still need to patch the rom? If so how to do it?
no need to patch or use cheat, just make sure you're not using localhost
in Adhoc Server IP address, otherwise sockets will only be bound to 127.x.x.x and won't have internet access
Also found out NBA wont work on JPCSP (HLE and LLE) for now but I think notified them about it so maybe a fix will be up later.
Seems to work: But got no one to try with lol. It keep spamming that net thing in the log though.
Any other function spamming the logs with warning/error?
Don't you have many friends at discord server to play with? :)
Any other function spamming the logs with warning/error?
Don't you have many friends at discord server to play with? :)
No only that. I thought I will see other guys maybe because its online infrastructure lolol.
Ok it works. Also works ingame. But sometimes PPSSPP will freeze and you wont be able to connect. Seems to be random tho. Also that's versus a PSP lol.
In the meanwhile NBA 07 won't work:
Possibly because PPSSPP creates a lobby with no name? PSP game: PPSSPP game:
such a random name probably generated by the game, or may be it uses the OpenPSID
And btw, i haven't implement the InetListen
and InetAccept
HLE LOL, i just noticed it when testing UNO
such a random name probably generated by the game, or may be it uses the OpenPSID
And btw, i haven't implement the
InetListen
andInetAccept
HLE LOL, i just noticed it when testing UNO
The game name is generated by the game. The NBA is an odd one because as soon as you login every player automatically creates their own game and from there you send challenge requests to other players.
Gretzky NHL 2005 got added (very small game lol). results:
For once its actually called "infrastructure" and not "online" lol.
I've updated my test build to implement more HLE: https://www.dropbox.com/s/6q64mhqd87x3z59/PPSSPP_1.11-infratestbuild_Win32x64.zip?dl=0
Gretzky NHL 2005 should works now.
I've also temporarily forcing sceNetInetConnect
in blocking-mode in order to fix UNO game,
since i haven't simulate blocking behavior, using a real blocking socket like this will cause PPSSPP to freeze when attempting to connect
, how long it will freezes depends on how fast the connection can be established (also affected by latency/ping)
NHL 2005 connects to the lobby and NBA shows the game room properly now.
I've updated the testbuild again to fix possible crash issue due to out-of-bound when accessing the PSP's side fd_set/fd_isset during sceNetInetSelect
NHL works online as well.(see Network Pause)
But everything takes forever to load (?) not sure whats up with that or maybe its the other player not knowing.
NBA 07 works until the game beginning and then it will disconnect from a timeout (against a PSP):
Really nice progress!
There was an issue open for infrastrucutre but they removed the part of it so I will do it again. So infrastructure is getting back on the PSP . First game that works is ATV Off Road Fury Blazin' Trails. To connect you need to use the 104.237.9.163 DNS on a real PSP. For now you cant connect because the infrastructure feature is still unsupported on PPSSPP.