How rookieami/openra works
OpenRA is a real-time strategy game engine for playing and modding classic Westwood-style games. In the principal workflow, a player uses the game interface to issue orders; the order manager coordinates those orders with the network connection and applies them to the simulated world, whose state is presented through rendering, audio, and notifications. The repository also supports mod-defined rules and scripting, custom maps and editing, and dedicated servers. The README establishes these capabilities; sampled source confirms selected order, viewport, rendering, notification, and audio behavior, but not every subsystem’s wiring.
Main entry points: World.cs World simulation · OrderManager.cs Order manager · Connection.cs Game connection · InputHandler.cs Input handling
Components 20
Game Runtime
- Game runtime
OpenRA.Game/Game.cs - Order manager
OpenRA.Game/Network/OrderManager.cs
Simulation and Mods
- World simulation
OpenRA.Game/World.cs - Actors and traits
OpenRA.Game/Actor.cs - Maps
OpenRA.Game/Map/Map.cs - Mod rules
OpenRA.Game/GameRules/Ruleset.cs - Lua scripting
OpenRA.Game/Scripting/ScriptContext.cs - Map editing
OpenRA.Mods.Common/EditorBrushes/EditorDefaultBrush.cs
Player Interface
- Input handling
OpenRA.Game/Input/InputHandler.cs - Viewport controls
OpenRA.Mods.Common/Widgets/ViewportControllerWidget.cs - World rendering
OpenRA.Game/Graphics/WorldRenderer.cs - Cursor rendering
OpenRA.Game/Graphics/CursorManager.cs - Text notifications
OpenRA.Game/TextNotificationsManager.cs - Audio output
OpenRA.Platforms.Default/OpenAlSoundEngine.cs
Network and Content
- Game connection
OpenRA.Game/Network/Connection.cs - Dedicated server
OpenRA.Game/Server/Server.cs - Mod data
OpenRA.Game/ModData.cs - Game filesystem
OpenRA.Game/FileSystem/FileSystem.cs - Content installer
OpenRA.Mods.Common/Installer/InstallerUtils.cs
Other components
- Player
Connections 18
- Player → Input handling: provides input
- Input handling → Viewport controls: routes controls
- Viewport controls → World simulation: scrolls viewport
- Order manager → Game connection: sends orders
- Game connection → Order manager: delivers orders
- Order manager → World simulation: processes orders
- World simulation → Actors and traits: updates actors
- World simulation → Maps: uses map state
- Mod rules → Actors and traits: defines traits
- Lua scripting → World simulation: scripts gameplay
- Map editing → Maps: edits maps
- World simulation → World rendering: supplies world state
- Player → Cursor rendering: moves pointer
- World simulation → Text notifications: posts notifications
- World simulation → Audio output: plays game audio
- Dedicated server → Game connection: serves sessions
- Mod data → Game filesystem: loads mod content
- Content installer → Game filesystem: installs game content