1359 Commits

Author SHA1 Message Date
Lion Kortlepel
a0f649288e
fix lua number handling, add lua unit tests for json encode + decode 2024-05-10 15:54:52 +02:00
Lion
0c740ccedf
bump version v3.4.0 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
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
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
Neptnium
5ece60574a
Make Plugin load order deterministic
fix typo "mResourceServerPath" named "mFolder"

Fix typo number 2
2024-05-08 11:31:05 +02:00
Neptnium
c605498a2d
Merge branch 'BeamMP:minor' into minor 2024-05-07 08:26:44 +02:00
Lion
4d7967d5d9
bump version (#314) 2024-05-06 14:37:50 +02:00
Lion Kortlepel
5dd4c97ed1
bump version v3.3.0 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
sla-ppy
db8719b5cd fix timeout for synced players 2024-05-06 12:02:16 +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
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
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
sla-ppy
a0d9be18b7 documentate unicycle dirty fix 2024-02-14 13:51:37 +01:00
alex.ita
87d2e3355a
Update Common.cpp 2024-02-14 11:56:02 +01:00
alex.ita
afb3763eab
Update TConfig.cpp 2024-02-14 11:51:24 +01:00
sla-ppy
9de5a08b0c dirty fix unicycle counting as car 2024-02-12 01:24:17 +01:00