30 open-source projects similar to googleforgames/agones, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Agones alternative.
Agones is a Kubernetes game server orchestrator designed for hosting, scaling, and managing dedicated multiplayer game servers. It extends the Kubernetes control plane using custom resource definitions to define game server and fleet objects, utilizing a dedicated fleet manager to maintain pools of warm server instances. The system provides a game server SDK and language-specific client libraries that allow server processes to signal readiness, health, and shutdown states directly to the controller. It distinguishes itself through specialized scaling logic, including the use of WebAssembly mo
Crossplane is a Kubernetes-based control plane framework that functions as a cloud resource orchestrator and infrastructure-as-code platform. It enables the management of heterogeneous infrastructure by extending the Kubernetes API to provision and maintain external cloud services through declarative configuration. By utilizing custom resource controllers, it continuously reconciles the state of external infrastructure with defined desired states, ensuring consistent deployment and lifecycle management across multiple cloud providers. The platform distinguishes itself through its composition-
Colyseus is a real-time multiplayer game framework for Node.js that provides an authoritative server model, delta-compressed state synchronization, and room-based session orchestration. It is designed to handle the core infrastructure of multiplayer games, including matchmaking, state management, and scalable process distribution across multiple servers. The framework distinguishes itself through its schema-based state definition, which enables automatic serialization and change tracking, combined with a binary WebSocket protocol for low-latency updates. Its matchmaking pipeline routes player
Nakama is a distributed server framework designed for real-time multiplayer games and social applications. It provides an authoritative runtime environment for executing game logic, ensuring consistent state and cheat-resistant gameplay across diverse client platforms. The system acts as a centralized backend, managing persistent player identities, social graphs, and real-time communication channels to support complex multiplayer interactions. The platform distinguishes itself through an integrated suite of LiveOps tools that allow developers to manage game economies, schedule time-bound even
Scalable Distributed Game Server Engine with Hot Swapping in Golang
MagicOnion is a .NET RPC framework used to build type-safe remote procedure call services using shared interfaces for communication between servers and clients. It functions as a binary serialization framework and a distributed service orchestrator, providing a network layer for low-latency streaming and real-time data exchange. The project distinguishes itself through an AOT-compatible network client that uses source generators to support ahead-of-time compilation in restricted runtime environments. It enables bidirectional communication and real-time data streaming, allowing servers and mul
MCSManager is a game server management panel and multi-node server manager that provides a centralized web interface for deploying, monitoring, and controlling multiple game server instances across distributed physical or virtual machines. It functions as a Docker game server orchestrator, enabling the execution of servers within isolated containers to simplify deployment and environment scaling. The system distinguishes itself through a customizable self-hosted dashboard featuring drag-and-drop layouts and the ability to embed custom HTML and JavaScript components. It provides real-time term
LinuxGSM is a command-line orchestration platform designed for the deployment, management, and lifecycle maintenance of dedicated game servers on Linux systems. It functions as a system-level administration tool that automates the provisioning of server instances, ensuring they remain operational through persistent background execution, automated health monitoring, and native system-timer integration. The project distinguishes itself through a modular, shell-script-based architecture that enables multi-instance hosting on a single host. It provides granular control over server environments, i
Veloren is an open-source multiplayer RPG featuring a voxel-based action adventure in a procedurally generated fantasy world. It is built upon a voxel game engine that supports 3D rendering via Vulkan and Metal, utilizing a procedural world generator to create geography and ecosystems based on erosion algorithms and temperature maps. The project is distinguished by a sandboxed plugin system using WebAssembly, which allows for the addition of new game logic and equipment without recompiling the core engine. It also features a dedicated game server architecture designed to synchronize state, ma
This project is a Go language library that provides a programmatic interface for interacting with the Kubernetes API server. It serves as a client for managing cluster resources, offering both typed interfaces for compile-time safety and dynamic interfaces for unstructured data and custom resource management. The library includes a controller framework designed for building event-driven automation. This framework utilizes informers to maintain local resource caches and rate-limited work queues to decouple event detection from state reconciliation. High availability is supported through a lead
Kube-rs is a Rust client library and runtime for interacting with the Kubernetes API server. It provides a type-safe interface for managing cluster resources and state, including a toolkit for defining custom resource definitions and a framework for building admission webhooks to validate or mutate API requests. The project distinguishes itself through a dedicated controller runtime that implements event-driven reconciliation loops to align actual cluster state with desired configurations. It utilizes a streaming system to monitor resource changes and synchronize remote states into a local qu
Kubebuilder is a framework and set of scaffolding tools used to build Kubernetes APIs and controllers. It functions as an operator framework that provides generators for custom resource definitions, admission webhooks, and RBAC manifests to extend cluster functionality. The project distinguishes itself through marker-based code generation, which parses source code comments to automatically produce Kubernetes manifests and boilerplate logic. It employs a hub-and-spoke versioning model to translate data between multiple API versions and uses a three-way merge strategy to automate project migrat
The Operator SDK is a framework for building, packaging, and managing custom controllers that extend the Kubernetes API. It serves as a toolset for defining new API types and implementing reconcile loops to automate the lifecycles of complex applications. The project provides specialized support for creating operators based on Helm charts or Ansible playbooks, allowing users to maintain a desired cluster state using existing automation tools. It includes a dedicated system for packaging controllers into standardized container image bundles for distribution via the Operator Lifecycle Manager.
Argo Workflows is a container-native workflow engine that functions as a Kubernetes custom resource controller. It orchestrates complex sequences of containerized tasks by executing them as directed acyclic graphs, allowing for dependency management and parallel processing within a cluster. The system extends the native Kubernetes control plane to manage the full lifecycle of automated processes, from initial triggering to final resource cleanup. The platform distinguishes itself through its controller-pattern reconciliation, which continuously monitors workflow states to align them with desi
Sealed Secrets is a Kubernetes secret encryption tool and controller designed for GitOps security. It provides a mechanism to encrypt sensitive data into specialized resources that can be safely stored in public version control systems and decrypted only within a cluster. The system uses an asymmetric encryption manager to seal secrets with a public key, ensuring that only the corresponding private key held within the cluster can unseal them. It includes utilities for security key rotation, secret re-encryption, and offline private key recovery to maintain data access during disaster recovery
This project provides a framework for building Kubernetes operators and custom controllers. It offers a set of libraries designed to manage the lifecycle of cluster resources, enabling developers to synchronize the actual state of a cluster with a desired configuration through event-driven reconciliation loops. The framework distinguishes itself by providing a manager-orchestrated environment that coordinates multiple controllers and webhooks within a single process. It includes built-in support for optimistic concurrency control to prevent update conflicts and utilizes in-memory informer cac
Sample Controller is a reference implementation and developer toolkit for building custom controllers and operators to extend cluster capabilities with domain-specific resource types and reconciliation loops. It provides a foundational framework for defining, registering, and validating custom resource definitions and their instances to store domain-specific data within a cluster. The framework observes remote API servers for resource mutations, queueing discovered instances for asynchronous processing while listening for creation, update, and deletion events to trigger reconciliation logic.
This project is a Kubernetes controller that automates the issuance, renewal, and lifecycle management of TLS certificates. It functions as a native extension to the cluster API, using custom resource definitions and reconciliation loops to maintain the desired state of certificates and trust bundles across distributed services. By integrating directly with the cluster's admission control and secret storage systems, it ensures that cryptographic identities are consistently provisioned and available for application workloads. The project distinguishes itself through its extensive support for a
karpenter-provider-aws is a Kubernetes node autoscaler and infrastructure provider for AWS. It serves as a node lifecycle manager and cluster cost optimizer that automatically provisions and removes compute instances based on the resource requirements of pending pods. The project distinguishes itself through advanced AWS spot instance orchestration and price-capacity optimized selection to reduce cloud spend. It minimizes costs by consolidating underutilized nodes and prioritizing spot or reserved instances over on-demand capacity, while proactively migrating workloads before cloud provider i
Argo CD is a declarative, GitOps-based continuous delivery tool designed for Kubernetes. It functions as a centralized control plane that synchronizes application states from version-controlled repositories directly into target clusters, ensuring that the live environment consistently matches the desired configuration defined in Git. The platform distinguishes itself through its ability to manage multi-cluster deployments from a single interface, providing unified oversight across distinct computing environments. It employs a controller-based reconciliation loop to continuously monitor for co
This project is a World of Warcraft server emulator that simulates a multiplayer online game world, managing player data and game logic. It functions as a modular game server framework and an NPC AI and scripting engine, providing the necessary infrastructure to host a persistent virtual environment. The system is distinguished by a modular framework that allows for the extension of core engine behavior through isolated modules and function hooks without modifying the source code. It includes a structured SQL data layer for managing authentication, character states, and world environment sett
brpc is a high-performance C++ RPC framework and network programming library designed for building distributed systems. It functions as a multi-protocol RPC server capable of hosting and detecting multiple communication protocols, including gRPC, Thrift, HTTP, Redis, and Memcached, on a single TCP port. The project distinguishes itself through high-throughput data transport and memory efficiency, utilizing RDMA-based transport to bypass the kernel TCP stack and zero-copy memory management to eliminate data duplication. It also implements the Raft algorithm for consensus-based state replicatio
ET is a C# game server framework and distributed actor model runtime designed for large-scale multiplayer environments. It provides a comprehensive toolkit for building distributed game backends, incorporating a multiplayer network transport layer and a specialized suite for game AI and pathfinding. The framework is distinguished by its use of a distributed actor model to scale processing across multiple threads and servers, utilizing isolated actors for state management and messaging. It features a unified codebase architecture that allows shared logic between the server and client, enabling
RakNet is a cross platform, open source, C++ networking engine for game programmers.
See various forks, also please join the Forge Community fork of Forge Alloy! -> https://github.com/ForgeAlloyCommunity/ForgeAlloy