829 Commits

Author SHA1 Message Date
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