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

Implement server draining #549

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft

Conversation

pg9182
Copy link
Member

@pg9182 pg9182 commented Sep 14, 2023

  • Send isDraining to masterserver.
  • Expose drain to script.
  • Exit gracefully on match end if draining.
  • Exit gracefully after last player leaves if draining.
  • Exit gracefully immediately if no players when draining.
  • Exit gracefully after timeout if draining and timeout is enabled.
  • Figure out a good place to put the drain status (concommand? global? etc?).
  • Provide a way to trigger drain externally.

R2Northstar/Northstar#544
requires R2Northstar/Atlas#40

@github-actions github-actions bot added the merge conflicts Blocked by merge conflicts, waiting on the author to resolve label Dec 20, 2023
@r3muxd
Copy link

r3muxd commented Apr 29, 2024

there is absolutely no point in this; this is replicated by running the command sv_shutdown, which will quit the server when the server next enters hibernation (which will occur when the server is empty)
to prevent new players from joining, the sv_rejectClientConnects cvar can be used

@GeckoEidechse
Copy link
Member

to prevent new players from joining, the sv_rejectClientConnects cvar can be used

Haven't gotten around to check yet whether that convar exists. Nevertheless, we still need to communicate to master server that gameserver is no longer accepting new players. Simply refusing connection on join gives a bad user experience.

The whole point of the PR is to give a mechanism to reduce server playercount to zero to allow for a restart without interrupting player experience. If done on a round end / map change, it should at least be announced to players that server will go down at the end of round.

Server draining (maybe even through an external trigger) is desired to allow for future updating mechanisms of servers that does not interrupt active sessions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merge conflicts Blocked by merge conflicts, waiting on the author to resolve
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

3 participants