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

Add controls to prevent clients connecting when game is at max player cap. #351

Open
mcphedar opened this issue Apr 12, 2023 · 1 comment
Labels
kind/feature New feature or request priority/major Major priority. Work that should be handled after all blocking and critical work is done.

Comments

@mcphedar
Copy link
Contributor

mcphedar commented Apr 12, 2023

Is your feature request related to a problem? Please describe.
MPS code assumes a max of 10 players (

static constexpr int MaxSupportedPlayers = 10;
), but more than 10 players can join the game.

These additional players will not see UX updates and will not get correctly synchronized by networking code.

To ensure good performance and to be compatible with the UI, a maximum of 10 players is recommended for the MPS. Beyond this there may be performance issues. The scoring UIs only support 10 players, so additional players won't have a visible score.

Describe the solution you'd like
Add a cvar that caps player count in a MPS match 10 or less. Add code that when more players than allowed attempt to connect, players beyond max cap are rejected.

Note: to support more than 10 players, would require both UX and other code work and a lot of testing (will need a different feature request)

@mcphedar mcphedar added kind/feature New feature or request needs-triage Issue requires review labels Apr 12, 2023
@lmbr-pip
Copy link
Contributor

lmbr-pip commented Apr 13, 2023

UX and game is hardcoded to 10 players (some fixed arrays are set to 10).

Suggestion is to have server check to reject connections when active player count is = 10

MPS should be able to support larger player population (potentially up to 25) but this has not been tested and will require code changes in the client -> server components to increase buffer sizes.

static constexpr int MaxSupportedPlayers = 10;

Will need to ensure network buffers can be synchronized before tackling UX expansion work

@lmbr-pip lmbr-pip added priority/major Major priority. Work that should be handled after all blocking and critical work is done. priority/critical Critical priority. Should be actively worked on as someone's top priority right now. and removed needs-triage Issue requires review priority/critical Critical priority. Should be actively worked on as someone's top priority right now. labels Apr 13, 2023
@lmbr-pip lmbr-pip changed the title Add Max Player cap to the game as a cvar Provide an explicit max player control for the game. Apr 25, 2023
@lmbr-pip lmbr-pip changed the title Provide an explicit max player control for the game. Add controls to prevent clients connecting when game is at max player cap. Apr 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature New feature or request priority/major Major priority. Work that should be handled after all blocking and critical work is done.
Projects
None yet
Development

No branches or pull requests

2 participants