The bfme2-patcher consists of the following applications:
- game-patcher:
The
game-patcheraims to patch certain aspects of the original game executable to allow proper online gameplay. It redirects DNS queries for GameSpy and EA specific hosts to servers that are maintained by the community (t3a:online). It also disables the games SSL certificate verification so that a connection to the community servers can be established. - map-builder:
The
map-builderis an application that helps with building the!map.bigarchive. It adjusts the camera settings for each map, generates themapcache.iniand creates the final big archive. - mod-builder:
The
mod-builderis an application that helps with bundling a new version of the mod. It basically takes the necessary files and puts them in dedicated big archives for release. - update-builder:
The
update-builderis an application that makes it easy to create aversion.json. The updater needs this file to calculate differences between client and server. This file contains the checksums, size specifications, paths and timestamps of the individual files. - updater:
The
updaterkeeps all files for a program and itself up to date. It calculates the differences between the current version of the program and the latest version from the server. For this purpose a SHA-3 hash is created for each file and compared with the server's hash. Afterwards all outdated or damaged files are downloaded from the server and obsolete files are deleted.
Clone the project:
git clone git@github.com:DarkAtra/bfme2-patcher.git
Build the project using the following command:
gradlew clean test build jar createExe
The jar and exe files are located in the build folders of the respective applications.