Commit Graph

953 Commits

Author SHA1 Message Date
Lion Kortlepel f40d4c1ddd add 'P' packet on UDP
this can be used to check if UDP works :)
2024-10-13 22:13:05 +02:00
Lion c39beb5b72 reuse minclientversion where possible
Co-authored-by: Tixx <83774803+WiserTixx@users.noreply.github.com>
2024-10-09 18:03:01 +02:00
Lion Kortlepel 7dd2d89ad9 clarify auth version reject message 2024-10-09 16:48:40 +02:00
Lion Kortlepel 3403c8acba fix version check on auth 2024-10-09 16:44:38 +02:00
Lion Kortlepel 0a6eecee69 report correct client minimum version to the backend 2024-10-09 16:37:16 +02:00
Lion cf3985ce00 Add Lua function to get a player's role (#366)
Adds `MP.GetPlayerRole(player_id)` to the Lua API to get a player's role
("USER", "EA", "MDEV", "STAFF", "ET") by their player id.
Currently you can only get someone's role in onPlayerAuth from the
parameters and in onVehicleSpawned and onVehicleEdited from the packet
data, but not in onPlayerJoin for example without storing it.
2024-10-05 16:09:37 +02:00
Lion 077bb6b1cd Add player limit bypass to onPlayerAuth (#372)
With this PR, returning 2 in onPlayerAuth will allow the player to join
without checking if the server is full. This makes it easier for plugin
developers to allow for example their staff to join without having to
change the max player count.
2024-10-05 16:07:53 +02:00
Lion 0850cde1fb Add MP.SendNotification (#373)
Adds MP.SendNotification(message, icon, category (optional) ) to the Lua
api. Uses the newly added "N" packet in the mod.
2024-10-05 16:07:27 +02:00
Lion 611e53b484 Mod hashing + better download (#374) 2024-10-04 23:29:11 +02:00
Tixx f039f57f11 Fix error messages on sendnotification 2024-10-04 20:24:30 +02:00
Lion Kortlepel 5d34090952 fix stupid read size error leading to corrupt zip 2024-09-29 01:34:38 +02:00
Lion Kortlepel 88ca17236a remove two-socket download 2024-09-29 01:15:48 +02:00
Lion Kortlepel a4b62d013c implement mod hashing + new download 2024-09-29 00:32:52 +02:00
Tixx 9a0270cb09 Return nil instead of "" when there's no client 2024-09-28 21:05:04 +02:00
Tixx bb3c762d68 Add player limit bypass to onPlayerAuth 2024-09-28 14:52:04 +02:00
Tixx 3ade7f5743 Add MP.SendNotification 2024-09-28 13:35:25 +02:00
Tixx 9d44c2063c Remove break after return 2024-09-22 15:34:13 +02:00
Tixx 17185da53b Add MP.Get 2024-09-21 23:17:08 +02:00
Tixx 623dfa17d5 Remove expiry check and add braces 2024-09-20 14:45:41 +02:00
Lion 7f69e336a9 Fix exception propagation on packet decompression (#365) 2024-09-20 11:39:36 +02:00
Deer McDurr a9dee2bec5 fix MaxPlayers using value of MaxCars 2024-09-19 22:15:12 +02:00
Lion Kortlepel 73f494041a fix exception propagation on packet decompression 2024-09-19 16:59:17 +02:00
Tixx caafb216c9 Add MP.GetPlayerRole(player_id) 2024-09-19 07:51:07 +02:00
Lion 63b2a8e4a3 Add post event(s) (#364)
Adds `post*` events which are triggered after the respective `on*` event
has completed and the results have been sent.

They have the same arguments as the `on*` function, with the exception
that another argument is added in the beginning which contains whether
the `on*` variant was cancelled.
2024-09-19 01:37:17 +02:00
Lion a7a19d9a30 Fix disconnect not calling onVehicleDeleted (#336)
OnDisconnect sent a packet to the client, which was already
disconnected.
2024-09-18 18:08:46 +02:00
Lion Kortlepel 3068a0e5c4 add back car deletion 2024-09-18 16:46:11 +02:00
Lion Kortlepel f70514a021 add postVehicleEdited
why the fuck is it in past tense
2024-09-18 16:34:56 +02:00
Lion Kortlepel 94768c916d add postChatMessage 2024-09-18 16:30:49 +02:00
Lion Kortlepel 86b37e8ae1 move postPlayerAuth later again, after client insert 2024-09-18 16:26:26 +02:00
Lion Kortlepel 8f9db10474 move postPlayerAuth to after kick 2024-09-18 16:26:20 +02:00
Lion Kortlepel afa5a04043 add postPlayerAuth 2024-09-18 16:26:16 +02:00
Lion Kortlepel 4444be0af9 add postVehicleSpawn event 2024-09-18 16:26:11 +02:00
Lion 5f7207bc52 Move toml11 out of vcpkg since the toml11 authors broke it (#352) 2024-09-18 16:18:38 +02:00
SaltySnail 0cc73e70c9 fix onVehicleDeleted not being triggered when onVehicleSpawn is triggered 2024-09-15 20:26:20 +02:00
SaltySnail bfb2086e05 fix all other places where onVehicleDeleted isn't triggered after a delete packet is sent 2024-09-15 20:26:20 +02:00
SaltySnail 9d67838f8f fix #225 2024-09-15 20:26:20 +02:00
Lion ce5f2e666d Download Refactoring (#356)
Limits download RAM usage (to zero) on Linux by use of `sendfile(2)`
2024-08-31 20:32:23 +02:00
20dka ee03afb9a1 fix gh linux build 2024-08-29 20:17:01 +02:00
20dka f775678e2e support for nested lua handlers 2024-08-28 22:46:37 +02:00
20dka 45bb6ca6f3 fill out lua EventName 2024-08-28 22:15:57 +02:00
SaltySnail f5f6b8534d Add IPv6 support (#349)
Adds IPv6 support.

FreeBSD users beware: From this point forward, you will have to set
`sysctl net.inet6.ip6.v6only=0` so that the BeamMP-Server continues to
work. The server also prints this information.
2024-08-20 20:35:48 +02:00
Lion Kortlepel f3627ce0bf Merge branch 'fix-little-issues' into minor 2024-07-28 10:54:55 +02:00
Lion Kortlepel e1aaaf5e63 Merge branch 'fix-little-issues' into minor 2024-07-28 10:52:33 +02:00
Lion Kortlepel a147edd31a update to toml11 v3.4.1 2024-07-28 10:50:01 +02:00
SaltySnail 4a062e5aa0 Fix not following naming convention
Co-authored-by: Lion <development@kortlepel.com>
2024-07-27 19:50:24 +02:00
Lion Kortlepel 49ed82bea1 add more info to debug print for freebsd ipv6 support 2024-07-16 17:30:45 +02:00
Lion Kortlepel 0d848fda7c add warning about IPV6_V6ONLY=false not working on FreeBSD 2024-07-16 17:25:29 +02:00
Lion baa2c86e25 fix typo in DeComp buffer size logic 2024-07-15 12:35:32 +02:00
Lion 0950d367d4 refactor decompression limits and resizing 2024-07-15 12:31:09 +02:00
Lion 8b21b6cef3 add comments to DeComp() magic numbers 2024-07-15 12:26:08 +02:00