1311 Commits

Author SHA1 Message Date
Lion Kortlepel
d0d560405c
add readline, start working on a new console sink 2024-02-15 17:17:27 +01:00
Lion Kortlepel
98c69561b5
add libzip 2024-02-15 12:42:51 +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
ee74d6291b
update protocol 2024-01-25 08:40:45 +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
24723c01da
update protocol 2024-01-20 18:18:15 +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
b882174ae7
add boost thread, glm 2024-01-19 17:33:19 +01:00
Lion Kortlepel
3de142a6d0
use boost::scoped_thread in IThreaded 2024-01-19 14:42:21 +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
ff33f1d42f
update protocol 2024-01-15 22:18:59 +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
aa29d04b60
remove unused TVehicleDataLockPair 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
b0f5976121 Update release.yml to fix release message 2024-01-09 15:35:47 +01:00
Lion Kortlepel
1bd47fa649 add noninteractive flag for debian/ubuntu 2024-01-09 15:35:47 +01:00
Lion Kortlepel
0e924d0d51 fix bootstrap call 2024-01-09 15:35:47 +01:00
Lion Kortlepel
70a7a41882 add vcpkg bootstrap step 2024-01-09 15:35:47 +01:00
Lion Kortlepel
6ee816d10d add lua to vcpkg dependencies on windows 2024-01-09 15:35:47 +01:00
Lion Kortlepel
8695413211 add ubuntu 20.04, debian 12 scripts 2024-01-09 15:35:47 +01:00
Lion Kortlepel
52c5a995cc fix wrong action dependency 2024-01-09 15:35:47 +01:00
Lion Kortlepel
9d5568dc56 make all ci/cd build actions matrix generic 2024-01-09 15:35:47 +01:00
Lion
c62a1b6add add arm64 builds to github actions
Update linux.yml to build ARM64 binaries for debian11

update linux.yml to fix incorrect runs-on tags

add ubuntu 22.04 arm64 build

Update linux.yml

Update linux.yml

Update linux.yml

Update linux.yml

Update linux.yml

Update linux.yml

Update 2-configure.sh

Update 2-configure.sh

Update 1-install-deps.sh

Update 1-install-deps.sh

Update 2-configure.sh

Update 2-configure.sh

Update linux.yml

use get-cmake

update vcpkg

force arm64 triplet
2024-01-09 15:35:47 +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
01e8a1644a
Bump version to v3.2.2 (#253) 2024-01-08 19:40:00 +01:00
Lion Kortlepel
cebb2634a1
bump version 2024-01-08 17:43:54 +01:00
Lion
21a7ca1b64
Update README.md to remove mention of scripts and add ARM instructions (#243) 2023-12-30 15:07:39 +01:00
Lion
bd4ab2b10d
Update README.md 2023-12-30 10:22:12 +01:00