Main game repository for Beyond All Reason.
  • Lua 65.3%
  • COBOL 27.2%
  • C 5.6%
  • GLSL 1.5%
  • AngelScript 0.2%
Find a file
2026-02-18 09:06:07 +01:00
.github Enable PR runner for integration tests (#5874) 2025-10-30 21:49:29 +02:00
anims upgmex/areamex anim black frame fix 2022-02-08 17:47:19 +01:00
bitmaps removing LUPS: last remaning shield effects gadget now made standalone (#6118) 2025-11-08 23:54:36 +01:00
common add Game constants for initial spawn and warp-in (#6890) 2026-02-16 13:12:22 +01:00
doc New 'allowunitcontrolwidgets' modoption to disallow 'unit control' user widgets (#5430) 2026-01-10 23:43:32 -06:00
effects Legion Navy - Tier 2 Addition & Legion Seaplanes (#6423) 2025-12-19 16:36:10 +01:00
features Fixed Xmas ComWreck. Why is this broken now all of the sudden? (#6385) 2025-12-12 02:14:08 +01:00
fonts Fallback fonts support (#4102) 2025-01-14 12:55:32 +01:00
gamedata Idleautoheal/idletime standardisation (#6652) 2026-02-13 20:25:34 +02:00
icons Fix: copy leghive entries over to legfhive (#6740) 2026-01-24 20:55:57 +01:00
language settings: minimap - "advanced" minimap suboption that toggles pip minimap replacement (#6828) 2026-02-04 18:51:54 +01:00
luaintro Shield Rework>vanilla Attempt 2 (#6625) 2026-01-10 12:20:11 +01:00
luarules Update contributors.lua (#6904) 2026-02-17 17:29:05 +01:00
luaui pip: decals fix projection (#6914) 2026-02-18 09:06:07 +01:00
modelmaterials Add Quaternion support to BAR (#5215) 2025-06-03 19:03:02 +02:00
modelmaterials_gl4 CUS GL4 shaders are MIT (#5354) 2025-06-19 21:19:30 +02:00
modules Allow zero frame dwell advanced lava tide. (#6091) 2025-11-07 18:42:53 +01:00
music Raptors Original Soundtrack - Vol 1. (#6540) 2025-12-30 21:07:39 +01:00
objects3d Legion Update 12.25.4 (Legion Anti-nuke Vehicle) (#6545) 2025-12-30 19:25:55 -05:00
recoil-lua-library@5e9f3f3121 Update Lua libary submodule 2026-02-16 00:19:59 +00:00
scripts Sprinter Reanimated (#6680) 2026-01-19 16:06:12 +01:00
shaders removing LUPS: last remaning shield effects gadget now made standalone (#6118) 2025-11-08 23:54:36 +01:00
sidepics new faction icons 2021-05-04 02:14:46 +02:00
singleplayer Fix typo in scenario010.lua tips section (#6849) 2026-02-07 11:02:54 +01:00
sounds Custom Widgets can now create their own Notifications. (#6864) 2026-02-08 19:19:22 +01:00
tools Fix headless docker build dependencies (#6268) 2026-01-15 21:58:20 +02:00
types Lua: Prevent "duplicate method" error on gadget/widget callins (#4608) 2025-03-31 08:59:29 -04:00
unitbasedefs Idleautoheal/idletime standardisation (#6652) 2026-02-13 20:25:34 +02:00
unitpics Legion Update 12.25.4 (Legion Anti-nuke Vehicle) (#6545) 2025-12-30 19:25:55 -05:00
units Idleautoheal/idletime standardisation (#6652) 2026-02-13 20:25:34 +02:00
unittextures remove air repair pads for real (#5881) 2025-10-15 17:17:04 +02:00
weapons Remove Weapontype = "Cannon" from death explosions (#6138) 2025-11-13 21:41:23 +02:00
.editorconfig .editorconfig line endings (#4519) 2025-03-17 12:22:21 -04:00
.gitattributes
.gitignore Legion Navy / Seaplane Update 12/21/2025 (#6444) 2025-12-21 12:48:21 +01:00
.gitmodules Add recoil-lua-library submodule (#4286) 2025-03-23 22:25:56 +01:00
.luacheckrc ⚙️ Deprecate spairs, sipairs and snext 2023-03-20 21:21:06 +01:00
.luarc.json Revert "Rework continuous_aim as a performance tradeoff, not just a spam penalty" (#6620) 2026-01-08 21:38:05 -05:00
.travis.yml basic luacheck & travis setup 2020-11-17 00:51:48 +09:00
AI_POLICY.md Create AI_POLICY.md (#6758) 2026-02-05 19:33:52 +01:00
changelog.txt February balance patch (#6801) 2026-02-13 20:19:02 +02:00
cmdcolors_icexuick.txt selectionbox: made minimap selectionbox stylized as well (#6445) 2025-12-21 12:23:29 +01:00
EngineOptions.lua fix for the fix 2020-01-26 12:15:39 +01:00
init.lua gate target border bugfix behind feature flag (#6755) 2026-01-26 10:07:03 +01:00
LICENSE.md Precise language in the licence file (#1755) 2023-05-12 17:11:06 +02:00
license_bitmaps.txt License correction on Art Assets 2024-05-24 15:08:25 +02:00
license_general.txt General information update 2022-11-03 15:39:51 +01:00
license_icons.txt Bugfixes & Error Removal Hunting & Added some missing Buildpics 2020-10-07 11:49:50 +02:00
license_music.txt Update license_music.txt (#6634) 2026-01-10 14:49:19 +01:00
license_sounds.txt feat: When a player requests metal or energy, play an alert sound (#6236) 2026-01-15 22:08:17 +02:00
license_unitpics.txt Bugfixes & Error Removal Hunting & Added some missing Buildpics 2020-10-07 11:49:50 +02:00
luaai.lua Remove control point modoptions (#2744) 2024-03-19 19:30:18 +01:00
luaui.lua Cleanup: Rename luaui barmain.lua to main.lua 2021-08-31 17:00:10 -04:00
modinfo.lua capitalized the A in Beyond All Reason 2019-10-13 14:48:32 +02:00
modoptions.lua Add No-Rush warning for extended time (#6771) 2026-01-27 19:14:51 +01:00
README.md add documentation on how to run the integration tests and where they tend to live (#6213) 2026-01-15 21:48:10 +02:00
springignore.txt Add recoil-lua-library submodule (#4286) 2025-03-23 22:25:56 +01:00

Beyond-All-Reason

Discord

Open source RTS game built on top of the Recoil RTS Engine

Where to download

https://www.beyondallreason.info/download

How to play

https://www.beyondallreason.info/guides

Development Quick Start

Beyond All Reason (BAR), consists of 2 primary components, the lobby (Chobby - https://github.com/beyond-all-reason/BYAR-Chobby) and the game code itself (this repository).

The game runs on top of the Recoil engine https://github.com/beyond-all-reason/spring.

In order to develop the game (this repository) you first need a working install of the lobby/launcher. There are 2 ways to do this:

  1. Download the full BAR application from the website and run it. This is probably what you will have done if you have previously installed and played the game.

  2. OR if you want to develop the lobby client, follow the guide in the Chobby README. First download a release of Chobby and then launch Chobby, this will automatically download and install the engine and other dependencies.

Once you have a working install of BAR you need a local development copy of the game code to work with. This code will live in the BAR install directory.

  1. To find the BAR install directory simply open the launcher (not full game) and click the "Open install directory" button. This is one of the 3 buttons (Toggle log and Upload log are the other 2). For Windows installs this might be your user's AppData/Local/Programs/Beyond-All-Reason/data directory.

  2. In the BAR install directory create the empty file devmode.txt. E.g: AppData/Local/Programs/Beyond-All-Reason/data/devmode.txt

  3. In the BAR install directory in the data folder in the games sub-directory (create games if it doesn't exist) clone the code for this repository into a directory with a name ending in .sdd. For example:

git clone --recurse-submodules https://github.com/beyond-all-reason/Beyond-All-Reason.git BAR.sdd

Ensure that you have the correct path by looking for the file Beyond-All-Reason/data/games/BAR.sdd/modinfo.lua

  1. Now you have the game code launch the full game from the launcher as normal. Then go to Settings > Developer > Singleplayer and select Beyond All Reason Dev.

  2. Now you can launch a match normally through the game UI. This match will use the dev copy of the LUA code which is in BAR-install-directory/data/games/BAR.sdd.

  3. If developing Chobby also clone the code into the games directory. Follow the guide in the Chobby README.

  4. (Optional, Advanced) If you want to run automated integration tests, see the testing documentation

More on the .sdd directory to run raw LUA and the structure expected by Spring Engine is documented here.