323 Commits

Author SHA1 Message Date
Tixx
e5e40e186b
Server info (#161)
Adds an `I` packet to the core handler, which allows the mod to use the
newly added [information packet
](https://github.com/BeamMP/BeamMP-Server/pull/382) in the server.
Usage:
Mod sends `I0.0.0.0:0000` and the launcher will send either
`I0.0.0.0:0000;` back if something went wrong, or `I0.0.0.0:0000;{Server
information JSON}` if it succeeded.

---

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 20:52:44 +01:00
Tixx
8d4ba6f158
Implement size header for info packet 2025-01-12 16:57:33 +01:00
Tixx
a5d450b680
Raise buffer and remove timeout 2025-01-11 22:13:12 +01:00
Tixx
f4e985976f
Strip packet letter in log 2025-01-11 21:55:08 +01:00
Tixx
db9ec53a6e
Up curl connection timeout to 2 minutes (#160)
In some cases it can take longer than 10 seconds to connect to the
backend, so in this PR I've raised the limit to 2 minutes.

---

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-11 21:54:35 +01:00
Tixx
333a95262b
Check port and timeout recv 2025-01-11 21:50:39 +01:00
Tixx
e53885a8a8
Raise http get timeout to 2 minutes 2025-01-11 21:45:06 +01:00
Tixx
ad8eab3d66
Log error buffer 2024-12-29 16:39:56 +01:00
Tixx
e880da5cf9
Up curl connection timeout to 2 minutes 2024-12-25 00:54:19 +01:00
Tixx
a8a4dfb77c
Fixed GameDir location issues. (#152)
I couldn't launch the game without this.

---

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.
2024-12-23 23:00:47 +01:00
Tixx
7149075d53
Implement core server information packet 2024-12-22 23:56:29 +01:00
Winos
f2b86cd5a0 Improved error handling as requested. 2024-12-16 09:10:54 -03:00
Tixx
3e7d16a8e8
Update Check for Game Files on Native Linux (#92)
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.
2024-12-14 20:47:58 +01:00
Winos
63aee03969 Update BeamNG.cpp
As requested:
- Changed 'string' variables that referred to paths to 'filesystem'.
- Added error log for when a valid 'GameDir' isn't found.

Also readded error log for when 'libraryfolders.vdf' is missing for better contextualization for the 'basic_string::_M_replace_aux' error (the code doesn't reach the GameDir segment when that file is not found).
2024-12-10 20:10:07 -03:00
Tixx
46e6fda26e
Update license header 2024-12-07 11:26:09 +01:00
Winos
89327b8e20
Update src/Security/BeamNG.cpp
Co-authored-by: Tixx <83774803+WiserTixx@users.noreply.github.com>
2024-12-06 15:03:25 -03:00
Winos
ebf1579ce4
Update src/Security/BeamNG.cpp
Co-authored-by: Tixx <83774803+WiserTixx@users.noreply.github.com>
2024-12-06 15:03:19 -03:00
Winos
a06470cb70
Update src/Security/BeamNG.cpp
Co-authored-by: Tixx <83774803+WiserTixx@users.noreply.github.com>
2024-12-06 15:02:07 -03:00
Winos
80a3feb349
Update src/Security/BeamNG.cpp
Co-authored-by: Tixx <83774803+WiserTixx@users.noreply.github.com>
2024-12-06 15:02:00 -03:00
Winos
ec1a09bbcb Fixed GameDir localization issues.
I couldn't launch the game without this.
2024-12-05 03:56:13 -03:00
Tixx
dff2f2712b
Bump version 2024-11-07 22:12:20 +01:00
Tixx
d58ff960ec
Fix github regex 2024-11-07 21:39:18 +01:00
Tixx
f67f8573e0
Log zlib error messages 2024-11-07 21:36:38 +01:00
Tixx
e0041666ca Clarify and change auth message log 2024-11-05 10:26:10 +01:00
Tixx
ed686333ec Print message from auth 2024-11-05 10:15:10 +01:00
Tixx
bd4c9c34a9 Add BeamMP github to the list of allowed links 2024-11-02 22:33:26 +01:00
Tixx
8519e279a7 Add beammp.gg to the list of allowed links 2024-11-02 22:18:46 +01:00
Lion Kortlepel
54895eb1b0
bump version 2024-11-01 12:53:55 +01:00
Lion
1423c1193b
Speed up response times by waiting for http requests on another thread. (#137)
If, for example, the client requests the serverlist multiple times and
then tries to login the launcher will first wait for those requests to
finish. Thereby putting the other core communication (such as login) on
hold.
2024-11-01 12:13:21 +01:00
Tixx
4fdc3c4031 Fix --port 2024-10-20 16:59:00 +02:00
Tixx
708da44fec Remove unused code 2024-10-20 16:57:47 +02:00
Tixx
6b6e304cfd Switch to std::async 2024-10-18 19:23:53 +02:00
Tixx
06cb366bb5 Add mutex to CoreSend 2024-10-16 23:12:02 +02:00
Tixx
0b35f0484f put blocking http requests on another thread 2024-10-16 23:12:02 +02:00
Tixx
ca9dd1ae75 Switch to only timeout on connection 2024-10-14 20:29:19 +02:00
Lion
9ebd218856
Fix empty modlist (#136)
This PR fixes the launcher getting confused when the server sends an
empty mod list using the new downloading system.
Related server PR: https://github.com/BeamMP/BeamMP-Server/pull/377
2024-10-12 22:10:47 +02:00
Pranay Sanghai
43b02f0118 Update Check For Game Files
Beforehand, it would check only if the game directory existed. This would lead to an error if the game is moved through Steam since it leaves the BeamNG.Drive directory. Now it checks for integrity.json. I also removed some commented out code I left behind.
2024-10-12 21:15:10 +02:00
Tixx
d9874ce70e Make return from parsemodinfo look better 2024-10-12 21:12:12 +02:00
Tixx
3f12bb757a Mod info logs and check for old format 2024-10-10 21:35:27 +02:00
Lion Kortlepel
7d52e44434 only listen on localhost ipv4 2024-10-10 16:14:16 +02:00
Tixx
4fbd25b551 Handle new modlist being empty but still valid 2024-10-09 19:41:38 +02:00
Tixx
3cf1a2e51b Add mod info debug log 2024-10-09 19:39:27 +02:00
Lion Kortlepel
49874fd633
Revert "remove 'D' socket initialization code"
This reverts commit 6a23518eff66217a2b8f6b8c6b49baf654e73683.
2024-10-09 18:00:43 +02:00
Lion Kortlepel
6a23518eff
remove 'D' socket initialization code 2024-10-09 17:36:54 +02:00
Lion Kortlepel
3297b3e62e
fix not recognizing empty mod lists on new mod list 2024-10-09 17:35:50 +02:00
Lion Kortlepel
76cfc47a2f
log invocation 2024-10-07 00:43:25 +02:00
Lion Kortlepel
7b59cb6f87
fix various commandline argument related things 2024-10-07 00:33:43 +02:00
Lion
259b21502e
Add command-line options (#90)
This PR adds command-line options as outlined in #74 

Closes #74
2024-10-06 23:49:47 +02:00
Tixx
afac729505 Ixmplement game arguments for linux 2024-10-06 15:56:48 +02:00
snepsnepsnep
ace96b7e33 follow HTTP redirects 2024-10-05 23:45:50 +02:00