FAForever / fa

Lua code for FAF
221 stars 228 forks source link

About Forged Alliance Forever

Impression of the game

Forged Alliance Forever is a vibrant, community-driven project designed to enhance the gameplay of Supreme Commander: Forged Alliance. Our active community has developed a custom client, backend and website. We provide a rich gaming experience with an extensive library of community-made maps, mods and co-op scenarios. The project can be financially supported through Patreon.

Getting started playing

Changelog

The changelog is split across multiple files. Each file represents a release. You can find them in the changelog folder. Some changes are also described in an alternative format that makes them easier to read for the community.

Contributing

There are instructions in English and in Russian to help you set up a development environment. It is important that you discuss your contributions beforehand. You can do this by making a comment on an existing issue or, if it doesn't exist yet, by opening a new issue. Not all pull requests are merged by default. It is important that the changes align with the vision of the project.

There's an extensive guide to help you setup a debug environment. Everyone that contributes must adhere to the rules and apply the contribution guidelines as they discuss issues with other community members.

Deployment

There are three branches branches that deployable and are available for players to play on. The deployment procedure is automated. Pushing commits to one of these branches is sufficient to trigger the deployment.

Deployment of a development branch

There are no requirements to a deployment to a development branch. A push of a commit is sufficient to trigger a deployment. The development branches are unaware of history. For example, A replay will always start using the last deployment. All replays that used a previous deployment when the game was played is guaranteed to desync.

Deployment of the production branch

There are various requirements when deploying to production:

Specifically steps (1), (2) and (5) are required to create a functioning deployment where even replays can retrieve the proper configuration to prevent desyncs.

Related repositories

Campaign or co-op content

Lua plugin

Assembly patches