Tixx 8373a70c4b
Mod download improvements (#162)
This PR adds multiple features relating to mod downloads.
1. With this PR the launcher will convert old style mods (without hash)
to new style mods (with hash). This is so people don't have to
re-download all of their mods after joining a server which was
previously on a version below 3.6.0
2. This PR will save the last used date of mods in a JSON file in the
caching directory. This will allow for smart deletion of cached mods

---

By creating this pull request, I understand that code that is AI
generated or otherwise automatically generated may be rejected without
further discussion.
I declare that I fully understand all code I pushed into this PR, and
wrote all this code myself and own the rights to this code.
2025-01-18 22:56:33 +01:00
2024-11-13 16:20:54 +01:00
2021-03-29 21:45:32 +03:00
2024-12-25 00:07:13 +01:00
2025-01-18 22:56:33 +01:00
2024-06-17 21:59:59 +02:00
2021-03-29 11:57:58 +03:00
2024-12-03 03:51:32 -05:00
2024-12-07 11:10:51 +01:00
2025-01-08 16:38:29 +01:00
2024-10-04 22:59:29 +02:00

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:

vcpkg

Release

In the root directory of the project,

  1. cmake -DCMAKE_BUILD_TYPE=Release . -B bin -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static
  2. 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,

  1. cmake . -B bin -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static
  2. 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,

  1. cmake -DCMAKE_BUILD_TYPE=Release . -B bin -DCMAKE_TOOLCHAIN_FILE=~/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-linux
  2. cmake --build bin --parallel --config Release

Debug

In the root directory of the project,

  1. cmake . -B bin -DCMAKE_TOOLCHAIN_FILE=~/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-linux
  2. cmake --build bin --parallel

Running out of RAM while building

Should you run out of RAM while building, you can ommit the --parallel instruction, 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/.

Languages
C++ 97.9%
C 2%
CMake 0.1%