Lion Kortlepel
5468e5c854
make the compiler happy
2024-02-05 20:22:22 +01:00
Lion Kortlepel
a0241d1b36
replace literally the entire lua engine
2024-02-05 19:49:39 +01:00
Lion Kortlepel
55fff0138b
remove old lua stuff
2024-02-05 19:49:16 +01:00
Lion Kortlepel
94ea20b6b7
add AGPL-3.0 license header
2024-02-05 19:48:46 +01:00
Lucca Jiménez Könings
f5532ec105
remove unecessary comment
...
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-02-05 19:48:31 +01:00
Lucca Jiménez Könings
9c44c1fbe8
move undef macros into Compat.h
...
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-02-05 19:48:31 +01:00
Lucca Jiménez Könings
0bc3676e8e
document FreeBSD specific undefs
...
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-02-05 19:48:31 +01:00
Lucca Jiménez Könings
fb0590653d
fix typo
...
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-02-05 19:48:31 +01:00
Lucca Jiménez Könings
b053c3c22f
fix tests on FreeBSD
...
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-02-05 19:48:31 +01:00
Lucca Jiménez Könings
cd9f8e3056
add FreeBSD build target
...
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-02-05 19:48:31 +01:00
Lion Kortlepel
d0cc23333c
ensure client stays referenced while referenced in thread pool
2024-01-26 10:32:41 +01:00
Lion Kortlepel
c173ffdbdc
implement state change to playing
2024-01-25 12:12:06 +01:00
Lion Kortlepel
7d813f7562
use a single strand per client to avoid writing to tcp out of order
2024-01-25 08:52:11 +01:00
Lion Kortlepel
8654beb706
implement most of the Playing state, vehicle positions, vehicle data
2024-01-22 18:23:50 +01:00
Lion Kortlepel
630d5f1cfa
implement session sync
2024-01-22 16:56:07 +01:00
Lion Kortlepel
bde689d31a
implement fully async read and write with individual timeouts
2024-01-21 22:54:36 +01:00
Lion Kortlepel
303a619ece
implement async accept, async read for tcp
2024-01-20 19:20:33 +01:00
Lion Kortlepel
b06991aaca
migrate codebase to new network
...
marked non-implemented stuff with an exception
2024-01-19 17:34:36 +01:00
Lion Kortlepel
e0fe6693e0
implement vehicle specifics, code needed for the rest of the server
2024-01-19 17:33:53 +01:00
Lion Kortlepel
9502048525
move packet to protocol
2024-01-17 14:59:45 +01:00
Lion Kortlepel
9e99177fcb
implement compression and decompression
2024-01-17 14:52:09 +01:00
Lion Kortlepel
dbab9eb894
handle udp packets like usual packets
2024-01-16 01:03:03 +01:00
Lion Kortlepel
9ea0931e13
implement udp connection
2024-01-16 00:58:14 +01:00
Lion Kortlepel
e9805c3679
refactor identification to its own method
2024-01-15 22:22:27 +01:00
Lion Kortlepel
65d2ba3556
server-side identification done
2024-01-15 22:18:25 +01:00
Lion Kortlepel
6a411171f9
start implementing parsing of packets server-side
2024-01-15 22:11:44 +01:00
Lion Kortlepel
05dfb4e0c3
fix c header -> c++ header
2024-01-15 20:57:15 +01:00
Lion Kortlepel
4aca87d3e6
fully implement tcp and udp send and recv of packet types
2024-01-15 20:56:44 +01:00
Lion Kortlepel
7e9bb0cbf2
start rewriting networking
2024-01-15 20:39:32 +01:00
Lion Kortlepel
443871ec0f
remove usages of weak_ptr
2024-01-11 14:30:25 +01:00
Lion Kortlepel
130e1acdb3
refactor client disconnect, client interation
...
anywhere a client is disconnected, TNetwork::Disconnect is called now.
Nothing else is valid.
ForEachClientWeak() was fully removed.
2024-01-11 14:14:34 +01:00
Lion Kortlepel
b9f73f77c3
major refactor of Client and Server
...
this refactor includes changes to TClient:
- all member fields are now public, but protected with Sync (an alias
for boost::synchronized_value
- removed all (now) obsolete getters and setters
changes to TServer and TNetwork:
- thread-safe ID generation, previously it was possible for there to be
ID duplicates. this is now solved by moving id generation and
assignment into the same mutex locked context.
- deprecated ForEachClientWeak and replaced some usages of it with
ForEachClient, getting rid of the weak_ptr shit in most places
- implemented a bunch of new functions for getting rid of more weak_ptr
everywhere
2024-01-11 14:14:31 +01:00
Lion Kortlepel
c6aa7776fc
make update message adjustable by provider
2024-01-09 17:41:05 +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 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
57a4c47cb0
Remove HTTP Server settings from config ( #221 )
...
This is not implemented and won't be implemented
2023-12-28 11:50:33 +01:00
Lion Kortlepel
329d2eb268
fix hot reload not working with symlinked entire plugins
2023-12-28 11:22:00 +01:00
Lion Kortlepel
221f491019
return early after reading ENV in config
2023-12-25 16:19:53 +01:00
Lion Kortlepel
89db370e12
use env variables by default to override config values
2023-12-25 16:16:01 +01:00
Lion Kortlepel
b28c69a515
remove http settings from config
2023-12-21 13:07:35 +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
Bennett
a6cbffc774
fix exit after 10 seconds
2023-12-21 02:01:21 -08:00