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

New Server Endpoint Usage #304

Closed
wants to merge 1 commit into from
Closed

New Server Endpoint Usage #304

wants to merge 1 commit into from

Conversation

hickorysb
Copy link

@hickorysb hickorysb commented May 2, 2024

This is in relation to #48 on SIT.Aki-Server-Mod. This uses the newly added endpoint for UDP clients to announce their join intent so that we can track the number of players to display in the server browser and so the fix for joining too soon can be applied to UDP P2P raids.

@hickorysb hickorysb requested a review from mihaicm93 May 2, 2024 06:32
Copy link

github-actions bot commented May 2, 2024

badge

Build Successful! You can find a link to the downloadable artifact below.

Name Link
Commit 25a9b2a
Logs https://github.com/stayintarkov/StayInTarkov.Client/actions/runs/8919641758
Download https://github.com/stayintarkov/StayInTarkov.Client/suites/23360634586/artifacts/1466091406

@paulov-t paulov-t self-requested a review May 2, 2024 07:06
Copy link
Contributor

@paulov-t paulov-t left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Target development branch
  2. What was wrong with using /coop/server/join ???

@hickorysb
Copy link
Author

@paulov-t /coop/server/join appears primarily to be for clients to join, and checks the password where we intend to call this after that has already been called previous, and only adds users to the Authorized list and not the connected list. These changes are designed to allow the check here to run on PeerToPeerUDP as well. Since without it it's possible to join a raid before the host has finished loading and so the client gets permanently stuck joining.

Copy link
Contributor

@ArchangelWTF ArchangelWTF left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it'll be fine moving this to development, I dont think it's a big issue at the moment on master especially since UDP is not the default selected method.

@paulov-t
Copy link
Contributor

paulov-t commented May 2, 2024

@paulov-t /coop/server/join appears primarily to be for clients to join, and checks the password where we intend to call this after that has already been called previous, and only adds users to the Authorized list and not the connected list. These changes are designed to allow the check here to run on PeerToPeerUDP as well. Since without it it's possible to join a raid before the host has finished loading and so the client gets permanently stuck joining.

I think it would be better if we improve the endpoint(s) we have to try and fix this issue rather than adding another just for udp. For example. There is no reason for the Client to send that GameClient.SendData when a standard http call would do the trick. (I know I put that in there, just saying, I think I made a poor decision)

In terms of players joining at the wrong time, I was thinking we should add a state to the CoopMatch that has LOADING, WAITING, IN_GAME. The WAITING would be the time where other players can join. We could then remove the Players column and replace the entire functionality of Players.Count > 0 stuff.

@paulov-t paulov-t closed this May 7, 2024
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 this pull request may close these issues.

3 participants