Agones Versions Save

Dedicated Game Server Hosting and Scaling for Multiplayer Games on Kubernetes

v1.40.0

2 weeks ago

This is the 1.40.0 release of Agones.

In this release, we’ve updated our Kuberenetes support to include version 1.29, introduced a new implementation in the CSharp SDK for the Counters and Lists, graduated the FleetAllocationOverflow feature to stable, moved the DisableResyncOnSDKServer feature into beta and refined the documentation for Counters and Lists to simplify usage and enhance clarity.

  • Kubernetes Support Update 1.29: We’ve upgraded our Kubernetes compatibility to include version 1.29 and have discontinued support for version 1.26. Our current supported versions are now 1.27, 1.28, and 1.29. Please ensure your clusters are upgraded to one of these supported versions.

  • CSharp SDK for Counters and Lists: We’ve rolled out a new implementation in the CSharp SDK for the Counters and Lists features, along with significant enhancements to the documentation. These updates simplify the process of tracking numeric counters and lists of values on GameServers, providing clearer guidance.

  • Support for Extended Duration Pods on GKE Autopilot: Starting with Kubernetes version 1.28, we now support extended duration pods in Agones on GKE Autopilot. The GKEAutopilotExtendedDurationPods feature has been moved to Alpha status and requires Kubernetes versions 1.28 or newer. This enhancement is essential for those needing longer-lived pods in managed Kubernetes environments.

  • DisableResyncOnSDKServer in Beta: The DisableResyncOnSDKServer feature has progressed to beta in this release and is now enabled by default. This feature sets the resync interval to 0 to enhance performance by eliminating unnecessary resyncs.

  • FleetAllocationOverflow now Stable: With the FleetAllocationOverflow feature now stable in this release, you can apply labels and/or annotations to GameServers that exceed the desired number of replicas in a GameServerSet. This occurs when the allocation of GameServers surpasses the specified replica count.

  • Unity SDK Update: Enhanced Address Retrieval for GameServers: We've enhanced functionality to allow developers to conveniently access all associated addresses, including both IP and DNS, for a game server. This change simplifies the integration and deployment process by providing complete address information.

  • Counters & Lists Documentation Enhancements: We've standardized sorting priorities in GameServerAllocation and Fleet to consistently use available capacity and set the default sorting order as Ascending, making it easier to understand. We also have a new Counters and Lists documentation landing page to explain the functionality in full.

  • Optimised GameServer Sub-Controller Queues: We noticed that parts of the Agones contoller were queuing way too many items than they should, resulting in consuming more memory than was ideal. This fixes that, ensuring that far fewer records get queued, resulting in a leaner memory footprint from the controller.

What's Changed

Breaking changes

Implemented enhancements

Fixed bugs

Security fixes

Other

New Contributors

Full Changelog: https://github.com/googleforgames/agones/compare/v1.39.0...v1.40.0

Images available with this release:

Helm chart available with this release:

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

v1.39.0

1 month ago

This is the 1.39.0 release of Agones.

In this release, we’ve made some important changes and introduced exciting new features, including an example for integrating GenAI, improved GameServer allocation results for Counters and Lists, and a new example custom GameServer controller.

Breaking Changes:

  • C++ gRPC Setup: This is a breaking change with our dependency management for C++ and gRPC. Our CMake file no longer automatically imports and compiles gRPC, as it was getting increasingly fragile. Now, to install the C++ SDK, you will need to install gRPC manually before installing the C++ SDK.

  • GKE Terraform - Agones-Metrics nodepools: With our latest tweak in GKE Terraform configuration, the agones-metrics nodepool is disabled by default, as not everyone will want it. If you do need it for Prometheus and Grafana? Just turn it on and you’re set.

Key highlights of this release include:

  • GenAI and Agones: We've added a new example GenAI game server that shows how to integrate Generative AI backends into your Agones game server.

  • Counters and Lists Allocation Results: GameServer Allocation results now also return the current state of Counter and List values on the allocated GameServer, making workflows based on these values much easier.

  • Concise SDK Logging: Our latest SDK update ensures that if you set an Error or Warning log level on the SDK sidecar -- we now respect that for the entire lifecycle of the SDK sidecar process.

  • New Example Custom GameServer Controller: See how to implement your own custom controller with Agones resources with only a small amount of code.

What's Changed

Breaking changes

Implemented enhancements

Fixed bugs

Other

New Contributors

Full Changelog: https://github.com/googleforgames/agones/compare/v1.38.0...v1.39.0

Images available with this release:

Helm chart available with this release:

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

v1.38.0

3 months ago

This is the 1.38.0 release of Agones.

