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
Gundam: Senjou No Kizuna Portable Adhoc network bugs #14172
Comments
@shanzenos could you test with multiple instances of PPSSPP on the same PC with more than 2 players? To see if it works or not Btw are you using VPN when playing with more than 2 players? |
@shanzenos could you guide me how to do multiplayer? how to host & join? Edit: While other players got Communication error: Anyway, AdhocMatching issue will probably takes some times to be fixed. |
I've heard up to 8 players used to work in older versions of the emulator but I was never given a version number. I'm thankful though for you doing some debugging for the problem, hopefully the attention eventually gets the bug fixed I know quite a large number of people that would be thrilled to hear about it being fixed. |
@anr2me |
do i need to change the source code like that or can i do it from compat.ini ? |
The change is wrong,Just a test whether is memory issue
|
Not related to the issue but if you try to save a replay that shows Android VS PC you might see funny animations on the Android side lol. |
Seems like 3 players works fine now if you wait a bit for the 3rd player to show up at least locally. |
i think 3 players on vpn needs more testing to see if it truly doesn't work. |
Yeah for some reason it only works with a VPN. |
I think this is related to games that generate a random SSID for each session/player (noticed this on xlink). |
Yeah, hleLog should only happen on the main CPU emulation thread I think... It looks odd to have another thread call a HLE function directly (sceNetAdhocPdpRecv)? Maybe some code should be extracted from that function into a smaller one, that doesn't call hleLog? |
Well the MatchingInput (which is listening on incoming PDP packets and generate the Events) and MatchingEvent threads was supposed to be running on PSP side, but because the code was probably ported directly from pro-online client it ended running on the emulator side. I'm planning to change those threads into PSPThreads later, probably after 1.12 is out, as it's too risky to do it near the end of the milestone. |
It only crashed with the fix i made for Super Pocket Tennis (which seems to fix the issue on this game too), if you're staying in lobby for too long, since the logs will be flooded with these PdpRecv's logs, thus have a higher chance to bump into this crash issue. |
Hmm.. it seems the crash issue on the Log was because i'm printing the syscall's argument. If i use But if i use |
Btw @mojojojodojo if a player joined a room and then left the room, is that player's name still appeared on the other player's list? Like this 4th player that are no longer in the room (which i feels odd) |
Ugh.. i bumped into another crash issue i'm not sure what's happening |
When I tried it on Xlink I dont think it happened. |
Yes, PSP memory allocation is not safe to do from another thread. In C++, everything is unsafe to do from another thread unless you've specifically done a lot of work to make it safe (and paid a performance penalty for this.) STL containers like std::vector? Unsafe. BlockAllocator? Unsafe. CoreTiming ticks? Unsafe. The places we use threads all have to have the data communicated to and from separated so they're never cross-talking with other threads. -[Unknown] |
After you finish 1 round on coop at least then all the names show up (even the 3rd player) so the inital lobby is some sort of bug on PPSSPP. |
how many players it should be? 2 players? i do think the AdhocMatching ping is a bit strange, it's pinging all players even when itself is not a member of AdhocMatching, causing leaving players still have their I believed it should only be pinging AdhocMatching members and only done it when itself is a member too, but i'll test it for 1.13 later, since there is a risk of some games unable to see multiplayer room/lobby if my assumption was mistaken. |
The coop is 4 players. Seeing as the game was originally on arcade maybe it made more sense there and they just ported how it works verbatim. |
@shanzenos please try again after this PR got merged #15331 |
Using localhost only 4 players will work now. |
This game is using AdhocMatching intensively (similar to Lord of Arcana), thus for each additional player there will be more events being queue at a rapid pace :( I guess i'll need to find a way to process those matchingEvents faster, or at least prevent them from interfering a syscall that waited for a specific event. PS: i'm not sure whether my laptop can handle more than 4 instances of PPSSPP to test 8 players LOL |
Actually if you are super fast at inputting , if you access the lobby in split second time with 7 instances you can get the lobby to be almost full. |
This issue has been occurring for years now, although at the moment I am fully updated to PPSSPP 1.11.2
When entering the multiplayer lobby, matches work for only 2 players- and works fine. If even one more player enters the lobby while 2 are already present, they will "join" and be able to view the lobby, but will not show up in the player list. If the match is started all players will get a connection error message and the room will close it's self. Multiplayer for just 2 players works perfectly fine however. The game supports a maximum of 8 players over adhoc.
The text was updated successfully, but these errors were encountered: