Skip to content
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

Strange issues with invasions 1.1.0 #41

Closed
Covfefe-45 opened this issue Feb 5, 2024 · 5 comments · Fixed by #42
Closed

Strange issues with invasions 1.1.0 #41

Covfefe-45 opened this issue Feb 5, 2024 · 5 comments · Fixed by #42

Comments

@Covfefe-45
Copy link

I have close to 30 hours on this new version. This version the overlay is never blank when joining any session (arena duels, invasions, Taunters Tounge) Thank you tremwil! I haven't tried arena 2v2 or 3v3, I don't think people still do that on PC. Arena duels work perfectly every time. Invasions are a different story. You only get the Hosts info when invading. Not once have i invaded and had every player in the session showing on the overlay at the beginning of the invasion. If a blue, another invader or phantom joins then all players will populate. Sometimes they'll randomly populate but not often. It normally takes someone else joining to trigger the overlay to show everyone that's in the session. If you check the steam overlay all the players are there, just not showing on p2p info overlay. With the old p2p info it was about 60-40 maybe 70-30 you'd get the info when invading. 60% you get all players in the world showing, 40% you get nothing until someone else joins the session (blue, phantom, invader) If no one else joins, it normally stays blank.

There is some strange stuff happening after winning an invasion. If you win the invasion and killed the host first, most of the time the once unknown phantom will then show up in the overlay and the host will disappear. He'll then stay in the overlay for about 2 minutes once back in your own world. This happens 90% of the time. If you kill the phantom first then defeat the host, the host's name will stay for about 2 minutes once the session is over. This doesn't disrupt anything it's just strange. If you lose the invasion the overlay will clear normally. If there is just a single host with no phantom or blue, their name will clear normally after the session is over. You only get this strange prolonged connection showing if you win and there was more than 1 other person in the session. If you need me to test anything let me know.

@tremwil
Copy link
Owner

tremwil commented Feb 6, 2024

You only get the Hosts info when invading. Not once have i invaded and had every player in the session showing on the overlay at the beginning of the invasion.

This is weird, as unless the code is wrong (which doesn't seem so), it would imply that the game only authenticates the host when the session starts, then all other players once someone else joins. Could you upload the SteamP2PInfo log file that was produced when you experienced this issue? The Steam IPC log file would also be appreciated but it may contain personal info so you might want to remove it (if any) first before uploading.

There is some strange stuff happening after winning an invasion. If you win the invasion and killed the host first, most of the time the once unknown phantom will then show up in the overlay and the host will disappear. He'll then stay in the overlay for about 2 minutes once back in your own world. This happens 90% of the time.

There is a known bug in the game where it doesn't close P2P connections properly in some cases (i.e. doesn't call CloseP2PSessionWithUser). This leaves them open for 2 minutes before the Steam inactive P2P connection timer runs out and they're killed. I thought the game would still call EndAuthSession before disconnect but it seems like that's not the case, which explains this behaviour. A possible solution is logging calls to LeaveLobby so and clearing the entire player list when it's called. I'll wait until we can figure out the first bug before implementing, though.

@tremwil
Copy link
Owner

tremwil commented Feb 6, 2024

Hi,

I think I might've successfully addressed these issues. I'd appreciate if you could test this pre-release: https://github.com/tremwil/SteamP2PInfo/releases/tag/V1.2.0-pre1

Thanks!

@Covfefe-45
Copy link
Author

Covfefe-45 commented Feb 6, 2024

Testing now.
Update: 10 invasions and everything seems good. It's now showing everyone in the session. Before when i said it was just the host i might have been wrong. It was definitely only 1 person showing up and i assumed it was the host. I was invading after I posted the issues and I know at least once the name shown when joining was NOT the host. The person had the same name as his steam ID and he was a phantom. I killed him and then the Host name appeared which was a different name than what showed when joining. I guess that's not important now as everything seems good. If I see anything else I'll share it. If there's anything you'd like me to try or pay closer attention to just let me know. Thank you. We all appreciate this app. It's an Awesome tool to have.

@tremwil
Copy link
Owner

tremwil commented Feb 6, 2024

Update: 10 invasions and everything seems good. It's now showing everyone in the session. Before when i said it was just the host i might have been wrong. It was definitely only 1 person showing up and i assumed it was the host. I was invading after I posted the issues and I know at least once the name shown when joining was NOT the host.

This makes sense as I'm pretty certain the root cause of that bug was Steam often not flushing the IPC log past the first call after a while. So only the first player for which the game calls BeginAuthSession would be detected.

Thanks for testing! I'm glad it's working well. Let me know when you'll have high confidence the original issues have been fully resolved, and I'll draft a full release.

@Covfefe-45
Copy link
Author

So far so good. Not a single issue. Not even getting the 2 minute bug. I still haven't tried 2v2 or 3v3 in the colosseum but duels and invasions are perfect. I really appreciate your effort on this project.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants