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

GameServer Creation, Allocation and Shutdown Lifecycle #548

Merged

Conversation

markmandel
Copy link
Collaborator

Loose sequence diagram of what happens through GameServer creation, allocation and finally shutdown.

@markmandel markmandel added the kind/documentation Documentation for Agones label Feb 1, 2019
@markmandel markmandel added this to the 0.8.0 milestone Feb 1, 2019
@agones-bot
Copy link
Collaborator

Build Succeeded 👏

Build Id: b6539836-09a1-4dc5-a85d-f3eb2d60de73

The following development artifacts have been built, and will exist for the next 30 days:

A preview of the website will exist for the next 30 days:

To install this version:

  • git fetch https://github.com/GoogleCloudPlatform/agones.git pull/548/head:pr_548 && git checkout pr_548
  • helm install install/helm/agones --namespace agones-system --name agones --set agones.image.tag=0.8.0-a67604c

@@ -0,0 +1,67 @@
@startuml
participant Matchmaker
participant "Kuberntes API" as K8sAPI
Copy link
Contributor

Choose a reason for hiding this comment

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

typo here "Kuberntes"

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Done

when being started and match made.
---

![Lifecyle Sequence Diagram](http://www.plantuml.com/plantuml/png/XLN1Rjim3BtxAuYSMg3jhaFG5CWwT0kAOa63tdnH92OMwb2U9BVDtu-KxLX9MkmIsARu-FZug3JAHwjjeoZ2augwsgbNz4MJVPuyjclq5370VBcOW0hm-3tmuz6f-TOHXkF4Nsg7i4B_XhwafNSQGqZvFomflpywlFhvU9uyv3vZSAtNc9B7GB5s7qTLOEdCf038WVfQnn-b6f811YYAsIp3X5NaSp2R5KNN4bpVPU5fVbHxL14DnCgxTbkLfE3MtZtKYF7scxq3xMXZjwrNqJegb8xsZS_d3MHWNAQZEksrxE43A6aBtcsik1AMDC1ovRptUqTHMMBKGwM-zyExjDrzatByDfMVcz-ewbXTN1Ra-92tsogoNjpA44ZTM672jQEbrhL15BMqPKegWjEwzG5QCbmUX2PaB5aV39MhpKqINQhadTzUNtTSdfY-j12WAxo745NaKfzmVaPbzgUKxrLT2-y-c6Y_LqX2YCEvMbhnL_OwDBNQ9z9Cc53BgBXHfYdzhck4w3YuHc1ifsNU_-dYfJ6YTNG79ea7-ueJn6pZde77los6A3fcK6A-x12ttItS5EwJ9QO7cyqxJinPQdHYrBWHBSOGgEXsLZF_FJJUlLc3CZsLbznuj-ClZNCrXzm6yCEUyfAaYvVG9g1Zgr-EadHKXNHduoai-ExWvMrY-89tIRqEnQJBcPmktOCb8_PBSWhA61I0gv82ChoDlUppOLQPz3qncTF0p6DiFOMpZ98oQJngvqq-487eqRuQXRYdGqTJKjhTCzPWaDrUXv8iwRerelPYcRpNE9zQwJt9ZpVPS1SRbleJFF7q6ej-nkRgQsx5mAsxLbIIY1UD1yyvBtIanZXRSUyoxKkGaTXGTJibXXrtD1-ShEggQgDnxpHiQ-hX3sc4BP-K_HErjDirDKQy0d5gmJJ6lCIQvJ0e9z8sdtVl-p-99E1QwLVHas_ER5tP-D6x_N0l3gzoBGxF8-W_)
Copy link
Contributor

Choose a reason for hiding this comment

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

can we add Makefile step that regenerates this automatically (somehow)?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

So yep - we totally can do this - plantuml has a command line tool we could install (like dot), and make part of the Makefile 👍

I thought this might be easier (one less tool), but in this case, it's one more website to learn.

I'll add the Makefile step, and make the png local.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Done

@markmandel
Copy link
Collaborator Author

@steven-supersolid
Copy link
Collaborator

Just a thought about whether to add a Game Client column to show an example of a complete system (hopefully representative of the common use case). The Game Client requests a Game Server from the Matchmaker.

There is an additional phase/vertical separator where the game is being played and the Game Client and Game Server communicate directly.

@markmandel
Copy link
Collaborator Author

@steven-supersolid Honestly, I kind of just want to keep it simple - show the elements as they interact within out system.

If we want to educate on how player + matchmakers + dedicated game servers work - maybe that should be a whole other doc? (which may be a good thing to write though!)

WDYT?

Loose sequence diagram of what happens through
GameServer creation, allocation and finally shutdown.
@markmandel markmandel force-pushed the docs/gameserver-lifecycle branch from a67604c to 5376cc2 Compare February 5, 2019 03:02
@agones-bot
Copy link
Collaborator

Build Succeeded 👏

Build Id: 7f4e4356-6068-4ef7-a037-0ab9ffd4c761

The following development artifacts have been built, and will exist for the next 30 days:

A preview of the website will exist for the next 30 days:

To install this version:

  • git fetch https://github.com/GoogleCloudPlatform/agones.git pull/548/head:pr_548 && git checkout pr_548
  • helm install install/helm/agones --namespace agones-system --name agones --set agones.image.tag=0.8.0-5376cc2

@markmandel markmandel modified the milestone: 0.8.0 Feb 5, 2019
Copy link
Collaborator

@cyriltovena cyriltovena left a comment

Choose a reason for hiding this comment

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

LGTM

@agones-bot
Copy link
Collaborator

Build Succeeded 👏

Build Id: e9a0f156-c3c6-457b-bfde-b166cadea8cb

The following development artifacts have been built, and will exist for the next 30 days:

A preview of the website will exist for the next 30 days:

To install this version:

  • git fetch https://github.com/GoogleCloudPlatform/agones.git pull/548/head:pr_548 && git checkout pr_548
  • helm install install/helm/agones --namespace agones-system --name agones --set agones.image.tag=0.8.0-386e101

@markmandel markmandel merged commit 52f7c21 into googleforgames:master Feb 6, 2019
@markmandel markmandel deleted the docs/gameserver-lifecycle branch February 6, 2019 16:55
@steven-supersolid
Copy link
Collaborator

Ah yes I like the idea of a separate high level overview doc and keep this one as simple as it can be. The overview may make it easy to understand the benefits of Agones without having to know the details of the internals.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/documentation Documentation for Agones
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants