393 Commits

Author SHA1 Message Date
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
b068a9b48f)
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
Neptnium
c605498a2d
Merge branch 'BeamMP:minor' into minor 2024-05-07 08:26:44 +02:00
Lion Kortlepel
5dd4c97ed1
bump version 2024-05-06 14:37:34 +02:00
Lion Kortlepel
2f995a71ae
remove backup1, backup2 endpoints 2024-05-06 12:04:56 +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 Kortlepel
234bdf5877
add ENV variable to disable config generation and parsing 2024-05-06 11:46:21 +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
Neptnium
d81087b5af
fix TriggerGlobalEvent not passing event arguments correctly (closes #106) 2024-04-18 18:43:04 +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
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
sla-ppy
e852245bae add mutex to openid 2024-02-08 23:29:10 +01:00
sla-ppy
913674740d add version cmd 2024-02-07 16:07:22 +01:00
Lion Kortlepel
aff537afdf add AGPL-3.0 license header 2024-01-23 21:00:11 +01:00
Lucca Jiménez Könings
9948f2412d move undef macros into Compat.h
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-01-19 14:29:05 +01:00
Lucca Jiménez Könings
f82572077f add FreeBSD build target
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-01-19 14:29:05 +01:00
Lion Kortlepel
c6aa7776fc make update message adjustable by provider 2024-01-09 17:41:05 +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
cebb2634a1
bump version 2024-01-08 17:43:54 +01:00
Lion Kortlepel
1f72a45231
bump version number 2023-12-29 01:43:03 +01:00
Lion Kortlepel
e724a2e467
Merge remote-tracking branch 'origin/master' into feature-tags 2023-12-28 13:57:49 +01:00
Lion Kortlepel
8cccbe8542
Merge remote-tracking branch 'origin/master' into 226-allow-env-to-override-serverconfig 2023-12-28 13:49:02 +01:00
Lion Kortlepel
6787843b37
pretty-print tags on startup 2023-12-28 12:58:29 +01:00
Lion Kortlepel
16d3c6f796
Merge remote-tracking branch 'origin/master' into feature-tags 2023-12-28 12:36:22 +01:00
Lion
c7e228fbae
bump version to 3.2.0
due to new features like ENV reading this is now a feature release, so minor
2023-12-28 11:56:25 +01:00
Lion Kortlepel
89db370e12
use env variables by default to override config values 2023-12-25 16:16:01 +01:00
Lion Kortlepel
ac41547123
bump version to 3.1.4 2023-12-21 13:05:33 +01:00
Lion Kortlepel
81299db946
fix console initializing too early
the console was initialized too early, leading to the server waiting for
it to shut down if the authkey is invalid, among other issues.
2023-12-21 12:49:20 +01:00
Starystars67
dc4ead532d
Changed default tag to Freeroam as that is the majority of servers. 2023-12-18 14:10:07 +00:00
Starystars67
8c73eb8aea
Added Tags Feature to the BeamMP Server. This allows better filtering on the server list. 2023-12-10 12:50:24 +01:00
Lion Kortlepel
9f01268538
update version to 3.1.3 2023-12-09 20:01:53 +01:00
Lion Kortlepel
03307e71fb
use a beammp_lua_errorf instead of a std::terminate on sol2 assertion failure 2023-12-05 18:25:27 +01:00
Lion Kortlepel
dea203c108
make IThreaded::~IThreaded virtual to make destruction happen 2023-12-05 18:03:13 +01:00
Lion Kortlepel
e245c9e9e2
fix pps monitor warning about virtual dtor 2023-12-05 18:02:35 +01:00
Lion Kortlepel
667da22b0e
Merge remote-tracking branch 'origin/master' into new-buildsystem 2023-12-05 17:59:05 +01:00
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
7f206fd0d4
bump version to 3.1.2 2023-12-03 17:49:12 +01:00
rgnter
222d2492ff
Merge branch 'master' into optimize/add_cv_to_luaresult 2023-03-21 20:17:17 +01:00
Anonymous275
c51cf090ef fix linux build 2023-01-15 17:12:35 +00:00