-
Notifications
You must be signed in to change notification settings - Fork 2.2k
-
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
[Ad Hoc] Player leave detection #7331
Comments
Still occurring in 1.0 and it happens a lot. It happens with at least Monster Hunter Freedom Unite and Monster Hunter Portable 3rd HD. Edit "edit 3: Played a full monster hunter freedom unite quest, then exited the guild hall, then tried making something, came back to the guild hall and it was reporting all lobbies were full. then i quit." |
I was able to replicate this issue. It seems it only affects MH games for some reason. |
@issuer If you are talking about this : |
People in our Evolve group became annoyed with v1.0 and are going back to older versions to avoid this bug for now. They preferred to have the random crash in 0.9.9.1 as it wasn't as frequent, but still happened quite a bit. Since v0.9.8-1396-ga1d359f it was randomly crashing (MHP3rd HD) as I wrote a while back #7237 I hope this will be resolved soon! |
Thanks for reporting, I'll see what I can do but it won't make it to the 1.0.1 quickfix release. It's quite hard to tell what's going on in these strange network protocols... |
@vnctdj No i wasn't talking about this. When you entered a GH and it was full it would show the error message (The room is full) just like 1.0 but it would show another pop-up window right after the error message, asking you if you would like to change to another GH and it worked if you did. This pop-up is nonpresent after the Ad hoc branch merge. |
@vnctdj are you playing with a lot of different people? It happens very frequently here at least, especially when you finish a quest, leave the GH to visit farm / change equipment and then come back. There is also this issue where you can't see people unless they re enter the hall, even if they are inside. Most likely it is related to the "player leaving" not being properly detected as you said in the original post. |
No, I don't play with a lot of different people. To be honest, it has been a very long time since I haven't played with a friend... I don't have enough time unfortunately :/ |
I'm investigating this issue for MHP3rd(should also affect other MH games) and I set breakpoints in proAdhoc.cpp at line 1130 and 1140 but it never gets there. When you join a GH and receive peer data it will call addFriend() as normal but when you disconnect it won't call deleteFriendByIP() so when 4 different users are added to "the list" it will fool the game thinking it's full when you try to join any other GH even if it's an empty one. line 1129: else if (rx[0] == OPCODE_DISCONNECT) seems to always become false? I don't know if I can solve it but I thought I would let you know what's happening at least. I guess AdamN knows more about this. Here is a scenario that can trigger the bug.
Edit* I don't know if this breaks anything but I guess this isn't the optimal solution, we want the "disconnect packet" code(line 1129-1155 in proAdhoc.cpp) to be used instead, I assume. |
It seems that PPSSPP doesn't detect correctly when another player leave ad hoc / close his PPSSPP.
Here is an example :
There is 2 players in the Gathering Hall.
Player 1 close his PPSSPP.
The screen of player 2 still shows that player 1 is here, even if its debug log is showing that player 1 has disconnected.
When I enter the Gathering Hall :
When I leave the Gathering Hall :
And even this one that has appeared when I closed PPSSPP :
The text was updated successfully, but these errors were encountered: