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

Introduce external resource(s) on multiplayer game programming to docs #3884

Conversation

aallbrig
Copy link
Contributor

What type of PR is this?

Uncomment only one /kind <> line, press enter to put that in a new line, and remove leading whitespace from that line:

/kind breaking
/kind bug
/kind cleanup
/kind documentation
/kind feature
/kind hotfix
/kind release

What this PR does / Why we need it:
This starts a page to contribute external resources meant for multiplayer game programming. This is the highest quality compendium on the topic of multiplayer game programming I've found and believe its important to share this to the broader multiplayer game developer community.

Which issue(s) this PR fixes:

Closes #

Special notes for your reviewer:
This was discussed in the Agones community meeting 06/27/2024 and should be considered a rough draft. I'm open to feedback and look forward to discussion!

@github-actions github-actions bot added kind/documentation Documentation for Agones size/S labels Jun 28, 2024
@agones-bot
Copy link
Collaborator

Build Succeeded 👏

Build Id: df704281-db44-43cc-8021-c7f99766ab90

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

A preview of the website (the last 30 builds are retained):

To install this version:

  • git fetch https://github.com/googleforgames/agones.git pull/3884/head:pr_3884 && git checkout pr_3884
  • helm install agones ./install/helm/agones --namespace agones-system --set agones.image.registry=us-docker.pkg.dev/agones-images/ci --set agones.image.tag=1.42.0-dev-037dfac-amd64

@aallbrig aallbrig changed the title Draft for introducing external resource(s) on multiplayer game programming Introduce external resource(s) on multiplayer game programming to docs Jun 29, 2024
@agones-bot
Copy link
Collaborator

Build Succeeded 👏

Build Id: 1a65761a-2255-45fc-a30b-b1401b59eb04

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

A preview of the website (the last 30 builds are retained):

To install this version:

  • git fetch https://github.com/googleforgames/agones.git pull/3884/head:pr_3884 && git checkout pr_3884
  • helm install agones ./install/helm/agones --namespace agones-system --set agones.image.registry=us-docker.pkg.dev/agones-images/ci --set agones.image.tag=1.42.0-dev-f726fe4-amd64

Copy link
Member

@markmandel markmandel left a comment

Choose a reason for hiding this comment

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

Sorry for the delay in review - thanks for posting this!

weight: 40
---

### Game Networking Resources
Copy link
Member

Choose a reason for hiding this comment

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

I'm thinking this content could sit under an Additional Resources section in https://github.com/googleforgames/agones/blob/main/site/content/en/docs/Prerequisite%20Knowledge/_index.md - since that's the first place people go for learning the basics - rather than a new section that is all the way at the bottom and harder to find for new game developers.

WDYT?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think that's a better place for it!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Screenshot 2024-07-11 at 11 07 53 PM

Completed move to prerequisite knowledge page. WDYT?

@aallbrig aallbrig force-pushed the add-gamenetcode-resource-to-agones-documentation branch from 2bcb7b9 to bb84ab1 Compare July 12, 2024 03:00
@agones-bot
Copy link
Collaborator

Build Failed 😱

Build Id: 8b67c149-44ee-4843-a900-5a979bae9c9a

To get permission to view the Cloud Build view, join the agones-discuss Google Group.

@agones-bot
Copy link
Collaborator

Build Failed 😱

Build Id: b6555e6c-4b97-4be2-a70b-429cac265056

To get permission to view the Cloud Build view, join the agones-discuss Google Group.

@agones-bot
Copy link
Collaborator

Build Succeeded 👏

Build Id: 9921d83b-cc9a-4a68-a0fb-d56a9697648b

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

A preview of the website (the last 30 builds are retained):

To install this version:

  • git fetch https://github.com/googleforgames/agones.git pull/3884/head:pr_3884 && git checkout pr_3884
  • helm install agones ./install/helm/agones --namespace agones-system --set agones.image.registry=us-docker.pkg.dev/agones-images/ci --set agones.image.tag=1.42.0-dev-0362002-amd64

