# OpenRA/OpenRA

**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/openra-openra).**

16,450 stars · 2,870 forks · C# · gpl-3.0

## Links

- GitHub: https://github.com/OpenRA/OpenRA
- Homepage: https://www.openra.net
- awesome-repositories: https://awesome-repositories.com/repository/openra-openra.md

## Topics

`command-and-conquer` `cross-platform` `csharp` `dotnet` `dune-2000` `engine` `game` `game-engine` `hacktoberfest` `openra` `real-time-strategy` `red-alert` `rts` `strategy-game-engine` `tiberian-dawn`

## Description

OpenRA is an open-source game engine designed for the development and modernization of real-time strategy titles. It provides a modular framework that allows developers to build standalone games or total conversion modifications by leveraging a trait-based entity composition system. The engine is built to support both the preservation of classic strategy games and the creation of new experiences, offering cross-platform compatibility and a flexible architecture for defining game rules and unit behaviors.

The engine distinguishes itself through a configuration-driven approach where game logic, unit statistics, and mission parameters are defined in structured text files rather than hard-coded, enabling extensive customization without requiring constant recompilation. It utilizes a deterministic lockstep networking model to ensure synchronized multiplayer sessions across distributed clients, supported by a headless server architecture that manages lobbies and match persistence. Developers can extend these capabilities further by integrating custom compiled code modules alongside the standard configuration tools.

The platform includes a comprehensive suite of integrated utilities for content creation and management. This includes a visual map editor, tools for importing legacy graphical assets and map formats, and automated systems for distributing custom content to players. The engine also provides robust support for gameplay orchestration, including event-driven scripting for mission objectives, resource management, and detailed match replay analysis for tactical review.

## Tags

### Game Development

- [Real-Time Strategy Engines](https://awesome-repositories.com/f/game-development/game-engines-frameworks/game-engines/game-development-engines/real-time-strategy-engines.md) — Serves as a cross-platform engine for executing modernized versions of classic strategy titles and developing custom total conversion modifications.
- [Total Conversion Frameworks](https://awesome-repositories.com/f/game-development/game-engines-frameworks/game-engines/game-development-engines/total-conversion-frameworks.md) — Developing standalone strategy games or extensive modifications by leveraging a configuration-driven trait system and custom compiled code modules. ([source](https://cdn.jsdelivr.net/gh/OpenRA/OpenRA@bleed/README.md))
- [Deterministic Networking](https://awesome-repositories.com/f/game-development/online-multiplayer/deterministic-networking.md) — Maintains synchronized multiplayer states across distributed clients using deterministic input-based simulation.
- [Strategy](https://awesome-repositories.com/f/game-development/online-multiplayer/game-servers/strategy.md) — Hosts dedicated game instances to manage lobbies, match persistence, and synchronized multiplayer sessions for connected clients.
- [Headless Servers](https://awesome-repositories.com/f/game-development/online-multiplayer/game-servers/headless-servers.md) — Runs dedicated game instances without graphical interfaces to manage lobbies and match persistence.
- [Rule Definitions](https://awesome-repositories.com/f/game-development/game-engines-frameworks/game-engines/rule-definitions.md) — Allows configuring game mechanics and entity behaviors through structured data files. ([source](https://github.com/OpenRA/OpenRA/wiki/Modding-Guide))
- [Level Editors](https://awesome-repositories.com/f/game-development/level-editors.md) — Provides an integrated visual design tool for creating and modifying strategy game levels with support for legacy formats.
- [Game Modules](https://awesome-repositories.com/f/game-development/game-engines-frameworks/game-engines/game-modules.md) — Packages game assets, logic, and configuration into independent units for custom game experiences. ([source](https://github.com/OpenRA/OpenRA/wiki/Hacking))
- [Resource Management Systems](https://awesome-repositories.com/f/game-development/resource-management-systems.md) — The engine tracks and modifies player cash, power levels, and resource storage, including triggering power outages or managing production queues. ([source](https://docs.openra.net/en/release/lua/))
- [Asset Management Systems](https://awesome-repositories.com/f/game-development/tooling-asset-pipeline/asset-pipelines/asset-management-systems.md) — Supports downloading asset packs automatically or importing required files to enable gameplay. ([source](https://github.com/OpenRA/OpenRA/blob/bleed/INSTALL.md))
- [Visual Asset Importers](https://awesome-repositories.com/f/game-development/game-engines-frameworks/game-engines/voxel-engines/visual-asset-importers.md) — Allows importing sprite-based or three-dimensional voxel models to represent units and objects. ([source](https://github.com/OpenRA/OpenRA/wiki/Modding-Guide))
- [Map and Scenario Editors](https://awesome-repositories.com/f/game-development/map-and-scenario-editors.md) — Creating and distributing unique mission scenarios and game levels using integrated editing tools and automated content synchronization systems.
- [Component Modifiers](https://awesome-repositories.com/f/game-development/engine-architecture/entity-component-systems/component-modifiers.md) — Provides dynamic entity attribute modification through attached modifier components.
- [Unit Task Managers](https://awesome-repositories.com/f/game-development/unit-task-managers.md) — Manages queues of sequential tasks for game entities to handle movement, combat, and complex behaviors during active gameplay sessions. ([source](https://github.com/OpenRA/OpenRA/wiki/Hacking))

### Software Engineering & Architecture

- [Trait-Based Compositions](https://awesome-repositories.com/f/software-engineering-architecture/architectural-design-patterns/object-oriented-foundations/object-oriented-programming/behavior-customization/entity-behavior-modules/trait-based-compositions.md) — Constructs game objects by aggregating modular, data-driven traits that define behavior and properties.
- [Mission Scripting](https://awesome-repositories.com/f/software-engineering-architecture/event-driven-architectures/mission-scripting.md) — The engine allows registering callbacks for game events such as unit production, combat damage, or proximity detection to automate mission logic. ([source](https://docs.openra.net/en/release/lua/))
- [YAML Configuration Files](https://awesome-repositories.com/f/software-engineering-architecture/application-lifecycle-management/configuration-management/configuration-formats-and-schemas/yaml-configuration-files.md) — Defines game rules, unit statistics, and mission logic using structured YAML configuration files.
- [Entity Managers](https://awesome-repositories.com/f/software-engineering-architecture/architectural-design-patterns/object-oriented-foundations/game-logic-models/game-logic-controllers/entity-managers.md) — The engine provides APIs to create, query, and manipulate game units and structures, including tracking their health, position, ownership, and status. ([source](https://docs.openra.net/en/release/lua/))
- [Asset Packages](https://awesome-repositories.com/f/software-engineering-architecture/modular-package-systems/asset-packages.md) — Organizes game content into independent, loadable units for seamless mod and legacy data integration.
- [Compiled Logic Extensions](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/extensibility/plugin-architectures/developer-authoring-interfaces/custom-module-implementations/compiled-logic-extensions.md) — Supports extending engine capabilities by integrating custom compiled code modules. ([source](https://github.com/OpenRA/OpenRA/wiki/Modding-Guide))
- [Reinforcement Spawners](https://awesome-repositories.com/f/software-engineering-architecture/orchestration-logic/reinforcement-spawners.md) — The engine supports spawning units or transport-based squads at specific locations and executing custom actions upon their arrival or departure. ([source](https://docs.openra.net/en/release/lua/))

### Data & Databases

- [Legacy Asset Parsers](https://awesome-repositories.com/f/data-databases/file-asset-management/legacy-format-parsers/legacy-asset-parsers.md) — Supports converting classic sprite files and map formats into engine-compatible assets. ([source](https://github.com/OpenRA/OpenRA/wiki/Pixelart))
- [Legacy Map Converters](https://awesome-repositories.com/f/data-databases/import-column-mappings/import-mapping-configurations/legacy-map-converters.md) — The engine supports converting map files from classic strategy titles into the native format to ensure structural accuracy for mission porting. ([source](https://github.com/OpenRA/OpenRA/wiki/Mapping))

### DevOps & Infrastructure

- [Dedicated Hosting](https://awesome-repositories.com/f/devops-infrastructure/deployment-management/self-hosted-infrastructure-management/self-hosted-deployment-infrastructure/dedicated-hosting.md) — Supports deploying dedicated game instances to provide stable environments for community matches. ([source](https://cdn.jsdelivr.net/gh/OpenRA/OpenRA@bleed/README.md))
- [Attribute Modifiers](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/configuration-resolution-engines/project-configuration-managers/dynamic-configuration-modifiers/attribute-modifiers.md) — Alters entity attributes like speed or damage by attaching modifier components to game objects. ([source](https://github.com/OpenRA/OpenRA/wiki/Hacking))

### User Interface & Experience

- [Entity Composition Systems](https://awesome-repositories.com/f/user-interface-experience/component-architectures/game-object-architectures/entity-composition-systems.md) — Enables constructing game objects by assembling modular traits defined in configuration files. ([source](https://github.com/OpenRA/OpenRA/wiki/Hacking))
- [Map Editors](https://awesome-repositories.com/f/user-interface-experience/drag-and-drop-utilities/map-editors.md) — Includes an integrated drag-and-drop editor for map creation and modification. ([source](https://cdn.jsdelivr.net/gh/OpenRA/OpenRA@bleed/README.md))
- [Action Command Processors](https://awesome-repositories.com/f/user-interface-experience/order-interface-extensibility/action-command-processors.md) — The engine resolves user input into actionable commands for game entities through a system of targeters and modal interfaces. ([source](https://github.com/OpenRA/OpenRA/wiki/Hacking))

### Operating Systems & Systems Programming

- [Legacy System Preservation](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/legacy-system-preservation.md) — Running modernized versions of legacy real-time strategy titles on contemporary hardware with cross-platform multiplayer and improved interface support.

### Web Development

- [Game Development Frameworks](https://awesome-repositories.com/f/web-development/cross-platform-development/game-development-frameworks.md) — Provides a modular toolkit for building strategy games using configuration-driven trait systems and integrated asset management.

### Development Tools & Productivity

- [Game Asset Synchronization](https://awesome-repositories.com/f/development-tools-productivity/versioned-content-repositories/game-asset-synchronization.md) — The engine supports uploading and synchronizing user-created maps through a centralized repository to ensure all players in a session use identical map versions. ([source](https://github.com/OpenRA/OpenRA/wiki/Mapping))

### System Administration & Monitoring

- [Gameplay Replay Systems](https://awesome-repositories.com/f/system-administration-monitoring/ai-session-monitoring/session-replays/gameplay-replay-systems.md) — Records gameplay sessions to allow reviewing tactical decisions, identifying strategic errors, and improving performance through observation of past matches. ([source](https://github.com/OpenRA/OpenRA/wiki/Playing-the-game))
