aaec21f544
Compressor: Use minCompressionThreshold exclusively
...
closes #5589
2023-03-04 15:07:50 +00:00
407b78de3b
Merge branch 'next-minor' into next-major
2023-02-28 19:25:05 +00:00
0fcd2e7894
Merge branch 'stable' into next-minor
2023-02-28 19:23:25 +00:00
e7209679fb
...
2023-02-24 22:23:00 +00:00
ae50b952f1
Accept 1.19.63 (same protocol, different protocol version)
2023-02-24 22:15:58 +00:00
c82b43a586
Merge branch 'next-minor' into next-major
2023-02-23 22:00:14 +00:00
9acb4d64db
Added generated constants for available BedrockData files
...
this makes it easier to detect unused files, detect removed files, and also avoid typos in usages.
2023-02-23 21:45:12 +00:00
5854b1c8c2
Merge branch 'next-minor' into next-major
2023-02-22 22:51:51 +00:00
8234360c8d
Avoid creating batch buffers just to determine whether a batch should be globally compressed
...
Instead, sum together the lengths of encoded packet buffers and use that to decide whether to build the buffer or not.
2023-02-22 22:43:10 +00:00
6a64486f55
StandardPacketBroadcaster: Improve performance when broadcasting small packets
...
In refactors during PM4, I stripped out packet buffer caching, as it was problematic when events alter packets in undetectable ways.
However, I never cleaned this part of the code up properly after enabling DataPacketSendEvent to include multiple packets and multiple targets, so we were still individually encoding the packet(s) for every single session if the sum total of the sizes was below 256 bytes.
This change encodes packets once in the StandardPacketBroadcaster and retains their buffers to post to the session's send buffer directly if the resulting batch is below compression threshold.
This code is still not optimal (see ##5589), but fixing this brings broadcasting performance back to PM3 levels, without any of PM3's problems.
2023-02-22 21:52:12 +00:00
50b8d39aba
Merge branch 'next-minor' into next-major
2023-02-21 15:41:57 +00:00
4dbcd714bd
NetworkSession: fixed some segments of recv/send logic not being covered by their respective network timingsÂ
2023-02-19 17:21:10 +00:00
d5e92b4ae6
...
2023-02-19 16:53:04 +00:00
2a3288c4f9
Avoid useless throwaway PacketBatch objects
2023-02-19 16:50:03 +00:00
9cdb641936
Added encode packet timings
...
these changes required some new APIs in BedrockProtocol.
2023-02-19 16:47:20 +00:00
42df1a5c70
Fixed merge error
2023-02-17 20:19:32 +00:00
0e0f5e85eb
Merge branch 'next-minor' into next-major
2023-02-17 20:00:51 +00:00
71aad310c6
stfu
2023-02-17 16:39:46 +00:00
1e3b025916
1.19.62
2023-02-17 16:36:32 +00:00
c5dcd268ad
CS
2023-02-15 15:04:41 +00:00
2fd6e769e6
NetworkSession: Improved packet budgeting
...
this fixes players getting kicked during server lag spikes.
closes #5532
2023-02-15 14:59:05 +00:00
d891646d0a
Fix CS
2023-02-13 14:10:42 +00:00
886b40a455
ÂLocalize disconnect reasons for RakLib disconnects
2023-02-13 14:10:25 +00:00
525f62e1e4
ÂRakLib 0.15
2023-02-13 14:00:16 +00:00
2d56aa50b9
A bunch of mostly inseparable changes to PlayerPreLoginEvent
...
including support for separated disconnect reasons and disconnect screen messages (closes #4512 )
While the refactoring of kick reason -> kick flag wasn't exactly in my agenda, I realized that these changes would become pretty confusing and inconsistent with other events if they weren't refactored.
Hopefully I don't have to break this API again for a while...
2023-02-13 11:32:32 +00:00
074e7586cb
Merge branch 'next-minor' into next-major
2023-02-11 17:17:08 +00:00
475888b031
InGamePacketHandler: do not process repeated skin change requests for the same full skin ID
...
this fixes a feedback loop with persona skins in 1.19.60.
2023-02-08 20:16:41 +00:00
40b90bb722
InGamePacketHandler: log a debug when processing skin change requests
2023-02-08 19:47:12 +00:00
5a4550a4fc
CS
2023-02-08 18:55:49 +00:00
7bbc04e6de
Silence PlayerSkinPacket debug messages during spawn response stage
...
the client sends its skin here in 1.19.60 for some reason, which makes no sense - I can only assume it's a bug
2023-02-08 18:55:38 +00:00
3ba662f64f
1.19.60
2023-02-08 18:46:37 +00:00
da5302ca86
BlockStateData: introduce and use current()
2023-02-02 16:21:50 +00:00
222415859a
Require pthreads ^5.1
...
This version of pthreads has a substantially improved API, improved
performance, improved memory usage, and much less magical and broken
behaviour.
2023-01-23 20:02:33 +00:00
b8f6b66e42
First look at separating disconnect reason and disconnect screen messages ( #4512 )
2023-01-18 20:57:17 +00:00
41e60cb62c
NetworkSession: remove unnecessary translation
2023-01-18 20:36:53 +00:00
072a9202ef
Merge branch 'next-minor' into next-major
2023-01-18 19:05:44 +00:00
d37142af4b
Merge branch 'stable' into next-minor
2023-01-18 15:30:42 +00:00
7c068101b7
CSÂ
2023-01-18 15:17:37 +00:00
a8556dff02
RakLibInterface: include Snooze events in Connection Handler timings
2023-01-18 15:02:33 +00:00
7abfc46567
First look at 3D biome support
2023-01-17 21:41:30 +00:00
d9b8251f7b
Merge branch 'next-minor' into next-major
2023-01-16 18:31:51 +00:00
ad6a423d12
Merge branch 'stable' into next-minor
2023-01-16 18:30:13 +00:00
7e16f9be8f
InGamePacketHandler: handle block actions before use item transactions
...
the START_BREAK and transaction to break the block may arrive in the same packet, causing events to be fired in the wrong order.
fixes #5490
2023-01-16 17:50:11 +00:00
950eddf405
Fix build
2023-01-13 17:57:41 +00:00
69967a0e55
Properly localize jukebox popups
2023-01-13 17:48:56 +00:00
ba18a81e88
NetworkSession: fixed rate limit getting exhausted after 2.5 seconds during PvP
2023-01-13 15:28:03 +00:00
ecd8f151f1
Merge branch 'next-minor' into next-major
2023-01-12 22:08:25 +00:00
d74719704e
Merge branch 'stable' into next-minor
2023-01-12 19:02:07 +00:00
992cb06da6
NetworkSession: fixed rate limit not being increased correctly on Windows
...
due to the 15ms scheduler interval, the server will often sleep 45ms instead of 50ms, which causes the budget not to get updated.
2023-01-09 00:01:56 +00:00
bb3f87f862
NetworkSession: allow 2 batches per tick
...
apparently InventoryTransactionPacket may arrive outside of the normal update cycle, since it's prioritized to reduce latency.
2023-01-09 00:00:39 +00:00