Lion Kortlepel
9927d2befb
add toml11 submodule
2024-09-18 15:58:55 +02:00
Lion Kortlepel
60f88916a9
remove toml11 from vcpkg.json
2024-09-18 15:51:11 +02:00
Lion Kortlepel
a147edd31a
update to toml11 v3.4.1
2024-07-28 10:50:01 +02:00
Lion Kortlepel
9db3619cd8
cleanup and add comments to traceback feature
2024-07-14 01:50:31 +02:00
Lion Kortlepel
6f4c3f0ceb
add traceback to lua errors by way of shitty lua hacks
2024-07-14 01:43:01 +02:00
Lion
72022e3349
Refactor config, add settings command ( #295 )
...
Fix #158
2024-06-26 14:24:24 +02:00
Lion
a9385c47e1
Adjust allow guests feature in heartbeat to follow Backend#33 ( #341 )
...
https://github.com/BeamMP/Backend/issues/33
2024-06-20 09:00:13 +02:00
Lion
1e9c4e357c
adjust allow guests feature in heartbeat to follow Backend#33
...
https://github.com/BeamMP/Backend/issues/33
2024-06-20 08:58:58 +02:00
Lion
a998a7c091
Reuse HTTP connections ( #339 )
...
fix #223
2024-06-16 03:10:29 +02:00
Lion
33b5384398
Add config setting to allow/deny guests ( #335 )
...
fix #247
2024-06-11 09:01:49 +02:00
Lion
8b94b1f0ef
Add an entry in serverconfig.toml for the time between update reminders ( #329 )
...
fix #321
2024-06-10 22:59:09 +02:00
Lion
2fcb53530a
Add more info to return to backend's /pkToUser endpoint ( #332 )
...
Features added were tested through a custom client (since @sla-ppy is
too cheap to own the game) with @lionkor while pair programming.
Fixes : #303
2024-06-01 12:25:01 +02:00
Lion
93192fd9b5
Fix #326 Arch Compile Issue "copy_n is not a member of 'std';" ( #327 )
...
added ```#include <algorithm>``` to Common.h, needed for "copy_n"
2024-05-24 23:01:48 +02:00
Lion
a3670bff4a
Add platform, lua, openssl version to version command, show lua version on startup ( #325 )
...
Closes #300
2024-05-24 12:58:30 +02:00
Lion Kortlepel
04e8d00daa
fix invalid default initialization in SettingsMap
2024-05-24 09:07:54 +02:00
Lion
fd2f713485
bump version
2024-05-21 08:52:05 +02:00
Lion
c880460a55
Fix macos compile Issue ( #324 )
...
Related [Issue 206](https://github.com/BeamMP/BeamMP-Server/issues/206 )
2024-05-19 12:57:49 +02:00
Lion Kortlepel
31ce0cc7de
add unit test + concept constraints for set(string)
2024-05-17 11:08:05 +02:00
Lion Kortlepel
3a8f4ded29
fix errors in Settings::set
2024-05-17 10:50:50 +02:00
Lion
5f9726f10f
Use hard disconnect instead of ClientKick in timeout ( #320 )
2024-05-11 13:00:25 +02:00
Lion Kortlepel
fcd408970b
always initialize ping timer
2024-05-11 12:44:41 +02:00
Lion
cf5ebcbd1a
Fix lua number (int vs double) handling, add lua unit tests for json encode + decode, fix empty array or table serializing to null ( #319 )
2024-05-11 12:19:13 +02:00
Lion
c9d926f9e3
Fix Lua assert error when adding values to tables (e.g. in event arguments) ( #318 )
...
When adding elements to a table, the .add() function does not behave as
expected in various cases, making it really shit and difficult to use.
Instead, we keep our own index and just add one by one. It works, and
it's easy to understand.
This may lead to indices which are nil, i.e. non-fully-sequential
tables, but I can't be asked to worry about it because that shouldn't be
an issue when we use .set() everywhere.
2024-05-11 12:18:56 +02:00
Lion Kortlepel
9f47978f0f
use hard disconnect insteadof clientkick
2024-05-11 12:17:02 +02:00
Lion Kortlepel
a0f649288e
fix lua number handling, add lua unit tests for json encode + decode
2024-05-10 15:54:52 +02:00
Lion Kortlepel
b995a222ff
bump version
2024-05-10 14:57:22 +02:00
Lion Kortlepel
c5dff8b913
fix lua assertion on event argument passing
...
When adding elements to a table, the .add() function does not behave as
expected in various cases, making it really shit and difficult to use.
Instead, we keep our own index and just add one by one. It works, and
it's easy to understand.
This may lead to indices which are nil, i.e. non-fully-sequential
tables, but I can't be asked to worry about it because that shouldn't be
an issue when we use .set() everywhere.
2024-05-10 14:45:06 +02:00
Lion
0c740ccedf
bump version
2024-05-08 12:01:33 +02:00
Lion
b0cf5c7838
Fix lua assertions crashing the server ( #198 )
...
The server would crash on a Lua plugin ASSERT() - this now instead
prints an error. May still lead to weird behavior, but less weird than a
crash.
2024-05-08 11:48:56 +02:00
Lion
586510041d
fix TriggerGlobalEvent not passing event arguments correctly ( #307 )
...
This is supposed to close #106 (The code is by @lionkor from
https://github.com/BeamMP/BeamMP-Server/commit/b068a9b48f21cc80c6aa2ae3580fc9a5e3d411e0 )
2024-05-08 11:47:23 +02:00
Lion
1794c3fe45
Add Lua execution profiler Util.DebugExecutionTime() ( #267 )
...
Adds `Util.DebugExecutionTime()`, which returns a table of
`function_name: milliseconds`, in which each function's execution time
is averaged over all time.
You can call this function like so:
```lua
-- event to print the debug times
MP.RegisterEvent("printStuff", "printStuff")
-- prints the execution time of all event handlers
function printStuff()
print(Util.DebugExecutionTime())
end
-- run every 5 seconds (or 10, or 60, whatever makes sense for you
MP.CreateEventTimer("printStuff", 5000)
```
Pretty print function:
```lua
function printDebugExecutionTime()
local stats = Util.DebugExecutionTime()
local pretty = "DebugExecutionTime:\n"
local longest = 0
for name, t in pairs(stats) do
if #name > longest then
longest = #name
end
end
for name, t in pairs(stats) do
pretty = pretty .. string.format("%" .. longest + 1 .. "s: %12f +/- %12f (min: %12f, max: %12f) (called %d time(s))\n", name, t.mean, t.stdev, t.min, t.max, t.n)
end
print(pretty)
end
```
`Util.DebugExecutionTime()` returns a table, where each key is an event
handler function name, and each value is a table consisting of `mean`
(simple average), `stddev` (standard deviation aka mean of the
variance), `min` and `max`, all in milliseconds, as well as `n` as the
number of samples taken.
2024-05-08 11:46:02 +02:00
Lion
ee599e970d
Make Plugin load order deterministic (alphabetic) ( #315 )
...
Add Feature / Fix : #306
2024-05-08 11:31:34 +02:00
Lion Kortlepel
40158dc252
fix compile error
2024-05-08 11:31:12 +02:00
Lion
4d7967d5d9
bump version ( #314 )
2024-05-06 14:37:50 +02:00
Lion Kortlepel
5dd4c97ed1
bump version
2024-05-06 14:37:34 +02:00
Lion
13390c5388
Remove backup1, backup2 backend endpoints ( #313 )
2024-05-06 12:05:30 +02:00
Lion Kortlepel
2f995a71ae
remove backup1, backup2 endpoints
2024-05-06 12:04:56 +02:00
Lion
3b5c6491a3
Fix timeout for synced players ( #289 )
...
Fix : #275 .
While I was at it, I also refactored the debug output so its more
appealing to read.
I dont see further ways to improve on this currently.
2024-05-06 12:02:31 +02:00
Lion
a3c4b82a5d
Allow provider to define server port ENV via BEAMMP_PROVIDER_PORT_ENV ( #244 )
2024-05-06 11:59:28 +02:00
Lion Kortlepel
3b0e49fb06
add /bigobj to fix compiling on windows
2024-05-06 11:56:26 +02:00
Lion Kortlepel
cf8f10b949
add --port=value argument
2024-05-06 11:56:26 +02:00
Lion Kortlepel
6f50cad76b
add BEAMMP_PROVIDER_PORT_ENV to allow provider to change which ENV
...
variable the port is fetched from
2024-05-06 11:56:26 +02:00
Lion
03d91b1f4d
Disable server config generation via ENV variable BEAMMP_PROVIDER_DISABLE_CONFIG ( #240 )
2024-05-06 11:53:57 +02:00
Lion Kortlepel
e407d246e2
update vcpkg
2024-05-06 11:47:00 +02:00
Lion Kortlepel
234bdf5877
add ENV variable to disable config generation and parsing
2024-05-06 11:46:21 +02:00
Lion
c3b4528c89
Add lua Util.LogInfo(), Util.LogError(), etc. functions ( #309 )
...
```lua
Util.LogInfo("Hello, World!")
Util.LogWarn("Cool warning")
Util.LogError("Oh no!")
Util.LogDebug("hi")
```
now produces
```
[19/04/24 11:06:50.142] [Test] [INFO] Hello, World!
[19/04/24 11:06:50.142] [Test] [WARN] Cool warning
[19/04/24 11:06:50.142] [Test] [ERROR] Oh no!
[19/04/24 11:06:50.142] [Test] [DEBUG] hi
```
where `Test` is the lua state id.
2024-05-06 11:39:12 +02:00
Lion Kortlepel
5cf6d1d228
add Util.LogDebug
2024-04-20 20:16:57 +02:00
Lion Kortlepel
65017d0834
add lua log to test common
2024-04-19 11:35:39 +02:00
Lion Kortlepel
1237e7e533
add lua logging facilities as Util.Log*() functions
2024-04-19 11:10:50 +02:00
Lion Kortlepel
7e1f86478d
make mutex mutable
2024-03-07 01:03:16 +01:00
Lion Kortlepel
c85e026c2d
cleanup
2024-03-07 00:45:00 +01:00
Lion Kortlepel
e4826e8bf1
remove test code
2024-03-07 00:42:36 +01:00
Lion Kortlepel
590b159f14
switch to a runnning calculation for stdev and mean
2024-03-07 00:25:47 +01:00
Lion Kortlepel
40533c04bc
add total calls to stats
2024-03-06 10:27:22 +01:00
Lion Kortlepel
946c1362e1
add custom profiling via Debug(Start|Stop)Profile
2024-03-06 10:27:22 +01:00
Lion Kortlepel
4347cb4af2
add min, max, stddev to stats
2024-03-06 10:27:22 +01:00
Lion Kortlepel
88721d4f7f
add boost circular buffer to dependencies
2024-03-06 10:27:22 +01:00
Lion Kortlepel
7deea900fb
add Util.DebugExecutionTime
2024-03-06 10:27:22 +01:00
Lion Kortlepel
cbc1483537
add profiling code
2024-03-06 10:27:22 +01:00
Lion
e2d7721438
Update lionkor/commandline to v2.4.2 ( #265 )
...
This fixes stdin/stdout redirect on windows.
2024-02-24 20:41:17 +01:00
Lion
0146a1cbe8
Housekeeping ( #293 )
2024-02-24 20:36:12 +01:00
Lion Kortlepel
352a3aa536
update contributing
2024-02-15 17:38:21 +01:00
Lion Kortlepel
ac8c386c61
run gh workflows on PR and push differently
2024-02-15 17:38:21 +01:00
Lion Kortlepel
d1fb15fc9a
run ci/cd on PR open, reopen and ready for review
2024-02-15 17:38:21 +01:00
Lion Kortlepel
f376d9f7be
update vcpkg
2024-02-15 17:38:21 +01:00
Lion Kortlepel
2f3dcfeb5a
update commandline
2024-02-15 17:38:21 +01:00
Lion
913ba1c793
Link to the docs instead of the wiki in ServerConfig.toml ( #291 )
...
Changed the update message as well.
Closes #290
2024-02-15 12:38:48 +01:00
Lion
9a0c9d3ce4
Fix unicycle counting as car ( #288 )
...
Fixes #246 .
2024-02-15 10:13:49 +01:00
Lion
bef623a281
Fix assigment of ID's so two unique users dont get the same ID ( #277 )
...
Closes #154
2024-02-08 23:58:18 +01:00
Lion
5f5af9b0a7
Add version command ( #274 )
...
closes #148
2024-02-07 21:51:41 +01:00
Lion
e72c217e63
Remove all unused platforms from FUNDING.yml
2024-01-25 12:14:25 +01:00
Lion
75bae8ee5a
Create FUNDING.yml
2024-01-25 12:14:25 +01:00
Lion
b9c9f22feb
Update README.md
2024-01-23 21:04:37 +01:00
Lion
a3ca9573a5
Update LICENSE
2024-01-23 21:00:11 +01:00
Lion Kortlepel
aff537afdf
add AGPL-3.0 license header
2024-01-23 21:00:11 +01:00
Lion Kortlepel
acc2dd29e9
update lionkor/commandline to v2.4.2
...
this fixes stdin/stdout redirect on windows
2024-01-23 19:19:29 +01:00
Lion
39badf432d
remove whitespace
2024-01-17 13:15:30 +01:00
Lion Kortlepel
9915c83363
fix release arm64 workflow
2024-01-15 14:49:17 +01:00
Lion Kortlepel
9f5a30a871
fix windows build wrongly calling vcpg from the submodule
2024-01-15 14:49:17 +01:00
Lion Kortlepel
6832fd05d6
remove --build-id=none from build flags
2024-01-15 14:49:17 +01:00
Lion Kortlepel
c6aa7776fc
make update message adjustable by provider
2024-01-09 17:41:05 +01:00
Lion
b0f5976121
Update release.yml to fix release message
2024-01-09 15:35:47 +01:00
Lion Kortlepel
1bd47fa649
add noninteractive flag for debian/ubuntu
2024-01-09 15:35:47 +01:00
Lion Kortlepel
0e924d0d51
fix bootstrap call
2024-01-09 15:35:47 +01:00
Lion Kortlepel
70a7a41882
add vcpkg bootstrap step
2024-01-09 15:35:47 +01:00
Lion Kortlepel
6ee816d10d
add lua to vcpkg dependencies on windows
2024-01-09 15:35:47 +01:00
Lion Kortlepel
8695413211
add ubuntu 20.04, debian 12 scripts
2024-01-09 15:35:47 +01:00
Lion Kortlepel
52c5a995cc
fix wrong action dependency
2024-01-09 15:35:47 +01:00
Lion Kortlepel
9d5568dc56
make all ci/cd build actions matrix generic
2024-01-09 15:35:47 +01:00
Lion
c62a1b6add
add arm64 builds to github actions
...
Update linux.yml to build ARM64 binaries for debian11
update linux.yml to fix incorrect runs-on tags
add ubuntu 22.04 arm64 build
Update linux.yml
Update linux.yml
Update linux.yml
Update linux.yml
Update linux.yml
Update linux.yml
Update 2-configure.sh
Update 2-configure.sh
Update 1-install-deps.sh
Update 1-install-deps.sh
Update 2-configure.sh
Update 2-configure.sh
Update linux.yml
use get-cmake
update vcpkg
force arm64 triplet
2024-01-09 15:35:47 +01:00
Lion Kortlepel
4228e18c90
reset default ID to 0
2024-01-09 15:34:33 +01:00
Lion Kortlepel
023e968302
refactor position packet handling, add regression tests
2024-01-09 15:34:33 +01:00
Lion Kortlepel
a4eb10b6a4
fix MP.GetPositionRaw
2024-01-09 15:34:33 +01:00
Lion Kortlepel
0166e488d0
fix calling GlobalParser as static
2024-01-09 15:34:33 +01:00
Lion Kortlepel
0836fd3af8
fix bug in HandlePosition which caused the vehicle position not to be
...
saved properly
2024-01-09 15:34:33 +01:00
Lion Kortlepel
9791b8875c
fix wrong order of SendErrorsShowMessage and SendErrors
2024-01-09 15:34:16 +01:00
Lion
01e8a1644a
Bump version to v3.2.2 ( #253 )
2024-01-08 19:40:00 +01:00
Lion Kortlepel
cebb2634a1
bump version
2024-01-08 17:43:54 +01:00
Lion
21a7ca1b64
Update README.md to remove mention of scripts and add ARM instructions ( #243 )
2023-12-30 15:07:39 +01:00
Lion
bd4ab2b10d
Update README.md
2023-12-30 10:22:12 +01:00