544 Commits

Author SHA1 Message Date
Vali0004
f27d3c6120 Fix bug with BP and not having a trailing slash by default 2025-08-02 00:21:40 -04:00
Vali0004
7a4b24d616 Change to canonical paths for executable paths 2025-08-02 00:14:37 -04:00
Tixx
b6b0e4ba3e
Refine updating (#201)
This PR makes the launcher update more reliable by downloading the
update to a "new_BeamMP-Launcher.exe" file, instead of the launcher
renaming itself to a backup (effectively bricking itself and the
shortcut) and then hoping the download doesn't fail.

---

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-07-27 01:58:06 +02:00
Tixx
a87aa7230a
Make null termination in hex encoding more clear 2025-07-27 01:07:23 +02:00
Tixx
b9cc025083
Check hashes after downloading 2025-07-25 23:50:16 +02:00
Tixx
c0ed056440
Fix for backup failing when it's in use
The backup file may still be in use by older launcher versions (v2.0.71) if they update
2025-07-17 14:33:25 +02:00
Tixx
e6e5bf8327
Fix launcher update to delete backup after download 2025-07-17 14:32:17 +02:00
Tixx
e7cfb6e406
Add Debian legacy Steam installation path (#198)
Current Steam installations seem to have a much cleaner filesystem
layout on Debian while older ones look quite different.

Older Debian installations ~/.steam/root points to ~/.steam while newer
ones point to ~/.steam/debian-installation and hence BeamMP cannot find
integrity.json. 'steamapps' is at ~/.steam/debian-installation in newer
installations.

On the older installations, 'steamapps' is at ~/.steam/steam/steamapps.

---

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-07-09 11:12:11 +02:00
Markus Ingalsuo
185818d174 Add Debian legacy Steam installation path
Current Steam installations seem to have a much cleaner filesystem
layout on Debian while older ones look quite different.

Older Debian installations ~/.steam/root points to ~/.steam while newer
ones point to ~/.steam/debian-installation and hence BeamMP cannot
find integrity.json. 'steamapps' is at ~/.steam/debian-installation in
newer installations.

On the older installations, 'steamapps' is at ~/.steam/steam/steamapps.

Signed-off-by: Markus Ingalsuo <markus.ingalsuo@gmail.com>
2025-07-09 11:34:45 +03:00
Tixx
406c79ef82
Bump version to v2.5.1 v2.5.1 2025-07-08 13:24:32 +02:00
Tixx
f104451bb9
Switch Invalid INI line log to debug (#196)
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-07-05 20:24:43 +02:00
Tixx
d52def2114
Make new CheckVer & GetEN compatible with linux (#195)
Fixes issues for linux that came from PR #167 

---

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-07-03 23:29:07 +02:00
Tixx
d71757b56c
Switch Invalid INI line log to debug 2025-06-29 12:56:24 +02:00
Tixx
f7d3fcf925
Make new CheckVer & GetEN compatible with linux 2025-06-29 10:07:34 +02:00
Tixx
7bef6f35c2
Bump version to 2.5.0 v2.5.0 2025-06-28 20:21:17 +02:00
Tixx
b64d645f73
Switch to wstring for paths on windows (#167)
This PR changes everything relating to file system paths to use
std::wstring instead of std::string. This allows for non-latin
characters to be in the user's path, for example in their windows
username.

- [x] Convert windows code to use wstring
- [x] Fix linux build
- [x] Fix hashing

---

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-06-28 19:25:13 +02:00
Tixx
1780133569
Include assert 2025-06-25 14:29:29 +02:00
Tixx
c89afdf477
Check
Co-authored-by: SaltySnail <51403141+SaltySnail@users.noreply.github.com>
2025-06-24 22:17:14 +02:00
Tixx
9d44146224
Regex assert
Co-authored-by: SaltySnail <51403141+SaltySnail@users.noreply.github.com>
2025-06-24 22:16:17 +02:00
Tixx
a5c02217fa
Update ini parse check formatting
Co-authored-by: SaltySnail <51403141+SaltySnail@users.noreply.github.com>
2025-06-20 23:04:07 +02:00
Tixx
303fc55d94
Fix syntax error 2025-06-19 18:13:46 +02:00
Tixx
5f1e7c6409
Fix resources dir log message for linux 2025-06-19 18:07:59 +02:00
Tixx
8025c0884f
Fix download path generation 2025-06-19 17:56:59 +02:00
Tixx
51d096deac
Check if BeamMP.zip exists before hashing 2025-06-08 14:01:48 +02:00
Tixx
9c53f86593
Convert GetGamePath() to fs::path 2025-06-08 14:01:23 +02:00
Tixx
e0257e9526
Update NewSyncResources logs to use wstring 2025-06-08 13:51:16 +02:00
Tixx
8b96ffb098
Fix .git folder check and GetGamePath() 2025-06-08 13:45:09 +02:00
Tixx
6c740e2562
Fix merge 2025-06-08 13:34:15 +02:00
Tixx
06c741edc5
Fix wstring for windows and add crossplatform code for fs strings 2025-06-08 13:34:15 +02:00
Tixx
5e448dc34f
Switch to wstring for paths on windows 2025-06-08 13:34:15 +02:00
Tixx
676084f283
Implement DeleteDuplicateMods option (#190)
Adds `DeleteDuplicateMods` option to the launcher config which, well,
deletes mods with the same name if their hashes mismatch. Useful for
development where client mod hashes can frequently change.

---

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-06-08 12:56:23 +02:00
Tixx
a8cd208208
Make duplicate mod detection more readable
Co-authored-by: SaltySnail <51403141+SaltySnail@users.noreply.github.com>
2025-06-08 12:37:35 +02:00
Tixx
2529146d5a
Implement DeleteDuplicateMods option 2025-06-08 12:37:32 +02:00
Tixx
8d641f326d
Check if unpacked BeamMP has a .git folder before deleting it (#193)
This PR makes it so that the launcher will first check for the presence
of a .git folder before deleting the unpacked BeamMP directory.
This is useful when you're working on the BeamMP mod and you
accidentally start the launcher without dev mode. (This has happened to
me more times than I would like to admit.)

---

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-06-07 20:07:23 +02:00
Tixx
5af9f5da36
Show cached mods in download progress (#189)
This PR adds cached mods to the "Loading resources" pop-up in-game and
makes it so that the count is actually right.
This PR also fixes the mod protection message because for some reason I
forced it to be always off 😁.

---

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-06-07 20:05:52 +02:00
Tixx
baba0ad026
Check if unpacked BeamMP has a .git folder before deleting it 2025-06-07 17:50:20 +02:00
Tixx
b1ebcfc18d
Fix mod protection message 2025-05-27 22:12:07 +02:00
Tixx
187ef3b24f
Show cached mods being loaded in download progress 2025-05-27 22:09:52 +02:00
Tixx
943889d588
Fix mod downloading progress 2025-05-27 22:08:50 +02:00
Tixx
edbd99f389
Added CLI argument for user-path (#148)
Simple addition to the CLI args. It could probably do with some
validation, ie; making sure it ends in a slash.

cc: @WiserTixx
2025-05-05 23:47:11 +02:00
Tixx
0341d401e7
Download check (#184)
This PR makes it so that the mod hash and download confirmation are
verified before proceeding.

---

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-05-05 23:46:32 +02:00
Tixx
da84d62391
Notify user about missing protected mods (#183)
Launcher implementation for
https://github.com/BeamMP/BeamMP-Server/pull/430. This PR checks if mods
are protected, and if a mod is missing the launcher will notify the user
about it and give them instructions on how to resolve it.

---

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-05-05 23:46:14 +02:00
Tixx
cc6167cd2e
Bump version v2.4.1 2025-05-03 22:20:55 +02:00
Tixx
d3263acead
Log corrupted download confirmation 2025-05-01 20:54:28 +02:00
Tixx
4de0bc9a40
Check download confirmation packet 2025-05-01 20:47:16 +02:00
Tixx
25a1061700
Verify mod hash after downloading 2025-05-01 20:42:01 +02:00
Tixx
f193c25de6
Switch to using INI parser for startup.ini file 2025-04-27 23:35:39 +02:00
Tixx
efe9f5b614
Add INI parser and function to expand env vars 2025-04-27 23:35:11 +02:00
Tixx
6244fdafc6
Use std::filesystem::operator/ instead of string concat 2025-04-26 19:45:10 +02:00
Tixx
ca93effb7d
Update --user-path error message
Co-authored-by: Lion <development@kortlepel.com>
2025-04-26 18:46:15 +02:00