forums.PPSSPP.org
[AdHoc] Compatibility List [STOPPED] - Printable Version

+- forums.PPSSPP.org (https://forums.ppsspp.org)
+-- Forum: PPSSPP - Playstation Portable Simulator Suitable for Playing Portably (/forumdisplay.php?fid=1)
+--- Forum: Ad-Hoc Multiplayer (/forumdisplay.php?fid=34)
+--- Thread: [AdHoc] Compatibility List [STOPPED] (/showthread.php?tid=9037)



RE: [AdHoc] Compatibility List [STOPPED] - onelight - 08-25-2020 02:03 AM

(08-25-2020 12:28 AM)AdamN Wrote:  Btw, i seriously can't find any of sceNetAdhocInit or sceNetAdhocctlInit functions in the log O.o
Are they not part of sceNet channel?
Should i added more channels like: hle.sceNetAdhoc and hle.sceNetAdhocctl to get them in the log?

And where can i find the list of all of available channels (just in case there are more sceNet* that was separated), because i thought hle.sceNet will also includes sceNetAdhoc, sceNetAdhocctl, sceNetInet, etc. they're not mentioned in readme.txt

PS: Are the modules here https://www.javatips.net/api/jpcsp-master/src/jpcsp/HLE/HLEModuleManager.java will be treated as a separate log channel each?

last time I report jpcsp log to jpcsp main Developer gid15, he suggest add following lines in LogSettings.xml

Code:
<logger name='hle.sceNetAdhoc'> <level value='trace' /> </logger>
<logger name='hle.sceNetAdhocctl'> <level value='trace' /> </logger>
<logger name='hle.sceNetAdhocMatching'> <level value='trace' /> </logger>
<logger name='hle.sceNet'> <level value='debug' /> </logger>
<logger name='hle.sceUtility'> <level value='debug' /> </logger>
<logger name='compiler'> <level value='debug' /> </logger>
<logger name='network'> <level value='debug' /> </logger>



RE: [AdHoc] Compatibility List [STOPPED] - AdamN - 08-26-2020 01:56 PM

Thanks, but i managed to get the log using these LOL
Code:
<logger name='hle.sceNet'> <level value='info' /> </logger>
<logger name='hle.sceNetIfhandle'> <level value='info' /> </logger>
<logger name='hle.sceNetApctl'> <level value='trace' /> </logger>
<logger name='hle.sceNetInet'> <level value='trace' /> </logger>
<logger name='hle.sceNetResolver'> <level value='trace' /> </logger>
<logger name='hle.sceNetAdhoc'> <level value='trace' /> </logger>
<logger name='hle.sceNetAdhocctl'> <level value='trace' /> </logger>
<logger name='hle.sceNetAdhocMatching'> <level value='trace' /> </logger>
<logger name='hle.sceNetAdhocDiscover'> <level value='trace' /> </logger>
<logger name='hle.sceNetAdhocAuth'> <level value='trace' /> </logger>
<logger name='hle.sceNetAdhocDownload'> <level value='trace' /> </logger>
<logger name='hle.sceNetAdhocTransInt'> <level value='trace' /> </logger>
<logger name='hle.sceNp'> <level value='trace' /> </logger>
<logger name='hle.sceNpCore'> <level value='trace' /> </logger>
<logger name='hle.sceNpAuth'> <level value='trace' /> </logger>
<logger name='hle.sceNpService'> <level value='trace' /> </logger>
<logger name='hle.sceNpCommerce2'> <level value='trace' /> </logger>
<logger name='hle.sceNpCommerce2Store'> <level value='trace' /> </logger>
<logger name='hle.sceNpCommerce2RegCam'> <level value='trace' /> </logger>
<logger name='hle.sceNpMatching2'> <level value='trace' /> </logger>
<logger name='hle.sceNpInstall'> <level value='trace' /> </logger>
<logger name='hle.sceNpCamp'> <level value='trace' /> </logger>
<logger name='hle.sceHttp'> <level value='trace' /> </logger>
<logger name='hle.sceHttps'> <level value='trace' /> </logger>
<logger name='hle.sceHttpStorage'> <level value='trace' /> </logger>
<logger name='hle.sceSsl'> <level value='trace' /> </logger>
<logger name='hle.sceGameUpdate'> <level value='trace' /> </logger>
<logger name='hle.sceUtility'> <level value='trace' /> </logger>
<logger name='hle.sceOpenPSID'> <level value='trace' /> </logger>
<logger name='compiler'> <level value='debug' /> </logger>
<logger name='network'> <level value='debug' /> </logger>
<logger name='stdout' > <level value='off' /> </logger>
<logger name='stderr' > <level value='off' /> </logger>
Anyway, after comparing the packets being sent, apparently on PPSSPP the client/joining side didn't sent the packet expected by the host, but i don't know what was the reason Sad

Here is the correct sequence when the Event is started on KHBBS:
1). Host & Join send this kinda packet (truncated)
Code:
0x09F36E58 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
0x09F36E68 52 6F 6C 6C 73 79 50 53 50 00 00 00 00 00 00 00  >RollsyPSP.......< <-- PlayerName (RollsyPSP/Rollsy)
2). Later Host send
Code:
0x09F36E58 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
0x09F36E68 52 6F 6C 6C 73 79 50 53 50 00 00 00 00 00 00 00  >RollsyPSP.......<
And Join send
Code:
0x09F36E58 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
0x09F36E68 52 6F 6C 6C 73 79 00 00 00 00 00 00 00 00 00 00  >Rollsy..........<
3). After awhile with repeated send/recv
Joining side will send
Code:
0x09F36E58 01 02 00 00 00 00 00 00 XX 00 00 00 41 C1 41 FF  >............A.A.<
0x09F36E68 52 6F 6C 6C 73 79 00 00 00 00 00 00 00 00 00 00  >Rollsy..........<
After Host receiving that packet, Host will send
Code:
0x09F36E58 00 02 00 00 00 00 00 00 XX 00 00 00 80 80 80 FF  >................<
0x09F36E68 52 6F 6C 6C 73 79 50 53 50 00 00 00 00 00 00 00  >RollsyPSP.......<
*XX started from 00 and increased by 01 on each send