Key highlights of this release include Nodepool Upgrades on GKE Terraform and the support of Pod Topology Spread Constraints, alongside internal upgrades to Golang, Docker, and Debian. We have also made improvements to the Agones documentation, particularly for the Counters and Lists feature.

  • Improved Counters and Lists: New life cycle management examples in the Agones documentation are now available for the Counters and Lists feature. Try it out, share your feedback, and if you find any bugs, please file issues and PRs.

  • Nodepool Upgrades on GKE Terraform: It’s an important update for managing node pools in Kubernetes clusters. We've separated node pool definitions from the cluster setup, allowing for easier updates and synchronization between control planes and nodes.

  • Pod Topology Spread Constraints: Want to utilize Pod Topology Spread Constraints on Agones components? Now you can with our new configuration options on our Helm chart.

What's Changed

Breaking changes

Implemented enhancements

Fixed bugs

Other

New Contributors

Full Changelog: https://github.com/googleforgames/agones/compare/v1.37.0...v1.38.0

Images available with this release:

Helm chart available with this release:

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

v1.37.0

4 months ago

This is the 1.37.0 release of Agones.

This release sees the first milestone of a over-a-year series of work on the functionality of arbitrary Counters and Lists attached to each GameServer!

We’ve also upgraded the following features: CountsAndLists to alpha, FleetAllocationOverflow to Beta, and PodHostName, ResetMetricsOnDelete, and SplitControllerAndExtensions to Stable - with defaults below.

CountsAndLists: This feature flag provides functionality for a configurable set of Counters or Lists be attached to GameServers with attached allocation and autoscaling functionality to provide a flexible implementation that can handle a wide range of use cases such as player tracking, high density game server room tracking, and could even be used for game specific game server allocation prioritization.

Documentation is a little sparse in this release, but will grow! We’re focusing on the reference material first and will then expand into more in-depth guides and integration patterns.

Note: Counters and Lists will eventually replace the Alpha functionality of Player Tracking, which will subsequently be removed from Agones. If you are currently using this Alpha feature, we would love for you to test (and ideally migrate to!) this new functionality to ensure it will meet all your needs.

FleetAllocationOverflow: Labels and/or annotations to GameServers that exceed the desired number of replicas in a GameServerSet. This occurs when the allocation of GameServers surpasses the specified replica count.

PodHostName: Enables the assignment of the GameServer’s name as the PodHostname.

ResetMetricsOnDelete: This feature instructs the metrics service to unregister and then re-register the relevant metrics view to reset their state immediately whenever an Agones resource is deleted.

SplitControllerAndExtensions: This feature introduces an important change in Agones for high availability. It separates the system's responsibilities into two binaries: the controller, which now handles Kubernetes object monitoring and uses a leader election system to keep only one active controller at a time, and a new horizontally scalable extensions binary, focused on managing webhook endpoints.

What's Changed

Implemented enhancements

Fixed bugs

Other

New Contributors

Full Changelog: https://github.com/googleforgames/agones/compare/v1.36.0...v1.37.0

Images available with this release:

Helm chart available with this release:

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

v1.36.0

6 months ago

This is the 1.36.0 release of Agones.

In this release:

  • We've added support for Kubernetes 1.28 and have discontinued support for 1.25 to bring the support matrix to 1.26, 1.27 and 1.28 . Please upgrade your clusters accordingly.
  • We’ve resolved path issues in the Unreal Engine Plugin to ensure compatibility with Unreal Engine 5.3.
  • We are now using Go 1.20.10 and gRPC 1.57.1, which includes a number of performance improvements and important security fixes.
  • GameServers that end up in Error state now have a delay before deletion, allowing developers a chance to see why they have failed, and prevent GameServer churn from overwhelming the Kubernetes control plane.
  • We've upgraded to the latest v0.7.1 Docsy- let us know if you see anything broken in the docs!

What's Changed

Breaking changes

Implemented enhancements

Fixed bugs

Security fixes

Other

New Contributors

Full Changelog: https://github.com/googleforgames/agones/compare/v1.35.0...v1.36.0

Images available with this release:

Helm chart available with this release:

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

v1.35.0

7 months ago

This is the 1.35.0 release of Agones.

In this release, we've improved our internal development toolchain, refined the memory usage of GameServer sub-controllers, and updated essential components including grpc-gateway and Hugo.

  • Memory Usage Improvement: Increased the number of workers for sub-controllers of the GameServer controller to match other controllers, leading to a much more stable memory footprint for the controller as events don’t get backed up in the worker queues.

  • SDK Server Enhancements: The SDK server now has less verbose logging on Watch disconnections.

  • Component Updates: Hugo has been upgraded to version 0.118.2 and grpc-gateway has been upgraded to v2.17.1. Additionally, the joonix/log has been modified to utilize the new joonix.NewFormatter().