@aallbrig aallbrig force-pushed the add-gamenetcode-resource-to-agones-documentation branch from 0362002 to d3bc1cc Compare July 16, 2024 14:12
@agones-bot
Copy link
Collaborator

Build Succeeded 👏

Build Id: c663c057-793f-4e6b-85ca-43fc1d497d49

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

A preview of the website (the last 30 builds are retained):

To install this version:

  • git fetch https://github.com/googleforgames/agones.git pull/3884/head:pr_3884 && git checkout pr_3884
  • helm install agones ./install/helm/agones --namespace agones-system --set agones.image.registry=us-docker.pkg.dev/agones-images/ci --set agones.image.tag=1.42.0-dev-d3bc1cc-amd64

@aallbrig
Copy link
Contributor Author

@igooch @markmandel I think this is ready to be merged into main; would you review and let me know if there are more changes you would want to see? Thanks in advance!

Once again I'd like to affirm that this is a resource worth sharing with the general multiplayer game dev community because it's the highest quality resource I've found when upleveling my understanding of the subject. I keep imagining a fellow curious game developer finding this resource through the Agones open source project and thinking that's a special moment. Hopefully you've had time to review the resource and agree with my assessment!

Looking forward to hearing back soon on this PR.

Co-authored-by: Mark Mandel <markmandel@google.com>
@agones-bot
Copy link
Collaborator

Build Succeeded 👏

Build Id: 0a580d55-6bee-4967-ae43-61d3e7d3d54f

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

A preview of the website (the last 30 builds are retained):

To install this version:

  • git fetch https://github.com/googleforgames/agones.git pull/3884/head:pr_3884 && git checkout pr_3884
  • helm install agones ./install/helm/agones --namespace agones-system --set agones.image.registry=us-docker.pkg.dev/agones-images/ci --set agones.image.tag=1.42.0-dev-04375e7-amd64

@markmandel markmandel enabled auto-merge (squash) July 17, 2024 16:30
@agones-bot
Copy link
Collaborator

Build Succeeded 👏

Build Id: 30b7749c-1ae8-4e1c-819a-b2f3965a98ac

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

A preview of the website (the last 30 builds are retained):

To install this version:

  • git fetch https://github.com/googleforgames/agones.git pull/3884/head:pr_3884 && git checkout pr_3884
  • helm install agones ./install/helm/agones --namespace agones-system --set agones.image.registry=us-docker.pkg.dev/agones-images/ci --set agones.image.tag=1.43.0-dev-1163bde-amd64

@markmandel markmandel merged commit 03a0a4c into googleforgames:main Jul 17, 2024
4 checks passed
@aallbrig aallbrig deleted the add-gamenetcode-resource-to-agones-documentation branch July 19, 2024 22:55
spiceratops referenced this pull request in spiceratops/k8s-gitops Aug 30, 2024
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [agones](https://agones.dev)
([source](https://redirect.github.com/googleforgames/agones)) | minor |
`1.42.0` -> `1.43.0` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>googleforgames/agones (agones)</summary>

###
[`v1.43.0`](https://redirect.github.com/googleforgames/agones/releases/tag/v1.43.0)

[Compare
Source](https://redirect.github.com/googleforgames/agones/compare/v1.42.0...v1.43.0)

This is the 1.43.0 release of Agones.

In this release, we updated the supported Kubernetes version, added a
new scheduled autoscaler, as well as Unity support for Counters and
Lists..

-   **Kubernetes 1.30 Support**
With this release, the Kubernetes support matrix for Agones is now 1.28,
1.29 and 1.30.

-   **Alpha support for ScheduledAutoscaler**
This provides the ability to have Fleet autoscaler scheduling with the
feature flag `ScheduledAutoscaler`, to allow you to schedule what level
of autoscaling you would like on a schedule or between dates, giving you
more control over your autoscaling needs.

-   **Unity SDK: Counters and Lists**
We now have support for `GameServer` [Counters and
Lists](https://agones.dev/site/docs/guides/counters-and-lists/) with our
Unity SDK!

-   **New Helm Installation Configuration Options**
    Two new installation options!

We made the parameters that control how fast we scale up and down
`GameServers` configurable, so you can see how fast your Kubernetes
control plane really is when spinning up lots of `GameServer` instances.

We also have new Helm configuration options that allow the use of the
host network for the Agones controller and extensions for AWS EKS when
using Cilium.

-   **Beta support for Passthrough PortPolicy on GKE Autopilot**
We’ve graduated Passthrough Port Policy support from Alpha to Beta on
GKE Autopilot, which you can now enable using the feature flag
`AutopilotPassthroughPort`.

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### Breaking changes

- Revert "Update Supported Kubernetes to 1.28, 1.29, 1.30
([#&#8203;3933](https://redirect.github.com/googleforgames/agones/issues/3933))"
by [@&#8203;gongmax](https://redirect.github.com/gongmax) in
[https://github.com/googleforgames/agones/pull/3952](https://redirect.github.com/googleforgames/agones/pull/3952)

##### Implemented enhancements

- Add Option to Use Host Network and Configure Ports by
[@&#8203;Orza](https://redirect.github.com/Orza) in
[https://github.com/googleforgames/agones/pull/3895](https://redirect.github.com/googleforgames/agones/pull/3895)
- Graduate Passthrough Port Policy to Beta on Autopilot by
[@&#8203;vicentefb](https://redirect.github.com/vicentefb) in
[https://github.com/googleforgames/agones/pull/3916](https://redirect.github.com/googleforgames/agones/pull/3916)
- Agones Unity SDK development setup instructions + Agones Unity SDK
Ready test by [@&#8203;aallbrig](https://redirect.github.com/aallbrig)
in
[https://github.com/googleforgames/agones/pull/3887](https://redirect.github.com/googleforgames/agones/pull/3887)
- feat: Add API Changes and Validation for FleetAutoscaler
Schedule/Chain Policy by
[@&#8203;indexjoseph](https://redirect.github.com/indexjoseph) in
[https://github.com/googleforgames/agones/pull/3893](https://redirect.github.com/googleforgames/agones/pull/3893)
- feat: Adds autoscaling logic for new Chain and Schedule policies by
[@&#8203;indexjoseph](https://redirect.github.com/indexjoseph) in
[https://github.com/googleforgames/agones/pull/3929](https://redirect.github.com/googleforgames/agones/pull/3929)
- Adds basic framework for the in place Agones upgrades test controller
by [@&#8203;igooch](https://redirect.github.com/igooch) in
[https://github.com/googleforgames/agones/pull/3956](https://redirect.github.com/googleforgames/agones/pull/3956)
- \[Performance] - Added a new metric inside the allocator to track the
success retry rate inside the retry loop by
[@&#8203;vicentefb](https://redirect.github.com/vicentefb) in
[https://github.com/googleforgames/agones/pull/3927](https://redirect.github.com/googleforgames/agones/pull/3927)
- Make the parameters that limits the number of GameServers to add
configurable by
[@&#8203;vicentefb](https://redirect.github.com/vicentefb) in
[https://github.com/googleforgames/agones/pull/3950](https://redirect.github.com/googleforgames/agones/pull/3950)
- feat: Adds e2e tests for chain/schedule policy and bump
ScheduledAutoscaler to Alpha by
[@&#8203;indexjoseph](https://redirect.github.com/indexjoseph) in
[https://github.com/googleforgames/agones/pull/3946](https://redirect.github.com/googleforgames/agones/pull/3946)
- Implement CountsAndLists for Unity SDK + Tests by
[@&#8203;ZeroParticle](https://redirect.github.com/ZeroParticle) in
[https://github.com/googleforgames/agones/pull/3883](https://redirect.github.com/googleforgames/agones/pull/3883)

##### Fixed bugs

- Resolves `make site-server` issue
[#&#8203;3885](https://redirect.github.com/googleforgames/agones/issues/3885)
by [@&#8203;aallbrig](https://redirect.github.com/aallbrig) in
[https://github.com/googleforgames/agones/pull/3914](https://redirect.github.com/googleforgames/agones/pull/3914)

##### Other

- Preparation for Release v1.43.0 by
[@&#8203;kamaljeeti](https://redirect.github.com/kamaljeeti) in
[https://github.com/googleforgames/agones/pull/3910](https://redirect.github.com/googleforgames/agones/pull/3910)
- Introduce external resource(s) on multiplayer game programming to docs
by [@&#8203;aallbrig](https://redirect.github.com/aallbrig) in
[https://github.com/googleforgames/agones/pull/3884](https://redirect.github.com/googleforgames/agones/pull/3884)
- Added line of code to update failure count details inside runscenario
by [@&#8203;vicentefb](https://redirect.github.com/vicentefb) in
[https://github.com/googleforgames/agones/pull/3915](https://redirect.github.com/googleforgames/agones/pull/3915)
- updated golang upgrade template by
[@&#8203;ashutosji](https://redirect.github.com/ashutosji) in
[https://github.com/googleforgames/agones/pull/3902](https://redirect.github.com/googleforgames/agones/pull/3902)
- Changes for GitHub/Cloud Build app integration by
[@&#8203;zmerlynn](https://redirect.github.com/zmerlynn) in
[https://github.com/googleforgames/agones/pull/3918](https://redirect.github.com/googleforgames/agones/pull/3918)
- Meta: Contributor role by
[@&#8203;markmandel](https://redirect.github.com/markmandel) in
[https://github.com/googleforgames/agones/pull/3922](https://redirect.github.com/googleforgames/agones/pull/3922)
- Fix allocator metrics endpoint by
[@&#8203;vicentefb](https://redirect.github.com/vicentefb) in
[https://github.com/googleforgames/agones/pull/3921](https://redirect.github.com/googleforgames/agones/pull/3921)
- Meta: Contributor => Collaborator by
[@&#8203;markmandel](https://redirect.github.com/markmandel) in
[https://github.com/googleforgames/agones/pull/3928](https://redirect.github.com/googleforgames/agones/pull/3928)
- Rewrite agones-bot, commit to Agones repo by
[@&#8203;zmerlynn](https://redirect.github.com/zmerlynn) in
[https://github.com/googleforgames/agones/pull/3923](https://redirect.github.com/googleforgames/agones/pull/3923)
- Small cleanup of incorrect comment in features.go file by
[@&#8203;igooch](https://redirect.github.com/igooch) in
[https://github.com/googleforgames/agones/pull/3944](https://redirect.github.com/googleforgames/agones/pull/3944)
- Update Supported Kubernetes to 1.28, 1.29, 1.30 by
[@&#8203;ashutosji](https://redirect.github.com/ashutosji) in
[https://github.com/googleforgames/agones/pull/3933](https://redirect.github.com/googleforgames/agones/pull/3933)
- remove ctx within the condition func by
[@&#8203;peterzhongyi](https://redirect.github.com/peterzhongyi) in
[https://github.com/googleforgames/agones/pull/3959](https://redirect.github.com/googleforgames/agones/pull/3959)
- Reapply "Update Supported Kubernetes to 1.28, 1.29, 1.30
([#&#8203;3933](https://redirect.github.com/googleforgames/agones/issues/3933))"
([#&#8203;3](https://redirect.github.com/googleforgames/agones/issues/3)…
by [@&#8203;gongmax](https://redirect.github.com/gongmax) in
[https://github.com/googleforgames/agones/pull/3961](https://redirect.github.com/googleforgames/agones/pull/3961)
- change kubernetes API version to fix broken CI by
[@&#8203;peterzhongyi](https://redirect.github.com/peterzhongyi) in
[https://github.com/googleforgames/agones/pull/3962](https://redirect.github.com/googleforgames/agones/pull/3962)
- docs(godot): add Agones x Godot third party example by
[@&#8203;andresromerodev](https://redirect.github.com/andresromerodev)
in
[https://github.com/googleforgames/agones/pull/3938](https://redirect.github.com/googleforgames/agones/pull/3938)
- Link Unity Netcode for Gameobjects example in documentation by
[@&#8203;mbychkowski](https://redirect.github.com/mbychkowski) in
[https://github.com/googleforgames/agones/pull/3937](https://redirect.github.com/googleforgames/agones/pull/3937)
- Docs: Use k8s-api-version for links by
[@&#8203;markmandel](https://redirect.github.com/markmandel) in
[https://github.com/googleforgames/agones/pull/3963](https://redirect.github.com/googleforgames/agones/pull/3963)

#### New Contributors

- [@&#8203;Orza](https://redirect.github.com/Orza) made their first
contribution in
[https://github.com/googleforgames/agones/pull/3895](https://redirect.github.com/googleforgames/agones/pull/3895)

**Full Changelog**:
googleforgames/agones@v1.42.0...v1.43.0

Images available with this release:

-
[us-docker.pkg.dev/agones-images/release/agones-controller:1.43.0](https://us-docker.pkg.dev/agones-images/release/agones-controller:1.43.0)
-
[us-docker.pkg.dev/agones-images/release/agones-sdk:1.43.0](https://us-docker.pkg.dev/agones-images/release/agones-sdk:1.43.0)
-
[us-docker.pkg.dev/agones-images/release/agones-ping:1.43.0](https://us-docker.pkg.dev/agones-images/release/agones-ping:1.43.0)
-
[us-docker.pkg.dev/agones-images/release/agones-allocator:1.43.0](https://us-docker.pkg.dev/agones-images/release/agones-allocator:1.43.0)
-
[us-docker.pkg.dev/agones-images/examples/allocation-endpoint-proxy:0.9](https://us-docker.pkg.dev/agones-images/examples/allocation-endpoint-proxy:0.9)
-
[us-docker.pkg.dev/agones-images/examples/autoscaler-webhook:0.14](https://us-docker.pkg.dev/agones-images/examples/autoscaler-webhook:0.14)
-
[us-docker.pkg.dev/agones-images/examples/cpp-simple-server:0.18](https://us-docker.pkg.dev/agones-images/examples/cpp-simple-server:0.18)
-
[us-docker.pkg.dev/agones-images/examples/crd-client:0.17](https://us-docker.pkg.dev/agones-images/examples/crd-client:0.17)
-
[us-docker.pkg.dev/agones-images/examples/nodejs-simple-server:0.10](https://us-docker.pkg.dev/agones-images/examples/nodejs-simple-server:0.10)
-
[us-docker.pkg.dev/agones-images/examples/rust-simple-server:0.13](https://us-docker.pkg.dev/agones-images/examples/rust-simple-server:0.13)
-
[us-docker.pkg.dev/agones-images/examples/simple-game-server:0.34](https://us-docker.pkg.dev/agones-images/examples/simple-game-server:0.34)
-
[us-docker.pkg.dev/agones-images/examples/supertuxkart-example:0.14](https://us-docker.pkg.dev/agones-images/examples/supertuxkart-example:0.14)
-
[us-docker.pkg.dev/agones-images/examples/unity-simple-server:0.3](https://us-docker.pkg.dev/agones-images/examples/unity-simple-server:0.3)
-
[us-docker.pkg.dev/agones-images/examples/xonotic-example:2.0](https://us-docker.pkg.dev/agones-images/examples/xonotic-example:2.0)

Helm chart available with this release:

- <a href="https://agones.dev/chart/stable/agones-1.43.0.tgz"
data-proofer-ignore>
    <code>helm install agones agones/agones --version 1.43.0</code></a>

> Make sure to add our stable helm repository using `helm repo add
agones https://agones.dev/chart/stable`

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ny4xIiwidXBkYXRlZEluVmVyIjoiMzguNTcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUvaGVsbSIsInR5cGUvbWlub3IiXX0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants