351 Commits

Author SHA1 Message Date
Lion Kortlepel
d86efabb1a
Modernize CMakeLists, automatically update submodules
CMake will now find packages in a modern way (include(Find*)), and will
also ensure that submodules are updated, unless told otherwise.

Also removed some apple-specific workarounds, we will need to look at
that again.
2022-03-30 12:14:13 +02:00
Lion Kortlepel
de82caef33
Add HideUpdateMessages setting ("ImScaredOfUpdates") and periodic update reminders (every 5th heartbeat) 2022-03-25 13:34:28 +01:00
Lion Kortlepel
f8c58f363a
Change default MaxPlayers to 8 2022-03-25 13:32:41 +01:00
Lion Kortlepel
71c2d4b859
Simplify "Backend heartbeat response" error (closes #97) 2022-03-25 12:55:35 +01:00
Lion Kortlepel
7a814ed35e
use fmt properly in beammp_*f logging functions 2022-03-24 14:45:53 +01:00
Lion Kortlepel
9e0d02c6db
add fmt library, add beammp_*f 2022-03-24 14:36:39 +01:00
Lion Kortlepel
dbfe4a4d11
Fix inconsistencies with handling errors in early network startup
In most cases, when socket creation, bind, listen, or similar fails,
it's best to gracefully shutdown. We do that now.
2022-03-24 14:06:03 +01:00
Lion Kortlepel
c1e216957b
move Json* to Util, add Random, RandomRange, RandomIntRange, catch
errors in TPluginMonitor
2022-03-18 01:52:31 +01:00
Lion Kortlepel
be498be661
change TriggerClientEvent to take object, not string, and add TriggerClientEventJson 2022-03-17 18:48:50 +01:00
20dka
3c08e54471 Add basic autocomplete (fix #95) 2022-03-15 01:58:26 +01:00
Lion Kortlepel
ca3314b416
add JsonDiffApply, JsonMinify, JsonPrettify, JsonFlatten, JsonUnflatten 2022-03-03 12:25:06 +01:00
Lion Kortlepel
7d97c3b560
add FS.ListFiles, FS.ListDirectories 2022-03-02 23:41:32 +01:00
Lion Kortlepel
9a0cdc6517
rename JsonSerialize to JsonEncode, JsonDeserialize to JsonDecode 2022-03-02 13:26:53 +01:00
Lion Kortlepel
b52677e585
Add JsonDeserialize 2022-03-02 13:22:26 +01:00
Lion Kortlepel
95b417bb36
Add MP.JsonSerialize 2022-03-02 11:43:48 +01:00
Lion Kortlepel
588c68ebe1
Use proper argument parser 2022-02-17 11:08:48 +01:00
Lion Kortlepel
548b2512cc
proper command parsing 2022-02-15 16:06:59 +01:00
Lion Kortlepel
8ff94a57d7
Add ParseCommand implementation 2022-02-15 15:34:33 +01:00
Lion Kortlepel
17c571811a
Add config option to turn off chat logging
When LogChat is disabled, using the `say` command in the console will
trigger a "chat message sent!" reply, as UX feedback.
2022-02-06 21:46:51 +01:00
Lion Kortlepel
fdb7c9ce71
update version to 3.1.0 2022-02-03 19:57:25 +01:00
Lion Kortlepel
7b458e3e27
Use yield() where possible
Replaced calls of this_thread::sleep_* with this_thread::yield(), which
yields the thread to the OS' scheduler.
2022-02-03 19:52:18 +01:00
Lion Kortlepel
81780294f8
advance to 3.0.1 2022-02-03 19:51:59 +01:00
Lion Kortlepel
9f892af997
start fixing backend heartbeat 2022-02-03 19:51:59 +01:00
Lion Kortlepel
754053e73f
Use yield() where possible
Replaced calls of this_thread::sleep_* with this_thread::yield(), which
yields the thread to the OS' scheduler.
2022-02-03 18:57:52 +01:00
Lion Kortlepel
fd12ee672d
Add various debug functions 2022-01-26 20:33:12 +01:00
Lion Kortlepel
2a588954be
advance to 3.0.1 2022-01-20 21:31:00 +01:00
Lion Kortlepel
c42c748b37
start fixing backend heartbeat 2022-01-20 15:46:13 +01:00
Lion Kortlepel
1b14206a3c
HTTP Server disabled by default 2021-12-23 14:24:00 +01:00
Lion Kortlepel
3555cec5fe
Simplify fix for event argument bug 2021-12-13 13:48:18 +01:00
Lion Kortlepel
71efe30345
Bump to 3.0.0, possible fix for event argument bug 2021-12-13 13:22:58 +01:00
Lion Kortlepel
cd19ae0836
Add shutting down / shutdown states to state keeper 2021-12-07 14:25:04 +01:00
Lion Kortlepel
2c115a2b2c
Fix GCC pragma to not appear on windows 2021-12-06 15:04:28 +01:00
Lion Kortlepel
3cce875fbb
Add UseSSL option to server config 2021-12-06 13:47:07 +01:00
Lion Kortlepel
a1335e8c7d
Add statuses, status messages 2021-12-06 13:17:54 +01:00
Lion Kortlepel
0f74eca2ee
Fix various issues and crashes 2021-12-06 12:28:52 +01:00
Lion Kortlepel
279c93179c
Fix segfault in http 2021-12-06 10:22:52 +01:00
Lion Kortlepel
62cc1e9ce4
Http: Add config value to turn it off, move all http settings into a category in the config 2021-12-06 09:53:13 +01:00
Lion Kortlepel
bd41382233
Application::TSettings: Improve default initialisation 2021-12-06 09:00:57 +01:00
awesome_milou
9d283738aa
Add preliminary work for HTTP health endpoint (#68)
* Add preliminary work for HTTP health endpoint

* Http: Fix infinite loop bug in Tx509KeypairGenerator::generateKey()

* update commandline

* Add TLS Support class for use with http server

* Add preliminary HTTP Server; TLS still broken; fix in later commit

* Fix TLS handshake, due to server being unable to serve key/certfile in 'Http.h/Http.cpp'; Cause was httlib not being threadsafe due to being a blocking http library

* Run clang format

* Add option to configure http server port via ServerConfig

* TConfig: add HTTPServerPort to config parsing step

* Fix SSL Cert / Key path not auto generating when not existing

* Add health endpoint; Fix SSL Cert serial no. not refreshing when regenerating

* Switch arround status codes in /health route

* Run clang format

Co-authored-by: Lion Kortlepel <development@kortlepel.com>
2021-12-05 18:24:55 +01:00
Lion Kortlepel
479bb9f931
TLuaEngine: Make WaitForAll timeout optional 2021-12-05 01:32:15 +01:00
Lion Kortlepel
672c7d02d1
Common: Add lua warn 2021-12-05 01:31:44 +01:00
Lion Kortlepel
a289d0e872
Add timeout to WaitForAll 2021-12-05 01:09:41 +01:00
Lion Kortlepel
265dd710cf
add status command 2021-12-02 01:25:17 +01:00
Lion Kortlepel
c3151093e2
CMake: remove __linux completely 2021-11-29 01:42:23 +01:00
Lion Kortlepel
19d67dee95
Add GetPlayerIDByName, kick, say 2021-11-29 01:14:37 +01:00
Lion Kortlepel
fc440bea2a
Add ability to switch into other lua states 2021-11-29 00:37:00 +01:00
Lion Kortlepel
768d0466f4
Add simple command interface 2021-11-28 23:45:03 +01:00
Lion Kortlepel
fd7bea0f36
Add BEAMMP_{WINDOWS,LINUX,APPLE} preprocessor defines instead of platform specific ones 2021-11-27 02:11:22 +01:00
Lion Kortlepel
eae27633db
Add commandline arguments, implement --config, --version, --help 2021-11-26 19:04:21 +01:00
Lucca Jiménez Könings
1a2a123d87 Fix various macOS compatibility issues 2021-11-25 02:01:44 +01:00