Beforehand, the launcher would check only if the game directory existed. This would lead to an error if the game was moved through Steam since Steam leaves the BeamNG.Drive directory behind. Now it checks for to see if integrity.json is inside. I also removed some commented out code I seem to have left behind when I was porting it. I agree to this code (and the whole port to native Linux since the #63 was locked and I couldn't agree there) being licensed under AGPL 3.
BeamMP-Launcher
The launcher is the way we communitcate to outside the game, it does a few automated actions such as but not limited to: downloading the mod, launching the game, and create a connection to a server.
To clone this repository: git clone --recurse-submodules https://github.com/BeamMP/BeamMP-Launcher.git
How to build for Windows
Make sure you have the necessary development tools installed:
Release
In the root directory of the project,
cmake -DCMAKE_BUILD_TYPE=Release . -B bin -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static
cmake --build bin --parallel --config Release
Remember to change C:/vcpkg
to wherever you have vcpkg installed.
Debug
In the root directory of the project,
cmake . -B bin -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static
cmake --build bin --parallel
Remember to change C:/vcpkg
to wherever you have vcpkg installed.
How to build for Linux
Make sure you have vcpkg
installed, as well as basic development tools, often found in packages, for example:
- Debian:
sudo apt install build-essential
- Fedora:
sudo dnf groupinstall "Development Tools"
- Arch:
sudo pacman -S base-devel
- openSUSE:
zypper in -t pattern devel-basis
Release
In the root directory of the project,
cmake -DCMAKE_BUILD_TYPE=Release . -B bin -DCMAKE_TOOLCHAIN_FILE=~/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-linux
cmake --build bin --parallel --config Release
Debug
In the root directory of the project,
cmake . -B bin -DCMAKE_TOOLCHAIN_FILE=~/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-linux
cmake --build bin --parallel
Running out of RAM while building
Should you run out of RAM while building, you can ommit the --parallel
intruction, it will then use less RAM due to building only on one CPU thread.
You can also specify a number of threads to use, for example --parallel 4
will use four CPU threads, but due to the small project size, you may be faster just omitting --parallel
instead of trying to find the highest possible multithread number
License
BeamMP Launcher, a launcher for the BeamMP mod for BeamNG.drive Copyright (C) 2024 BeamMP Ltd., BeamMP team and contributors.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.