Meanwhile on PPSSPP:
The Host send the correct sequence, up to
Code:
0x09F36E58 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
0x09F36E68 52 6F 6C 6C 73 79 50 53 50 00 00 00 00 00 00 00  >RollsyPSP.......<
while the Joining side, keeps sending
Code:
0x09F36E58 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
0x09F36E68 52 6F 6C 6C 73 79 00 00 00 00 00 00 00 00 00 00  >Rollsy..........<
So both of them never progressed because the Host is waiting for the Joining side to send: 01 0X 00 00 .. before it can move on to the next step.

PS: I tried to tamper the memory by changing the number 00 01 to 00 02 on the Host side and the Host will overwrite it again with the correct number, But when i tried to edit the memory on Joining side it didn't try to overwrite it with the correct number Huh probably the fix resides in the code that suppose to change the number in that area on Client/Joining side


RE: [AdHoc] Compatibility List [STOPPED] - Zinx777 - 08-28-2020 08:09 AM

Something I found online that could help people play online without opening any ports :
https://github.com/delthas/autopunch
There is also this : https://github.com/delthas/proxypunch that the developer said might be more suitable for PPSSPP.
Too bad its Windows only.
But maybe someone could look at the code and implement it directly into PPSSPP.
It would be useful for people that dont have UPNP on their router or dont want to mess with VPNs.


RE: [AdHoc] Compatibility List [STOPPED] - AdamN - 08-28-2020 01:47 PM

(08-28-2020 08:09 AM)Zinx777 Wrote:  Something I found online that could help people play online without opening any ports :
https://github.com/delthas/autopunch
There is also this : https://github.com/delthas/proxypunch that the developer said might be more suitable for PPSSPP.
Too bad its Windows only.
But maybe someone could look at the code and implement it directly into PPSSPP.
It would be useful for people that dont have UPNP on their router or dont want to mess with VPNs.

Actually a real PSP does support 2 kind of port forwarding/opening port, UPnP and STUN.
STUN is the one used by that autopunch/proxypunch, but STUN requires a server on the internet to test the port, while UPnP works locally on your router.

