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

Autoscaling Fleet base on Player Count #1034

Closed
markmandel opened this issue Sep 4, 2019 · 13 comments
Closed

Autoscaling Fleet base on Player Count #1034

markmandel opened this issue Sep 4, 2019 · 13 comments
Assignees
Labels
area/user-experience Pertaining to developers trying to use Agones, e.g. SDK, installation, etc help wanted We would love help on these issues. Please come help us! kind/design Proposal discussing new features / fixes and how they should be implemented kind/feature New features for Agones stale Pending closure unless there is a strong objection. wontfix Sorry, but we're not going to do that.

Comments

@markmandel
Copy link
Member

Dependent on #1033

Is your feature request related to a problem? Please describe.
For persistent worlds, its common to have multiple copies of the same world for each player to join.

Therefore, a Single fleet could represent a single world, and we would want to scale it based on how close to being full of connected players it currently is.

Right now, we need to track this ourselves, and/or provide a webhook implementation to the Agones autoscaler. It would be nice if we didn't have to.

Describe the solution you'd like
A configuration option on the FleetAutoscaler CRD that works for player count. Something like this would potentially work, which works similarly to the GameServer buffer strategy - but with empty player slots (I'm not sold on the naming, but to have a sacrificial draft):

apiVersion: "autoscaling.agones.dev/v1"
kind: FleetAutoscaler
metadata:
  name: fleet-autoscaler-example
spec:
  fleetName: fleet-example
  policy:
    # type of the policy. for now, only Buffer is available
    type: PlayerCount
    # parameters of the playercount policy
    playerCount:
      # Size of a buffer of empty player slots that are available in the Fleet.
      # it can be specified either in absolute (i.e. 5) or percentage format (i.e. 5%)
      playerSlots: 5
      # minimum number of player slots is be set by this FleetAutoscaler. 
      # if not specified, the actual minimum slots will be playerSlots
      minSlots: 10
      # maximum number of players slots that can be set by this FleetAutoscaler
      # required
      maxSlots: 20

Describe alternatives you've considered

Once we have #1033 we could force people to use the webhook autoscaling for this, but it seems like a lot of work for what seems like a useful feature.

Additional context
N/A at this stage.

@markmandel markmandel added kind/feature New features for Agones kind/design Proposal discussing new features / fixes and how they should be implemented area/user-experience Pertaining to developers trying to use Agones, e.g. SDK, installation, etc labels Sep 4, 2019
@deathlyrage
Copy link

Any updates or news on this feature?

Is the only way of implementing it currently via webhook?

@markmandel
Copy link
Member Author

No news at this stage. Likely needs a slight redesign to align the naming with the player tracking naming.

Would you be interested in working on this?

@deathlyrage
Copy link

Just wanted to see how far out it is and what options there were. Was looking at hiring a developer to work on a pull request for it. Otherwise going to see if we can get similar functionality via webhook.

Ideally would work on it myself but super busy working on game projects itself.

@markmandel markmandel added the help wanted We would love help on these issues. Please come help us! label Sep 24, 2020
@markmandel
Copy link
Member Author

Some of this naming should probably reviewed, and aligned more with the current naming on player tracking. But I think the design is sound?

@MonDoudou
Copy link

Hello;
I reopen the topic if this solution will be dev? or if not a new development is in progress. We are looking to export agones to minecraft but it is complicated in the current state

@markmandel
Copy link
Member Author

Hello;
I reopen the topic if this solution will be dev? or if not a new development is in progress. We are looking to export agones to minecraft but it is complicated in the current state

It's coming, but hasn't been started yet.

Always looking for contributors though 😄

@MonDoudou
Copy link

A freelancer is not available :D My company is willing to finance this issue, quite important to us

@BennyDeeDev
Copy link

Any updates on this feature?

@markmandel
Copy link
Member Author

I have a design I'm still working on that I need to post to revamp all of player tracking - hopefully get it out this week. We'll see how it lands.

@github-actions
Copy link

github-actions bot commented May 1, 2023

'This issue is marked as Stale due to inactivity for more than 30 days. To avoid being marked as 'stale' please add 'awaiting-maintainer' label or add a comment. Thank you for your contributions '

@github-actions github-actions bot added the stale Pending closure unless there is a strong objection. label May 1, 2023
@markmandel
Copy link
Member Author

I think we can close this, as now we have tracking work in #2716 ?

@github-actions github-actions bot removed the stale Pending closure unless there is a strong objection. label May 15, 2023
@github-actions
Copy link

'This issue is marked as Stale due to inactivity for more than 30 days. To avoid being marked as 'stale' please add 'awaiting-maintainer' label or add a comment. Thank you for your contributions '

@github-actions github-actions bot added the stale Pending closure unless there is a strong objection. label Jun 15, 2023
@markmandel
Copy link
Member Author

I'm going to close this as wontfix, since nobody objected to my comment above.

@markmandel markmandel added the wontfix Sorry, but we're not going to do that. label Jun 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/user-experience Pertaining to developers trying to use Agones, e.g. SDK, installation, etc help wanted We would love help on these issues. Please come help us! kind/design Proposal discussing new features / fixes and how they should be implemented kind/feature New features for Agones stale Pending closure unless there is a strong objection. wontfix Sorry, but we're not going to do that.
Projects
None yet
Development

No branches or pull requests

4 participants