Lion Kortlepel
a6eb2f7bfe
switch to vcpkg+cmake, add debian build to workflows
...
using lionkor's template (MIT licensed)
This is a combination of 64 commits.
2023-12-05 17:57:19 +01:00
Lion Kortlepel
103d2dc030
update vcpkg in workflows
2023-12-03 17:50:45 +01:00
Lion Kortlepel
7f206fd0d4
bump version to 3.1.2
2023-12-03 17:49:12 +01:00
Lion Kortlepel
22805af716
fix crash in authentication
2023-12-03 17:43:41 +01:00
Lion
47e64a7343
merge release candidate v3.1.1 ( #142 )
...
patches and hotfixes!
2022-10-31 11:32:16 +01:00
Lion Kortlepel
7f5b3919f4
make destructors of virtual classes virtual
...
this causes warnings in clang, and rightfully so :^)
2022-10-31 11:31:16 +01:00
Lion Kortlepel
896e777e23
update changelog
2022-10-31 11:31:16 +01:00
Lion Kortlepel
aa58c1e211
another potential fix for #141
2022-10-31 11:31:15 +01:00
Lion Kortlepel
49a9226dca
update changelog to mention fixes
2022-10-31 11:31:15 +01:00
Lion Kortlepel
b10d5d0f4e
fix empty events causing issues in the server
...
an empty event packet, if sent just right, could crash the server
2022-10-31 11:31:15 +01:00
Lion Kortlepel
5581fd1692
fix chat message impersonation issue
...
instead of using the supplied name, we ignore it entirely and use the
server's internal name for the client
2022-10-31 11:31:15 +01:00
Lion Kortlepel
d36bb7962c
ignore empty chat messages
...
this could happen with a malicious client of some kind, we should simply
ignore them
2022-10-31 11:31:15 +01:00
Lion Kortlepel
4e8bd993d5
remove J packet handler
...
it wasn't used by anything in the launcher, mod, or during the join
sequence, so i removed it for now.
2022-10-31 11:31:15 +01:00
Lion Kortlepel
abff9bfbdb
fix crash when chat message is malformed
2022-10-31 11:31:15 +01:00
Lion Kortlepel
b024533f90
fix crash when the header of a TCP packet is negative
2022-10-31 11:31:15 +01:00
Lion Kortlepel
f9251ff92c
add more warning prints on unexpected cases
2022-10-31 11:31:15 +01:00
Lion Kortlepel
99f41c28cb
fix #135 by making onPlayerDisconnect blocking, and calling it before removing the player
...
before, the handlers were not waited for, so the client was usually
destructed before lua got to the actual event handler call. Now, the
handler is called and waited on, and once all handlers are done, the
client is properly removed from the players internally, thus making
calls to GetPlayerName, GetPlayerIdentifiers, etc. return nil etc.
2022-10-31 11:31:15 +01:00
Lion Kortlepel
bbd27c9cba
fix formatting bug in status ( closes #143 )
2022-10-31 11:31:15 +01:00
Lion Kortlepel
4682922467
add more fixes for msvc static linking
2022-10-31 11:31:15 +01:00
Lion Kortlepel
83fb387dfe
potential fix to #141
2022-10-31 11:31:09 +01:00
Lion Kortlepel
2b61f11a86
fix EnsureArgsCount not properly printing min/max
2022-10-31 11:24:13 +01:00
Lion Kortlepel
a8b1a205f7
bump version to 3.1.1
...
I'm expecting to release a 3.1.1 with some fixes
2022-10-31 11:24:13 +01:00
Lion
dd9376447a
Fix README errors ( #138 )
2022-10-26 14:34:01 +02:00
Lion
aa185afabf
Update README.md
2022-10-23 03:35:39 +02:00
Lion
e8caeb9126
merge release candidate v3.1.0 ( #83 )
...
See https://github.com/BeamMP/BeamMP-Server/blob/rc-v3.1.0/Changelog.md for
a list of changes
2022-10-22 23:24:48 +02:00
Lion Kortlepel
fa1944dbef
update readme to reflect dependency- and code-changes in 3.1.0
2022-10-22 23:22:42 +02:00
Lion Kortlepel
093f905fd8
remove redundant addition libboost library install in cmake-linux action
2022-10-22 23:06:11 +02:00
Lion Kortlepel
2a45d2282d
update rc-v3.1.0 to master
2022-10-22 22:55:12 +02:00
Lion Kortlepel
aeb024953a
fix sentry line that caused build to fail
2022-10-22 22:48:23 +02:00
Lion Kortlepel
917c501faf
fix typo causing beammp forum id not to show in identifiers ( fix #137 )
2022-10-22 21:16:31 +02:00
Lion Kortlepel
340933bbb3
fix dependencies for test run (add curl, fix ssl)
2022-10-22 21:01:44 +02:00
Lion Kortlepel
a63359479e
rename dependencies for test run in github actions
2022-10-22 20:44:47 +02:00
Lion Kortlepel
bdf2da758c
remove pps from heartbeat
...
"PPS has no meaning anymore and is completely irrelevant. You should
ignore it, it is not an indicator of ANYTHING. If it’s high, that means
NOTHING. If it’s low, that means NOTHING. If it’s -, that means
NOTHING."
It's packets per second per player per vehicle, but is only sent every
30 seconds, its not averaged, and on the client-side, it shows a ping
icon next to it.
A client can open a new connection to the server and send a `P`, and
measure the time to the `P` response packet. The connection is then
closed. This was added ages ago, please use this instead for ping :)
2022-10-17 14:05:51 +02:00
Lion Kortlepel
88c0ed56e4
add _WIN32_WINNT and move CRT no warnings flag
2022-10-17 12:25:13 +02:00
Lion Kortlepel
4256977400
remove crt's "this function or variable may be unsafe" warnings
...
they are useless, as they are in dependencies or parts of the code
we don't care about. Also, the "safe" alternatives straightup dont work
on linux.
2022-10-17 12:21:27 +02:00
Lion Kortlepel
309a9d1fa9
fix invalid windows workflows indentation
2022-10-17 12:12:55 +02:00
Lion Kortlepel
ad860835ca
fix linux tests run not installing openssl properly
2022-10-17 12:10:52 +02:00
Lion Kortlepel
c6c2efb0b1
revert "update linux and windows workflows to run on pr open, reopen, review submit"
...
This reverts commit 23e9941704 .
2022-10-17 12:09:36 +02:00
Lion
c4c3b03b7a
replace networking with boost::asio (synchronous) ( #134 )
...
- replaced all networking with boost::asio abstractions
- rewrote the SetStatus(), GetStatus() crap (now IsDisconnected() and
Disconnect() with reason)
- fixed bug related to ghost players / ghost cars
- handles packets as binary for the most part (vector<uint8_t> instead
of string) to fix various issues
2022-10-17 12:03:43 +02:00
Lion Kortlepel
fd51336a91
update vcpkg
2022-10-17 12:01:08 +02:00
Lion Kortlepel
466845b314
add udp binary data fix to Changelog
2022-10-16 00:05:02 +02:00
Lion Kortlepel
92632b53b5
fix binary data breaking in UDPRcvFromClient
2022-10-15 23:30:09 +02:00
Lion Kortlepel
331a597ec7
add info about new networking to changelog
2022-10-15 23:19:33 +02:00
Lion Kortlepel
87965433c2
change log levels of common warnings and errors to debug
...
this hides a lot of the "standard" errors we get behind the debug flag.
for example, disconnecting a disconnected player would be such an error
2022-10-15 23:16:16 +02:00
Lion Kortlepel
75ff9f7571
remove "backend response failed to parse as valid json"
2022-10-15 23:16:16 +02:00
Lion Kortlepel
94c0547a35
fix crash when the client disconnects while sending first identify setting
2022-10-15 23:16:16 +02:00
Lion Kortlepel
98f77e157f
add WIN32_STATIC_RUNTIME option to cmake
2022-10-15 23:16:16 +02:00
Lion Kortlepel
54730d2baf
remove heartbeat spam logging
2022-10-15 23:16:16 +02:00
Lion Kortlepel
064e71e59f
fix client version check
2022-10-15 23:16:16 +02:00
Lion Kortlepel
2678234d67
dont check for -Werror=zero-as-null-pointer-constant
2022-10-15 23:16:16 +02:00
Lion Kortlepel
4320a91e5c
use message() instead of what() for ec
2022-10-15 23:16:16 +02:00
Lion Kortlepel
7d1318653c
fix boost::system::error_code
2022-10-15 23:16:16 +02:00
Lion Kortlepel
67d02d4cf2
remove unused error check
2022-10-15 23:16:16 +02:00
Lion Kortlepel
93b2559120
switch to boost 1.74
2022-10-15 23:16:05 +02:00
Lion Kortlepel
ed872f730d
link against boost::system
2022-10-06 00:57:31 +02:00
Lion Kortlepel
b25f4a875c
run on latest ubuntu
2022-10-06 00:54:57 +02:00
Lion Kortlepel
cc6b7846b2
add system include
2022-10-06 00:51:51 +02:00
Lion Kortlepel
88f5db514f
remove unused headers
2022-10-06 00:46:35 +02:00
Lion Kortlepel
e595192829
rename header to boost errc
2022-10-06 00:43:17 +02:00
Lion Kortlepel
c69418ea5e
add boost_system dependency for linux gh actions
2022-10-06 00:40:39 +02:00
Lion Kortlepel
917e3f98ab
fix github actions dependencies for linux to use proper boost version
2022-10-06 00:36:57 +02:00
Lion Kortlepel
c42a523532
remove SO_SNDTIMEO for now
2022-10-06 00:24:13 +02:00
Lion Kortlepel
95ae0f5d03
fix 'Od' and 'Or' packets not being broadcast
2022-10-05 22:17:56 +02:00
Lion Kortlepel
fc0a509bd9
fix clientversion parameter in heartbeat
2022-10-05 21:15:11 +02:00
Lion Kortlepel
6249397fb5
add libboost-all-dev to github actions
...
it's a new dependency
2022-10-05 20:50:28 +02:00
Lion Kortlepel
231b13a0e7
fix a ghost client bug
2022-10-05 18:17:18 +02:00
Lion Kortlepel
7d2e4d4581
replace tcp networking with boost::asio tcp networking
2022-10-05 18:17:04 +02:00
Lion Kortlepel
7446526a19
fix binding of udp server socket
...
it was not binding properly because it wasn't open()ed, i guess
2022-10-05 13:06:36 +02:00
Lion Kortlepel
6e97a3cd6e
switch udp networking to boost implementation
2022-10-05 12:14:25 +02:00
Lion Kortlepel
30482d290a
add boost 1.75 dependency
...
this should be available on most platforms.
boost allows us to simplify a LOT of code.
2022-10-05 11:50:15 +02:00
Lion Kortlepel
5f1d003077
fix various potential crashes in TServer::HandlePosition
2022-10-03 17:06:32 +02:00
Lion Kortlepel
5d3dff3c88
add identifiers (beammp id, ip) as an argument to onPlayerAuth
2022-10-03 15:31:32 +02:00
Lion Kortlepel
cb0cb30797
fix windows compiler not understanding a CLEAR AND SIMPLE FUNCTION-STYLE
...
CONSTRUCTOR CALL
AHHHHHHH
2022-10-03 15:12:59 +02:00
Lion Kortlepel
1f14de2e71
revert 9c6127a105 and apply proper fix
2022-10-03 15:11:26 +02:00
Lion Kortlepel
658b37acac
fix error sometimes not displaying when failing inside global event handler
2022-10-03 14:38:19 +02:00
Lion Kortlepel
d63c84286e
replace logging functions with new fmt versions in ParseVehicle
2022-10-01 22:25:45 +02:00
Lion Kortlepel
9c6127a105
fix bug which may cause a server to crash when a car is spawned
...
thanks @Anonymous275
2022-10-01 19:10:21 +02:00
Lion Kortlepel
a1d99c0203
update commandline library
...
includes a fix for alpine
2022-09-27 23:07:30 +02:00
Lion Kortlepel
10dff185e0
change changelog to correctly say "Util.Json*", not MP
2022-09-27 17:25:18 +02:00
Lion Kortlepel
dd17b95427
add changelog message about MP.TriggerClientEventJson
2022-09-27 17:02:25 +02:00
Lion Kortlepel
1a9872db00
fix unhandled return value of fread in TConfig::TConfig unit test
2022-09-27 15:49:55 +02:00
Lion Kortlepel
dbb01998ea
fix ignored return value in getch_
2022-09-26 12:24:44 +02:00
Lion
3c4737a145
fix colon in changelog once more, thanks to github's editor being bad
2022-09-26 12:23:30 +02:00
Lion
36e8ba1614
fix colon in changelog to be in proper code quotes
2022-09-26 12:22:22 +02:00
Lion Kortlepel
988f19fd00
fix getch_ to explicitly ignore read() return value
2022-09-26 12:20:07 +02:00
Lion Kortlepel
b145c8159e
update changelog to add HOME and END button, fix ip comment
2022-09-26 12:12:16 +02:00
Lion Kortlepel
ae517b30c0
fix bug which caused updates to only check the first URL
2022-09-26 12:04:42 +02:00
Lion Kortlepel
e638c25f70
change assertions to print the error in release builds
...
this should make it easier to debug crashes in the server remotely in
release builds when sentry is down.
2022-09-26 12:03:57 +02:00
Lion Kortlepel
24c98eb2b2
add more compile-time diagnostics, implement fixes for them
...
Before, a lot of common errors went unnoticed, due to insufficient
compiler diagnostics. This commit fixes this by adding a lot of new
diagnostics, and fixing the issues found by this.
2022-09-26 12:02:05 +02:00
Lion
501fddadc6
Merge pull request #127 from BeamMP/feature-betterautocomplete
...
Feature: Better autocomplete
2022-09-26 10:44:15 +02:00
Lion Kortlepel
6da9a921d0
fix "init and reset termios" unit test
...
it was testing via memory-equality, which is not valid.
2022-09-26 01:14:08 +02:00
Lion Kortlepel
a8333359ce
update commandline to work with new autocomplete
2022-09-26 00:17:23 +02:00
Lion
78f7cdc17a
Merge branch 'master' into rc-v3.1.0
2022-09-25 19:50:12 +02:00
Lion Kortlepel
36a1da3218
fix TServer::HandlePosition declaration
...
it was different from the implementation
2022-09-14 20:59:07 +02:00
Lion Kortlepel
23e9941704
update linux and windows workflows to run on pr open, reopen, review submit
2022-09-14 20:42:25 +02:00
Lion
469eb78c80
Merge pull request #123 from 20dka/rc-v3.1.0
...
Add MP.GetPositionRaw() with lua fixes and features
2022-09-14 20:41:33 +02:00
Lion Kortlepel
af5658d0e1
update toml11
2022-09-14 20:41:00 +02:00
Lion Kortlepel
1062e29582
update sentry-native
2022-09-14 20:41:00 +02:00
Lion Kortlepel
ec9a280d30
update libzip
2022-09-14 20:41:00 +02:00
Lion Kortlepel
784bbd4f6b
update fmt
2022-09-14 20:41:00 +02:00