This might be better for simulating the STUN API on PSP https://github.com/NATTools/stunlib but will still requires a server, so at least one of the player will need to have UPnP/port forwarding support for the STUN server.
Anyway, STUN is a bit more complicated compared to port forwarding like UPnP because we can't decide which public port that will be used and requires a local port mapping (similar to portOffset + useOriginalPort settings).

Edit: Apparently there is a public STUN server, so we can use that instead of hosting our own STUN server http://stunprotocol.org/

Known public STUN/TURN Servers:
Quote:stun1.l.google.com:19302
stun2.l.google.com:19302
stun3.l.google.com:19302
stun4.l.google.com:19302
stun.stunprotocol.org:3478



RE: [AdHoc] Compatibility List [STOPPED] - Zinx777 - 08-28-2020 02:29 PM

(08-28-2020 01:47 PM)AdamN Wrote:  
(08-28-2020 08:09 AM)Zinx777 Wrote:  Something I found online that could help people play online without opening any ports :
https://github.com/delthas/autopunch
There is also this : https://github.com/delthas/proxypunch that the developer said might be more suitable for PPSSPP.
Too bad its Windows only.
But maybe someone could look at the code and implement it directly into PPSSPP.
It would be useful for people that dont have UPNP on their router or dont want to mess with VPNs.

Actually a real PSP does support 2 kind of port forwarding/opening port, UPnP and STUN.
STUN is the one used by that autopunch/proxypunch, but STUN requires a server on the internet to test the port, while UPnP works locally on your router.
The problem with UPNP is that a lot of players either use 3G/4G internet or dont want to mess up with their router (or dont know its password lol).
So you get left with VPNs which are a bit complex to set up.
Oh well.


RE: [AdHoc] Compatibility List [STOPPED] - AdamN - 08-31-2020 12:15 AM

(08-21-2020 09:08 PM)AdamN Wrote:  This pull request https://github.com/hrydgard/ppsspp/pull/13318
Should be much more stable and faster multiplayer Smile it may not fix games that weren't or half working before tho

Games that were having heavy performance drop (ie. Power Stone Collection) and games that were frozen almost permanently due to blocking socket (ie. Hotshots Tennis, Digimon World, etc) should now be able to run normally.
High latency may still cause performance drop tho, probably because i haven't simulate blocking for sending data (didn't bother with blocking sending because it wasn't critical issue that could cause near-permanent freezes)

Along with this i also fixed possible crash related to AdhocMatching, and also fix one of the multiplayer mode on Bleach Heat the Soul 7.

PS: It's not on my old test build links, so you guys will need to wait until it gets merged
PPS: The old MinTimeout implementation was buggy, so with this blocking simulation the higher the MinTimeout you use, the lower FPS you'll get, which is normal/expected to happen when overriding the timeout on games like Power Stone Collection.

Edit: Here are the test builds if you want to tests this over the internet.
Win32 & Win64: https://www.dropbox.com/s/kbwwx0q0w4ecm2d/PPSSPP_1.10.3-perftest_Win32x64.zip?dl=0
Android ARMv7 32bit: https://www.dropbox.com/s/3gl942pt5n91fer/PPSSPP_1.10.3-perftest_ARMv7.apk?dl=0

This test builds have been updated to fix some issue.
If you're still getting "Network Initialized" in the middle of multiplayer, please check the logs for SCENET errors, especially socket errors


RE: [AdHoc] Compatibility List [STOPPED] - Zinx777 - 08-31-2020 04:01 PM

(08-31-2020 12:15 AM)AdamN Wrote:  
(08-21-2020 09:08 PM)AdamN Wrote:  This pull request https://github.com/hrydgard/ppsspp/pull/13318
Should be much more stable and faster multiplayer Smile it may not fix games that weren't or half working before tho

Games that were having heavy performance drop (ie. Power Stone Collection) and games that were frozen almost permanently due to blocking socket (ie. Hotshots Tennis, Digimon World, etc) should now be able to run normally.
High latency may still cause performance drop tho, probably because i haven't simulate blocking for sending data (didn't bother with blocking sending because it wasn't critical issue that could cause near-permanent freezes)

Along with this i also fixed possible crash related to AdhocMatching, and also fix one of the multiplayer mode on Bleach Heat the Soul 7.

