# egametang/et

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/egametang-et).**

9,813 stars · 3,247 forks · C# · NOASSERTION

## Links

- GitHub: https://github.com/egametang/ET
- awesome-repositories: https://awesome-repositories.com/repository/egametang-et.md

## Topics

`actor` `c-sharp` `dotnet` `game` `game-engine` `meta` `metaverse` `mmo` `mmorpg` `server` `unity` `unity3d` `web3`

## Description

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 the development of automated bots for stress testing and quality assurance.

The system covers a broad range of capabilities including multi-protocol network routing with support for TCP, WebSocket, and KCP, as well as zero-garbage collection binary serialization. It includes tools for server-side navigation meshes, visual decision trees, and dynamic library hot-reloading for updating logic without restarting processes.

The framework provides native integration with the Unity3D engine for entity management and runtime inspection.

## Tags

### Game Development

- [Game Backend Frameworks](https://awesome-repositories.com/f/game-development/game-backend-frameworks.md) — Provides a comprehensive distributed server platform for real-time multiplayer games including network routing and service discovery.
- [Distributed Game Backends](https://awesome-repositories.com/f/game-development/distributed-game-backends.md) — Implements a scalable component architecture that can function as a single cluster or across multiple processes. ([source](https://github.com/egametang/et#readme))
- [Entity](https://awesome-repositories.com/f/game-development/simulation-engines/simulation-worlds/actor-management/entity.md) — Manages game entities as isolated actors to process concurrent state updates and messaging. ([source](https://github.com/egametang/et#readme))
- [Area of Interest Filtering](https://awesome-repositories.com/f/game-development/area-of-interest-filtering.md) — Filters visible players using a grid-based area of interest system to reduce server processing load. ([source](https://github.com/egametang/et#readme))
- [Game AI and Pathfinding Toolkits](https://awesome-repositories.com/f/game-development/game-ai-and-pathfinding-toolkits.md) — Ships a specialized suite for server-side navigation meshes, decision trees, and automated bot simulation.
- [Game Automation Bots](https://awesome-repositories.com/f/game-development/game-automation-bots.md) — Provides tools to create automated gameplay bots by sharing logic between the client and server. ([source](https://github.com/egametang/et#readme))
- [Unity3D Integrations](https://awesome-repositories.com/f/game-development/game-backend-frameworks/unity3d-integrations.md) — Provides native integration with the Unity3D engine for entity management and shared C# logic.
- [Game Engines & Frameworks](https://awesome-repositories.com/f/game-development/game-engines-frameworks.md) — Connects a C# server framework to the Unity engine for entity management, runtime inspection, and shared logic.
- [Seamless World Implementations](https://awesome-repositories.com/f/game-development/seamless-world-implementations.md) — Implements seamless transitions between scenes to create a continuous and large-scale environment. ([source](https://github.com/egametang/et#readme))
- [Server-Side Pathfinding](https://awesome-repositories.com/f/game-development/server-side-pathfinding.md) — Implements server-side pathfinding and movement calculations using navigation data exported from 3D scene editors. ([source](https://github.com/egametang/et#readme))

### Software Engineering & Architecture

- [Distributed Actor Frameworks](https://awesome-repositories.com/f/software-engineering-architecture/distributed-actor-frameworks.md) — Implements a distributed actor model to scale state management and asynchronous messaging across a multi-process cluster.
- [Actor-Based Concurrency](https://awesome-repositories.com/f/software-engineering-architecture/actor-based-concurrency.md) — Uses an actor-based runtime to handle isolated state and concurrent processing for game entities. ([source](https://github.com/egametang/et#readme))
- [Distributed Coordination Systems](https://awesome-repositories.com/f/software-engineering-architecture/distributed-coordination-systems.md) — Coordinates server logic and client communication to support large-scale online multiplayer environments. ([source](https://github.com/egametang/et#readme))
- [Isomorphic Logic Sharing](https://awesome-repositories.com/f/software-engineering-architecture/isomorphic-logic-sharing.md) — Utilizes a shared codebase for both clients and bots to ensure logic consistency and facilitate testing.
- [Dynamic Zone Scaling](https://awesome-repositories.com/f/software-engineering-architecture/load-balancing-architectures/dynamic-zone-scaling.md) — Manages dynamic instances and zone splitting to allocate resources based on current player demand. ([source](https://github.com/egametang/et#readme))
- [Unified Language Synchronization](https://awesome-repositories.com/f/software-engineering-architecture/typescript-type-definitions/unified-language-synchronization.md) — Ensures network messages and configurations remain synchronized through a unified language and shared code references. ([source](https://github.com/egametang/et#readme))
- [Unified Codebase Architectures](https://awesome-repositories.com/f/software-engineering-architecture/unified-codebase-architectures.md) — Uses a single codebase for both frontend and backend to reduce duplication and accelerate development. ([source](https://github.com/egametang/et#readme))
- [Distributed Orchestration Platforms](https://awesome-repositories.com/f/software-engineering-architecture/distributed-orchestration-platforms.md) — Manages process lifecycles and observability for distributed clusters using external orchestration tools. ([source](https://github.com/egametang/et#readme))
- [Dynamic Room Scaling](https://awesome-repositories.com/f/software-engineering-architecture/distributed-systems/cluster-synchronization-adapters/distributed-room-adapters/dynamic-room-scaling.md) — Implements a distributed actor model with dynamic room scaling to support large-scale games. ([source](https://github.com/egametang/et#readme))

### Data & Databases

- [Binary Data Formats](https://awesome-repositories.com/f/data-databases/binary-data-formats.md) — Uses BSON-based binary serialization to minimize garbage collection and optimize network throughput.
- [Actor Messaging](https://awesome-repositories.com/f/data-databases/data-exchange-protocols/runtime-data-exchange/actor-messaging.md) — Enables isolated execution units to exchange data via a dedicated messaging mechanism to coordinate distributed tasks. ([source](https://github.com/egametang/et#readme))
- [Data Serialization Formats](https://awesome-repositories.com/f/data-databases/data-serialization-formats.md) — Uses BSON for messages and configuration files to ensure compatibility with document-based storage. ([source](https://github.com/egametang/et#readme))
- [High-Performance Binary Serialization](https://awesome-repositories.com/f/data-databases/high-performance-binary-serialization.md) — Implements a binary serialization format designed for high performance and zero garbage collection. ([source](https://github.com/egametang/et#readme))

### Development Tools & Productivity

- [Hot Code Reloading](https://awesome-repositories.com/f/development-tools-productivity/hot-code-reloading.md) — Allows updating application logic and configurations in real-time without restarting active processes. ([source](https://github.com/egametang/et#readme))
- [Runtime Logic Hot-Updates](https://awesome-repositories.com/f/development-tools-productivity/client-update-utilities/runtime-logic-hot-updates.md) — Allows updating protocols and configurations on the client by switching runtime environments without a reinstall. ([source](https://github.com/egametang/et#readme))
- [Gameplay Verification](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/test-execution-management/automated-test-execution/gameplay-verification.md) — Provides automated compilation and multi-bot testing to validate that gameplay code changes function correctly. ([source](https://github.com/egametang/et#readme))

### DevOps & Infrastructure

- [Zero-Downtime Binaries Upgrades](https://awesome-repositories.com/f/devops-infrastructure/graceful-shutdowns/zero-downtime-binaries-upgrades.md) — Injects dynamic libraries into a component design to enable server-side updates without causing downtime. ([source](https://github.com/egametang/et#readme))
- [Cloud Native Infrastructure](https://awesome-repositories.com/f/devops-infrastructure/cloud-native-infrastructure.md) — Deploys cloud-native architectures that support multi-process scaling, observability, and hotfix workflows. ([source](https://github.com/egametang/et#readme))

### Mobile Development

- [Runtime Code Injection](https://awesome-repositories.com/f/mobile-development/distribution-updates/over-the-air-updates/runtime-code-injection.md) — Dynamically loads and executes updated code modules to apply changes without restarting the application. ([source](https://github.com/egametang/et#readme))

### Networking & Communication

- [Network Transport Layers](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/communication-protocols-standards/network-transport-layers.md) — Implements a robust communication system supporting TCP, WebSocket, and KCP for multiplayer data transfer.
- [High-Performance Messaging Infrastructures](https://awesome-repositories.com/f/networking-communication/high-concurrency-networking/high-performance-messaging-infrastructures.md) — Processes hundreds of thousands of concurrent messages per second using high-performance messaging infrastructure. ([source](https://github.com/egametang/et#readme))
- [Message Routing](https://awesome-repositories.com/f/networking-communication/message-routing.md) — Routes messages to entities using unique identifiers to communicate across servers without requiring physical host locations. ([source](https://github.com/egametang/et#readme))
- [Multi-Protocol Routing](https://awesome-repositories.com/f/networking-communication/network-transport-protocols/multi-protocol-routing.md) — Features a software router that switches between TCP, UDP, and WebSockets to optimize connectivity.
- [Game State Synchronization](https://awesome-repositories.com/f/networking-communication/packet-engines/packet-redirection/game-state-synchronization.md) — Implements frame synchronization with prediction and rollback to keep multiplayer clients aligned. ([source](https://github.com/egametang/et#readme))
- [Adaptive Transport Switching](https://awesome-repositories.com/f/networking-communication/adaptive-transport-switching.md) — The product toggles between TCP, WebSocket, and reliable UDP to optimize for specific network conditions and packet loss. ([source](https://github.com/egametang/et#readme))
- [Service Discovery Mechanisms](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/distributed-systems-coordination/service-discovery-mechanisms.md) — Registers and queries services across multiple processes using heartbeats and automatic failover. ([source](https://github.com/egametang/et#readme))
- [Network Protocol Testing](https://awesome-repositories.com/f/networking-communication/network-protocol-testing.md) — Validates network protocol logic within a complete environment without mocking external interfaces. ([source](https://github.com/egametang/et#readme))
- [Network Transport Protocols](https://awesome-repositories.com/f/networking-communication/network-transport-protocols.md) — Utilizes KCP with TCP, UDP, and WebSocket fallbacks to maintain stable, high-performance network connections. ([source](https://github.com/egametang/et#readme))

### Programming Languages & Runtimes

- [Fiber-Based Schedulers](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/concurrency-models/concurrency/synchronization-primitives/channel-based-concurrency/fiber-based-schedulers.md) — Uses lightweight fibers for concurrent execution to maximize multi-core hardware utilization.
- [Asynchronous Programming Patterns](https://awesome-repositories.com/f/programming-languages-runtimes/asynchronous-programming-patterns.md) — Supports writing asynchronous logic in linear sequences using async and await patterns. ([source](https://github.com/egametang/et#readme))
- [Multi-Process Parallelism](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/concurrency-models/multi-process-parallelism.md) — Runs high-demand operations on separate fibers using a multi-process architecture to leverage multi-core hardware. ([source](https://github.com/egametang/et#readme))

### Web Development

- [Multiplayer Synchronization](https://awesome-repositories.com/f/web-development/multiplayer-synchronization.md) — Manages real-time game state across clients and servers using KCP, TCP, and WebSocket protocols with prediction and rollback.

### Artificial Intelligence & ML

- [Behavior Trees](https://awesome-repositories.com/f/artificial-intelligence-ml/decision-trees/behavior-trees.md) — Provides visual editors for behavior trees to define complex quest flows and skill triggers. ([source](https://github.com/egametang/et#readme))
- [Declarative AI Programming](https://awesome-repositories.com/f/artificial-intelligence-ml/declarative-ai-programming.md) — Uses a declarative process to define complex entity behaviors and artificial intelligence logic. ([source](https://github.com/egametang/et#readme))
- [Game World Pathfinding](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/frameworks/reinforcement-learning-environments/grid-world-simulation-frameworks/game-world-pathfinding.md) — Performs server-side navigation and pathfinding using a native language implementation of industry-standard navigation meshes. ([source](https://github.com/egametang/et#readme))
- [Area of Interest Filtering](https://awesome-repositories.com/f/artificial-intelligence-ml/spatial-processing-operations/spatial-processing-operations/spatial-grid-environments/area-of-interest-filtering.md) — Reduces network traffic and processing load by filtering entity visibility using a spatial grid.

### Testing & Quality Assurance

- [User Interaction Simulation](https://awesome-repositories.com/f/testing-quality-assurance/automation-interaction-tools/user-interaction-simulation.md) — Creates bot instances that mirror real player actions to perform load and stress testing. ([source](https://github.com/egametang/et#readme))
- [QA Bot Frameworks](https://awesome-repositories.com/f/testing-quality-assurance/autonomous-qa-frameworks/qa-bot-frameworks.md) — Uses shared logic layers between the client and server to build automated bots for quality assurance. ([source](https://github.com/egametang/et#readme))
- [Environment Simulations](https://awesome-repositories.com/f/testing-quality-assurance/environment-simulations.md) — Implements automated tests that mirror client-server interactions using robotic clients to validate logic and interfaces. ([source](https://github.com/egametang/et#readme))
- [Integrated Logic Testing](https://awesome-repositories.com/f/testing-quality-assurance/integrated-logic-testing.md) — Executes tests within a complete environment using actual logic code to eliminate the need for mock objects. ([source](https://github.com/egametang/et#readme))
- [Game Bot Stress Testing](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/execution-and-infrastructure/automated-test-generators/game-bot-stress-testing.md) — Creates and runs robotic clients and AI bots to simulate user behavior and validate server performance.
