Commit Graph

1616 Commits

Author SHA1 Message Date
SaltySnail 91bc7dea79 Update src/TNetwork.cpp
Co-authored-by: Lion <development@kortlepel.com>
2024-06-10 23:12:23 +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
SaltySnail 5dab48af92 fix #247, add allow guests config setting. 2024-06-10 22:06:09 +02:00
SaltySnail f3060f5247 change default from 3h to 30s 2024-06-08 20:24:46 +02:00
SaltySnail c61816dfeb fix 0....2h being allowed as time format 2024-06-01 23:42:44 +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
sla-ppy cee039d922 Merge branch 'BeamMP:minor' into fix_303 2024-05-30 19:15:06 +02:00
sla-ppy 566f0b55f7 remove debug info 2024-05-28 14:53:19 +02:00
sla-ppy 58a7e39419 add more info to return to pkToUser endpoint 2024-05-28 14:15:41 +02:00
SaltySnail bf7f1ef1a5 change update reminder frequency description to include an example of using a float 2024-05-25 21:59:34 +02:00
SaltySnail e35bf4fe15 change TimeFromStringWithLiteral to work with floats 2024-05-25 21:43:54 +02:00
SaltySnail 419a951c29 change wrong version number
lol

Co-authored-by: Lion <development@kortlepel.com>
2024-05-25 20:45:53 +02:00
SaltySnail 135008a73c Change time_str to be a reference
Co-authored-by: Lion <development@kortlepel.com>
2024-05-25 20:44:51 +02:00
SaltySnail 29c3fed374 fix #321 2024-05-25 20:34:33 +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
redracer eea041e8eb Fix #326 Arch Compile Issue "copy_n is not a member of 'std';"
added #include <algorithm> to Common.h, needed for "copy_n"
2024-05-24 16:10:37 -04: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
sla-ppy 1b60e89f26 add lua info on LuaEngine startup 2024-05-24 12:31:01 +02:00
sla-ppy 06e5805428 change version cmd behaviour 2024-05-24 12:12:20 +02:00
Lion Kortlepel 04e8d00daa fix invalid default initialization in SettingsMap 2024-05-24 09:07:54 +02:00
Lucca Jiménez Könings d30dccc94a Separate settings tests
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-05-21 14:24:44 +02:00
Lucca Jiménez Könings 84f5f95e54 Refactor: feedback from code review
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-05-21 13:40:33 +02:00
Lucca Jiménez Könings 67db9358e1 Fix concepts related error (for compat with gcc9)
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-05-21 11:50:46 +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
Maximilian Rehms 7f54bcfaec successful implemented suggested change to "lua_nil"
Co-authored-by: Lion <development@kortlepel.com>
2024-05-18 22:36:57 +02:00
Maximilian Rehms 785c5343cd removed warnig suppression 2024-05-18 15:11:42 +02:00
Maximilian Rehms 40e5496819 compiles now on macos 2024-05-18 15:06:26 +02:00
Lucca Jiménez Könings 4c9fbc250a Change concepts in Settings.set + add test for remaining set overloads
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-05-17 11:53:51 +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
Lucca Jiménez Könings f567645db6 Add issue with implicit argument type conversions for Settings.set()
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-05-15 13:40:25 +02:00
Lucca Jiménez Könings 3609fd77ec Potential fix for compiler issues on Ubuntu
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-05-15 13:15:54 +02:00
Lucca Jiménez Könings a5e3fc8fb9 Add Sync.h
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-05-15 12:57:08 +02:00
Lucca Jiménez Könings bcd4b5a235 Fix Debug asserts on FreeBSD
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-05-15 12:54:50 +02:00
Lucca Jiménez Könings 8c15b87628 Refactor all references to settings to use new Settings type
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-05-15 12:52:09 +02:00
Lucca Jiménez Könings 13e641b3a3 Remove interfering legacy code (http,password,etc)
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-05-15 12:45:19 +02:00
Lion 5f9726f10f Use hard disconnect instead of ClientKick in timeout (#320) v3.4.1 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 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
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