PS: It's not on my old test build links, so you guys will need to wait until it gets merged
PPS: The old MinTimeout implementation was buggy, so with this blocking simulation the higher the MinTimeout you use, the lower FPS you'll get, which is normal/expected to happen when overriding the timeout on games like Power Stone Collection.

Edit: Here are the test builds if you want to tests this over the internet.
Win32 & Win64: https://www.dropbox.com/s/kbwwx0q0w4ecm2d/PPSSPP_1.10.3-perftest_Win32x64.zip?dl=0
Android ARMv7 32bit: https://www.dropbox.com/s/3gl942pt5n91fer/PPSSPP_1.10.3-perftest_ARMv7.apk?dl=0

This test builds have been updated to fix some issue.
If you're still getting "Network Initialized" in the middle of multiplayer, please check the logs for SCENET errors, especially socket errors

Your latest changes broke hack link and naruto ultimate ninja heroes 3 after you fixed them not long ago.
They are stuck in connecting to the room now lol.


RE: [AdHoc] Compatibility List [STOPPED] - AdamN - 08-31-2020 04:35 PM

(08-31-2020 04:01 PM)Zinx777 Wrote:  Your latest changes broke hack link and naruto ultimate ninja heroes 3 after you fixed them not long ago.
They are stuck in connecting to the room now lol.

LOL you're right, thanks for pointing that out.
Btw is this also happening with previous build?

Hmm.. after fixing that stuck messagebox, apparently there is connection issue when the mission started

Update: Test builds have been updated


RE: [AdHoc] Compatibility List [STOPPED] - Zinx777 - 09-01-2020 06:00 PM

Well I have nothing else to say.
I hope it gets merged into mainline PPSSPP because it does improve on some things.
Didn't test much over the internet though but someone could contact me via DM/PM if he wants to.


RE: [AdHoc] Compatibility List [STOPPED] - Zinx777 - 09-04-2020 01:36 AM

Good news Gran Turismo works online on the latest dev build.
Works pretty great too.


RE: [AdHoc] Compatibility List [STOPPED] - AdamN - 09-04-2020 05:40 AM

(09-04-2020 01:36 AM)Zinx777 Wrote:  Good news Gran Turismo works online on the latest dev build.
Works pretty great too.

I was able to get Kingdom Hearts BBS Versus and Arena mode to work with this PR https://github.com/hrydgard/ppsspp/pull/13318
[attachment=16862]


RE: [AdHoc] Compatibility List [STOPPED] - Zinx777 - 09-04-2020 06:53 AM

(09-04-2020 05:40 AM)AdamN Wrote:  
(09-04-2020 01:36 AM)Zinx777 Wrote:  Good news Gran Turismo works online on the latest dev build.
Works pretty great too.

I was able to get Kingdom Hearts BBS Versus and Arena mode to work with this PR https://github.com/hrydgard/ppsspp/pull/13318

I think that your work is done now.
You fixed almost every major PSP game lol.
There are still 2-3 games that crash when you go to the Adhoc menu but eh maybe one day they will work lol.
Thanks for your hard work.
BTW people need ARM8/64 bit ARM support for your builds because the ARM7 ones are slow for them Confused.


RE: [AdHoc] Compatibility List [STOPPED] - AdamN - 09-04-2020 08:11 AM

All multiplayer modes on Bleach Heat the Soul 7 are working properly now with this PR https://github.com/hrydgard/ppsspp/pull/13378

@Zinx777: may be you can ask @hrydgard to provide the 64bit android build at orphis bot Smile


RE: [AdHoc] Compatibility List [STOPPED] - darkdigi20 - 09-04-2020 08:13 AM

Digimon World Re:Digitize works fine on one pc with AdhocServer here https://forums.ppsspp.org/showthread.php?tid=14313&highlight=Freeze
and AdamN modified PPSSPP(PPSSPP_1.10.3-perftest) which can be found on his sign
[img][Image: drGSb5.png][/img]


RE: [AdHoc] Compatibility List [STOPPED] - Zinx777 - 09-04-2020 08:25 AM

Ok or i will just wait for it to be on android store lol.
Too bad pro online on PSP is limited because I tried crossplay with gran turismo and it crashed the other player PSP XD.
I hope someone could work that out there too.