Commit Graph

826 Commits

Author SHA1 Message Date
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
Starystars67
8c73eb8aea Added Tags Feature to the BeamMP Server. This allows better filtering on the server list. 2023-12-10 12:50:24 +01:00
Lion Kortlepel
d8b8812026 remove password setting from config to avoid confusion
...until implemented
2023-12-05 18:23:23 +01:00
Lion Kortlepel
f98704e0f3 fix warnings about implicit conversion 2023-12-05 18:05:35 +01:00