Skip to content

Implementation of a ShutdownOrder + Requirement #1

@davidmayr

Description

@davidmayr

I would like to see a shutdown order and possibly shutdown requirement in both server Stateful Sets and normal server deployments.

Currently, servers shut down (when down scaling) on normal server sets if they are not marked as in-game, which needs to be set by the SDK.

However, on non-in-game servers, the first match is deleted. A shutdown order could be implemented that orders, e.g., by player count.

On stateful sets, nothing seems to be checked at all as of now. Here, a shutdown order could also be implemented.

Possible shutdown orders might be: (naming is only temporary, there are probably better names) LowestPlayerCountFirst, LongestUptimeFirst, NewestServerFirst

This would both work for stateful sets and normal server sets.

Shutdown requirements define whether a server can shut down on downscale or not. As soon as the requirement becomes no longer true, the server will be instantly stopped(I don't know how complicated that would be to implement, tho) - Shutdown requirements would not affect normal deletion of pods.

Shutdown requirements could be an array defining one or multiple requirements

Possible values would be: NotIngame(default if no array defined), None (empty array), NoPlayers

I have heard the argument from a strela dev, that the order would not comply with the "rules" of Kubernetes, however I think that for game servers these settings are very important in comparison to some random microservice.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions