Commit Graph

13625 Commits

Author SHA1 Message Date
Dylan K. Taylor
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
Dylan K. Taylor
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
Dylan K. Taylor
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
Dylan K. Taylor
75bb4f8da6 Merge branch 'stable' into next-minor 2023-02-21 18:32:58 +00:00
Dylan K. Taylor
efdd7a186d World: fixed population timer sometimes not being stopped 2023-02-21 18:31:33 +00:00
Dylan K. Taylor
c4ecb3d128 Merge branch 'stable' into next-minor 2023-02-21 15:37:06 +00:00
Dylan K. Taylor
b574d49d36 4.15.2 is next 2023-02-21 15:23:25 +00:00
Dylan K. Taylor
47e9ecd257 Release 4.15.1 2023-02-21 15:23:25 +00:00
Armen Deroian
59a04c971f Getter and setter for gravity (#5584)
closes #5525
2023-02-21 15:01:22 +00:00
Dylan K. Taylor
871bd169a8 Timings: remove unnecessary code 2023-02-19 17:58:12 +00:00
Dylan K. Taylor
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
Dylan K. Taylor
d5e92b4ae6 ... 2023-02-19 16:53:04 +00:00
Dylan K. Taylor
2a3288c4f9 Avoid useless throwaway PacketBatch objects 2023-02-19 16:50:03 +00:00
Dylan K. Taylor
9cdb641936 Added encode packet timings
these changes required some new APIs in BedrockProtocol.
2023-02-19 16:47:20 +00:00
Dylan K. Taylor
b56b35b10d ItemEntity: fixed a bunch of suspicious logic in entityBaseTick()
closes #5580
2023-02-17 20:14:38 +00:00
Dylan K. Taylor
324bc27b5a Merge branch 'stable' into next-minor 2023-02-17 19:59:28 +00:00
Dylan K. Taylor
71aad310c6 stfu 2023-02-17 16:39:46 +00:00
Dylan K. Taylor
38828e2b42 4.15.1 is next 2023-02-17 16:37:34 +00:00
Dylan K. Taylor
9a6d7b505c Release 4.15.0 2023-02-17 16:37:34 +00:00
Dylan K. Taylor
1e3b025916 1.19.62 2023-02-17 16:36:32 +00:00
Dylan K. Taylor
396d64c60b 4.14.2 is next 2023-02-15 15:19:39 +00:00
Dylan K. Taylor
d7a0f5362e Release 4.14.1 2023-02-15 15:19:38 +00:00
Dylan K. Taylor
c5dcd268ad CS 2023-02-15 15:04:41 +00:00
Dylan K. Taylor
2fd6e769e6 NetworkSession: Improved packet budgeting
this fixes players getting kicked during server lag spikes.

closes #5532
2023-02-15 14:59:05 +00:00
Dylan K. Taylor
2c413768a5 Merge branch 'stable' into next-minor 2023-02-11 17:15:12 +00:00
Dylan K. Taylor
c62845e92a 4.14.1 is next 2023-02-08 20:21:43 +00:00
Dylan K. Taylor
c7930ce9ec Release 4.14.0 2023-02-08 20:21:42 +00:00
Dylan K. Taylor
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
Dylan K. Taylor
40b90bb722 InGamePacketHandler: log a debug when processing skin change requests 2023-02-08 19:47:12 +00:00
Dylan K. Taylor
5a4550a4fc CS 2023-02-08 18:55:49 +00:00
Dylan K. Taylor
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
Dylan K. Taylor
3ba662f64f 1.19.60 2023-02-08 18:46:37 +00:00
Dylan K. Taylor
41ab698f93 wrong filename 2023-02-06 12:29:54 +00:00
alvin0319
981385cf4a GeneratorManager: Removed redundant Closure wrapping (#5551) 2023-02-04 14:04:31 +00:00
Dylan K. Taylor
cfa1e7486a Move legacy recipes and creative items in-house
having them here allows BedrockData to represent latest versions freely, without being limited by technical limitations of PM4.
2023-02-02 15:25:03 +00:00
Dylan K. Taylor
3c46bf01c6 Begin removing dependence on obsolete files from BedrockData
these files were only kept for backwards compatibility, and aren't actively maintained. They are only needed for legacy conversions in the modern day era.
2023-02-02 14:47:38 +00:00
Dylan K. Taylor
4562cfb85b 4.13.1 is next 2023-01-30 21:55:26 +00:00
Dylan K. Taylor
cb1aac3cd4 Release 4.13.0 2023-01-30 21:55:26 +00:00
Dylan K. Taylor
96c32d24ba Update composer dependencies 2023-01-30 13:23:40 +00:00
zSALLAZAR
7eca3e8081 Fix typo
closes #5533
2023-01-26 14:52:50 +00:00
Dylan K. Taylor
644881372d Merge branch 'stable' into next-minor 2023-01-23 19:37:02 +00:00
Dylan K. Taylor
f948cb0086 PocketMine.php: refuse pthreads 5.0 2023-01-21 15:30:36 +00:00
Dylan K. Taylor
6c52723d97 Merge branch 'stable' into next-minor 2023-01-20 15:40:32 +00:00
Dylan K. Taylor
74e052de51 Terminal: fix deprecation error on PHP 8.2 2023-01-20 01:30:39 +00:00
Dylan K. Taylor
78aea5c34c Merge branch 'stable' into next-minor 2023-01-18 20:46:10 +00:00
Dylan K. Taylor
d7f40f75d2 PlayerPreLoginEvent: fixed documentation errors 2023-01-18 20:45:49 +00:00
Dylan K. Taylor
d9324b9951 4.13.0-BETA2 is next 2023-01-18 16:15:47 +00:00
Dylan K. Taylor
1d9336ed67 Release 4.13.0-BETA1 2023-01-18 16:15:43 +00:00
Dylan K. Taylor
d37142af4b Merge branch 'stable' into next-minor 2023-01-18 15:30:42 +00:00
Dylan K. Taylor
7c068101b7 CSÂ 2023-01-18 15:17:37 +00:00