Beowulf Syncing Utility (BSU) is an open source mod syncing tool for ArmA 3. It was initially developed for the Beowulf Strategic Operations (BSO) community, born out of frustration with other available tools.
Read on below for more information but if you are just interested in downloading it or finding our issue tracker look no further.
We have a series of goals which we hope the project meets.
Installing ArmA mods can be a nightmare for people - we want to make it as simple as possible. Having a nice set of mods should not be a barrier to enter a community. A mod syncing tool should do nothing more than sync and launch mods, everything else just leads to confusion and problems.
It needs to work - server operators should not need to worry that pushing an update might cause issues and players must be confident that the tool will work every single time without fault. No one wants to turn up to play ArmA and find that their mods are not fully downloaded despite them seeing 100% in their downloader!
The only limiting factor to how fast mods should be downloaded is the speed of the connection - if there is a 300MB connection available then the user should be able to use it to get their mods.
A mod syncing tool should not use lots of RAM and CPU, especially when doing nothing - this is especially important because of how resource intensive ArmA can be and the fact that mod sync tools are often left open whilst playing.
Lets face it, ArmA mods can be huge and they are updated on a regular basis. For this reason the utility needs to be able to patch files efficiently without downloading unnecessary data. This is very important if a player plays with multiple communities which have slightly different versions of mods. It should not take more than a few seconds to switch between versions of mods.
Everything about this project is open, licensed under the MIT licence. There is no need to hide how a program works, and people should be able to contribute if they feel that they can make it better. On top of this the "protocol" behind how mods are fetched is very open so if desired anyone can make their own client which will be 100% compatible with servers and communities that are hosting their mods using this system. There is no need for a community to be locked into using the same tool.
All the mod files are hosted by the community. An update in a mod should not be forced upon users, sometimes communities need to update their own mods before they update public mods.
Want to help? Great! The project is developed in C# and split into two distinct projects, the BSU.Sync library which is the "back end" and BSU.Client which is the front end client used by players and server administrators. This separation of concerns is to allow rapid development through protoyping.
So if you want to help, just get stuck in! You can view the issues and tasks on our Phabricator setup. Feel free to register and work on things, just submit a pull request when you are done.
If you want to "join" the project, to assist in a more "formal" manner then please contact us through GitHub. We are open to working with anyone who has any skills we might need, be that UI design, developing or anything else you can think of.