863 Commits

Author SHA1 Message Date
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
2b61f11a86
fix EnsureArgsCount not properly printing min/max 2022-10-31 11:24:13 +01: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
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
92632b53b5
fix binary data breaking in UDPRcvFromClient 2022-10-15 23:30:09 +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
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
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
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
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
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
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 9c6127a105728afca7b1b7a45d7380fc88d2070d 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
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 Kortlepel
988f19fd00
fix getch_ to explicitly ignore read() return value 2022-09-26 12:20:07 +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
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 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
20dka
b71aa2db04
advanced autocomplete for lua 2022-09-26 00:13:16 +02:00
20dka
4b242c26fc optimize function argument passing in GetPidVid, TServer::HandlePosition 2022-09-14 18:53:44 +02:00
20dka
a84d042a8a add error messages to some lua events 2022-09-14 12:45:40 +02:00
20dka
44b94c9e58 add MP.GetPositionRaw(pid, vid)
fix vehicles sometimes not deleting for all players
2022-09-14 01:54:49 +02:00
Lion Kortlepel
054016a099
remove debug print 2022-07-20 16:08:56 +02:00
Lion Kortlepel
8b57f6e35a
fix missing Lua error messages in ResultCheckThread 2022-07-20 16:07:00 +02:00
Lion Kortlepel
f21d3d0389
fix bug which caused Lua hot-reload not to report syntax errors 2022-07-20 14:56:58 +02:00