What's Changed

Implemented enhancements

Fixed bugs

Other

New Contributors

Full Changelog: https://github.com/googleforgames/agones/compare/v1.34.0...v1.35.0

Images available with this release:

Helm chart available with this release:

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

v1.34.0

8 months ago

This is the 1.34.0 release of Agones.

In this release, we've upgraded Kubernetes compatibility, graduated StateAllocationFilter to stable, and enhanced GameServers and GameServerAllocation address support.

  • Kubernetes Support: The latest update extends support to Kubernetes versions 1.25, 1.26, and 1.27, enhancing compatibility with current Kubernetes deployments.

  • Allocation State Filter is now Stable: The allocation state filter feature has been promoted to stable. It determines the specific state that should be filtered when trying to obtain a GameServer through allocation. By default, this filter is set to Ready, but it can also be set to Allocated. When the Allocated option is selected, it can be combined with label or player selectors to access an already Allocated GameServer.

  • Custom Fleet Autoscaler Synchronization Interval is now Stable: The ability to specify the interval in which the Fleet autoscaler syncs its state and updates its backing Fleet has now also been moved to Stable.

  • GameServer Address Improvements: GamesServers and GameServerAllocation results now also return the full set of Address records that are attached to the node they came from. This can be useful for dual stack IPv4 and IPv6 nodes, nodes with hostnames and more.

  • Migrating to Distroless Image: We have migrated from Alpine as the base container image for Agones to Distroless making managing consistent updates to the base image easier for the Agones team.

What's Changed

Breaking changes

Implemented enhancements

Fixed bugs

Other

New Contributors

Full Changelog: https://github.com/googleforgames/agones/compare/v1.33.0...v1.34.0

Images available with this release:

Helm chart available with this release:

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

v1.33.0

10 months ago

This is the 1.33.0 release of Agones.

In this release, we have focused on improving the documentation, stabilized the SDKGracefulTermination feature and also are now returning GameServer annotations and labels on allocation response.

  • The SDKGracefulTermination feature has been promoted to stable. The SDK server will now remain active for the specified terminationGracePeriodSeconds until SDK.Shutdown() has been called to ensure that game servers can successfully run to completion during automatic node upgrades without downtime.

  • The helm documentation has been restructured into multiple sections making it much easier to understand the configuration options and customize the Agones installation.

  • GameServerAllocation now has a metadata field returned with the metadata of the allocated GameServer. This can be useful for returning information about the GameServer, Fleet or even the cluster to the allocating process.

Check the README for details on features, installation and usage.

What's Changed

Implemented enhancements

Fixed bugs

Other

New Contributors

Full Changelog: https://github.com/googleforgames/agones/compare/v1.32.0...v1.33.0

Images available with this release:

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

v1.32.0

11 months ago

This is the 1.32.0 release of Agones.

This upgrade ensures that your game servers are equipped with the latest tools and improvements, enhancing their overall performance and stability:

  • Upgrade to Go version 1.20.
  • The ResetMetricsOnDelete feature is now beta and enabled by default. Now when a Fleet or FleetAutoscaler is deleted from the system, Agones will automatically clear metrics that utilize their name as a label from the exported metrics, so the metrics exported do not continuously grow in size over the lifecycle of the Agones installation.
  • The PodHostname feature that allows you to access a GameServer Pod within a cluster by a DNS name is now beta and enabled by default.
  • The SplitControllerAndExtensions feature which splits the Agones controller into multiple binaries for better reliability is now beta and enabled by default.
  • The SafeToEvict feature has been promoted to stable.

We encourage you to take advantage of these promoted features to enhance the stability, performance, and functionality of your game servers.

Check the README for details on features, installation and usage.

What's Changed

Implemented enhancements

Fixed bugs

Other

New Contributors

See CHANGELOG for more details on changes.

Images available with this release:

Helm chart available with this release:

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

v1.31.0

1 year ago

This is the 1.31.0 release of Agones.

In this release we see fixes that ensure that GameServers won't move to Unhealthy while they are still downloading their images, Kubernetes versions 1.24, 1.25 and 1.26 are now supported, as well as a bunch of other smaller bug fixes and project improvements.

Breaking changes

Implemented enhancements

Fixed bugs

Other

New Contributors

Full Changelog: https://github.com/googleforgames/agones/compare/v1.30.0...v1.31.0

Images available with this release:

Helm chart available with this release:

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