agones

package module
v1.9.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 29, 2020 License: Apache-2.0 Imports: 0 Imported by: 0

README

Agones logo

go.dev reference GoDoc Go Report Card GitHub release Follow on Twitter

Agones is a library for hosting, running and scaling dedicated game servers on Kubernetes.

Agones, is derived from the Greek word agōn which roughly translates to “contest”, “competition at games” and “gathering”. (source)

Why does this project exist?

Agones replaces usual bespoke or proprietary cluster management and game server scaling solutions with a Kubernetes cluster that includes the Agones custom Kubernetes Controller and matching Custom Resource Definitions for GameServers, Fleets and more.

With Agones, Kubernetes gets native abilities to create, run, manage and scale dedicated game server processes within Kubernetes clusters using standard Kubernetes tooling and APIs. This model also allows any matchmaker to interact directly with Agones via the Kubernetes API to provision a dedicated game server.

For more details on why this project was written, read the announcement blog post.

Major Features

  • Define a single GameServer, and/or large game server Fleets within Kubernetes - either through yaml or via the API
  • Manage GameServer lifecycles - including health checking and connection information.
  • Fleet Autoscaling capabilities that integrate with Kubernetes' native cluster autoscaling
  • Gameserver specific metric exports and dashboards for ops teams

Usage

Documentation can be found on the Agones website.

Get involved

Code of Conduct

Participation in this project comes under the Contributor Covenant Code of Conduct

Development and Contribution

Please read the contributing guide for directions on submitting Pull Requests to Agones, and community membership governance.

See the Developing, Testing and Building Agones documentation for developing, testing and building Agones from source.

The Release Process documentation displays the project's upcoming release calendar and release process.

Agones is in active development - we would love your help in shaping its future!

This all sounds great, but can you explain Docker and/or Kubernetes to me?

Docker

Kubernetes

Licence

Apache 2.0

Documentation

Overview

Package agones is a library for hosting, running and scaling dedicated game servers on Kubernetes.

Directories

Path Synopsis
cmd
controller
Controller for gameservers
Controller for gameservers
ping
binary for the pinger service for RTT measurement.
binary for the pinger service for RTT measurement.
sdk-server
sidecar for the game server that the sdk connects to
sidecar for the game server that the sdk connects to
examples
autoscaler-webhook
Autoscaler webhook server which handles FleetAutoscaleReview json payload
Autoscaler webhook server which handles FleetAutoscaleReview json payload
simple-game-server
Package main is a very simple server with UDP (default), TCP, or both
Package main is a very simple server with UDP (default), TCP, or both
simple-tcp
Package main is a very simple echo TCP server
Package main is a very simple echo TCP server
simple-udp
Package main is a very simple echo UDP server
Package main is a very simple echo UDP server
crd-client Module
pkg
allocation/converters
Package converters includes API conversions between GameServerAllocation API and the Allocation proto APIs.
Package converters includes API conversions between GameServerAllocation API and the Allocation proto APIs.
allocation/go
Package allocation is a reverse proxy.
Package allocation is a reverse proxy.
apis
Package apis contains all the types for the Custom Resource Definitions
Package apis contains all the types for the Custom Resource Definitions
apis/agones/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
apis/allocation/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
apis/autoscaling/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
apis/multicluster/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
client/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/clientset/versioned/typed/agones/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/agones/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/versioned/typed/allocation/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/allocation/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/versioned/typed/autoscaling/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/autoscaling/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/versioned/typed/multicluster/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/multicluster/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
fleetautoscalers
Package fleetautoscalers handles management of the Fleet Custom Resource Definition
Package fleetautoscalers handles management of the Fleet Custom Resource Definition
fleets
Package fleets handles management of the Fleet Custom Resource Definition
Package fleets handles management of the Fleet Custom Resource Definition
gameserverallocations
Package gameserverallocations handles management of allocating Ready GameServers via selectors
Package gameserverallocations handles management of allocating Ready GameServers via selectors
gameservers
Package gameservers handles management of the GameServer Custom Resource Definition
Package gameservers handles management of the GameServer Custom Resource Definition
gameserversets
Package gameserversets handles management of the GameServerSet Custom Resource Definition
Package gameserversets handles management of the GameServerSet Custom Resource Definition
metrics
Package metrics records stats of agones controllers
Package metrics records stats of agones controllers
sdk
Package sdk is a reverse proxy.
Package sdk is a reverse proxy.
sdk/alpha
Package alpha is a reverse proxy.
Package alpha is a reverse proxy.
sdkserver
Package sdkserver implements Agones SDK server (sidecar).
Package sdkserver implements Agones SDK server (sidecar).
testing
Package testing is for project wide testing utilities.
Package testing is for project wide testing utilities.
util
Package util is for general libraries that aren't specific to Agones
Package util is for general libraries that aren't specific to Agones
util/apiserver
Package apiserver manages kubernetes api extension apis
Package apiserver manages kubernetes api extension apis
util/crd
Package crd contains utilities for working with CustomResourceDefinitions.
Package crd contains utilities for working with CustomResourceDefinitions.
util/runtime
Package runtime handles runtime errors Wraps and reconfigures functionality in apimachinery/pkg/runtime
Package runtime handles runtime errors Wraps and reconfigures functionality in apimachinery/pkg/runtime
util/signals
Package signals contains utilities for managing process signals, particularly around stopping processes
Package signals contains utilities for managing process signals, particularly around stopping processes
util/webhooks
Package webhooks manages and receives Kubernetes Webhooks
Package webhooks manages and receives Kubernetes Webhooks
util/workerqueue
Package workerqueue extends client-go's workqueue functionality into an opinionated queue + worker model that is reusable
Package workerqueue extends client-go's workqueue functionality into an opinionated queue + worker model that is reusable
sdks
go
Package sdk is the Go game server sdk
Package sdk is the Go game server sdk
test
e2e/controller
Package controller is for testing controller failures.
Package controller is for testing controller failures.
e2e/framework
Package framework is a package helping setting up end-to-end testing across a Kubernetes cluster.
Package framework is a package helping setting up end-to-end testing across a Kubernetes cluster.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL