16080 Commits

Author SHA1 Message Date
Dylan K. Taylor
eece6c4433
InGamePacketHandler: remove dead code 2023-03-20 01:28:18 +00:00
Dylan K. Taylor
67b7b60d18
.............. 2023-03-20 01:19:07 +00:00
Dylan K. Taylor
804feedb67
Added some dumb limits 2023-03-20 00:54:33 +00:00
Dylan K. Taylor
d57aca1367
CS 2023-03-20 00:53:00 +00:00
Dylan K. Taylor
7b0816e42f
Properly handle transaction building errors instead of kicking the player 2023-03-20 00:52:26 +00:00
Dylan K. Taylor
4864444440
Added CraftingManager::getCraftingRecipeFromIndex() 2023-03-19 22:14:23 +00:00
Dylan K. Taylor
52ea4feac0
Updated pocketmine/locale-data 2023-03-19 16:53:02 +00:00
Dylan K. Taylor
01d557062a
Remove dead baseline 2023-03-19 16:41:01 +00:00
Dylan K. Taylor
a619fd2be6
Scrub PHPStan baselines 2023-03-19 16:37:38 +00:00
Dylan K. Taylor
05d9298958
PHPStan 1.10.7 2023-03-19 16:33:59 +00:00
Dylan K. Taylor
f696a5881b
Merge remote-tracking branch 'origin/stable' into minor-next 2023-03-19 16:23:09 +00:00
Dylan K. Taylor
419962d3a2
Added timer for player-specific movement code
players use an entirely different pathway for movement processing, which could be costly.
2023-03-19 16:12:47 +00:00
Dylan K. Taylor
054c06fab9
Add specialized entityBaseTick timer for item entities
since item merging is a potential hotspot, we want to know if this code section is a performance problem.
Current timers only tell us whether overall ticking of a particular entity is slow, but that includes movement and therefore isn't particularly helpful.
2023-03-19 15:59:06 +00:00
Dylan K. Taylor
7bc5d8c824
Rename more timers 2023-03-19 15:57:36 +00:00
Dylan K. Taylor
607bdfa42f
Timings: added new timers for entity move collision checks and projectile move ray tracing
projectiles get their own distinct sub-timer, since the logic is completely different from regular entities.
2023-03-19 15:49:35 +00:00
Dylan K. Taylor
eec53f9ae0
Timings: clean up timer names 2023-03-19 15:39:44 +00:00
Dylan K. Taylor
3d56bd267c
Timings: fixup network timer inheritance 2023-03-18 23:13:25 +00:00
Dylan K. Taylor
9a969e21c7
ÂNetworkSession: ensure onResolve handler for CompressBatchPromise is covered by network send timings 2023-03-18 22:49:52 +00:00
Dylan K. Taylor
195bc3b623
NetworkSession: prevent dev client asserts from missing ability flags 2023-03-18 21:53:17 +00:00
Dylan K. Taylor
2177d8d352
Push Docker image tags to ghcr.io 2023-03-17 16:32:28 +00:00
Dylan T
471625e697
readme: remove docker hub shield
sadly there isn't any ghcr replacement right now.

[ci skip]
2023-03-17 16:24:13 +00:00
Dylan T
2135776c19
readme: goodbye docker hub, won't miss you
[ci skip]
2023-03-17 16:21:57 +00:00
Dylan K. Taylor
765aef0810
4.18.0-ALPHA2 is next 2023-03-16 21:45:21 +00:00
Dylan K. Taylor
bd21feffc4
Release 4.18.0-ALPHA1 4.18.0-ALPHA1 2023-03-16 21:45:18 +00:00
Dylan K. Taylor
5b324f695c
Merge branch 'stable' into minor-next 2023-03-16 15:04:19 +00:00
Dylan K. Taylor
9caed10488
update-updater-api: use github.repository_owner to make fork testing of this workflow less obnoxious 2023-03-16 15:03:14 +00:00
Dylan K. Taylor
83945ff0a0
Do not update release channels if the new build has a lower version ID
this prevents stuff like 5.0.0 beta versions getting overwritten by 4.x beta versions.
2023-03-16 15:02:42 +00:00
Dylan K. Taylor
ef45180b80
Rename DataPacketPreReceiveEvent -> DataPacketDecodeEvent
thank you @IvanCraft623 for the suggestion
2023-03-16 13:40:37 +00:00
Dylan K. Taylor
941fd03998
Remove useless code 2023-03-15 22:58:10 +00:00
Dylan K. Taylor
1af8da3c1f
Merge branch 'minor-next' of github.com:pmmp/PocketMine-MP into minor-next 2023-03-15 22:54:05 +00:00
Dylan K. Taylor
a5985dcf7d
Merge branch 'stable' into minor-next 2023-03-15 22:53:44 +00:00
Armen Deroian
183d1f4038
Implement DataPacketPreReceiveEvent (#5559)
closes #5554

This is called just before the packet is decoded, allowing the event to be used to drop packets from clients without wasting CPU time decoding them. This can be particularly useful for mitigating denial-of-service attacks.
2023-03-15 22:47:19 +00:00
Dylan K. Taylor
08ee825d91
StandardPacketBroadcaster: Include varint length prefix in length calculation
varints encode 7 bits per byte, so a log with base 128 will tell us how many bytes are required to encode the length of the packet.
2023-03-15 22:41:19 +00:00
Dylan K. Taylor
337a254768
Use NetworkBroadcastUtils for broadcasting packets
this eradicates all but 4 usages of Server in Entity, which is extremely cool.
2023-03-15 22:28:51 +00:00
Dylan K. Taylor
a31e3331fd
Move Server::broadcastPackets() to NetworkBroadcastUtils::broadcastPackets()
this has no business being in Server, and it also doesn't need to be an instance method, since it never uses $this.
2023-03-15 22:25:23 +00:00
Dylan K. Taylor
acebbeed16
Added version channels for update.pmmp.io 2023-03-15 20:59:36 +00:00
Dylan K. Taylor
e0fdbe6eb1
make-release: don't automatically push
this is rather obnoxious when attempting to push test releases to a
fork.
2023-03-15 20:47:01 +00:00
Dylan K. Taylor
cc8660629b
First look at shared EntityEventBroadcaster,
this improves performance in PvP servers and other areas where lots of players or entities exist in one space.

fixes #5622
2023-03-15 18:22:56 +00:00
Dylan K. Taylor
e7e19abe85
IPv4 and IPv6 RakLibInterface instances now both use the same broadcaster and context
fixes #5625
2023-03-15 17:17:56 +00:00
Dylan K. Taylor
5f9e0081fd
Fixed mushroom block silk-touch drops and block picking behaviour
fixes #5284
2023-03-15 16:36:35 +00:00
dependabot[bot]
b266f45152
Bump build/php from 71b9f9d to a464454 (#5637)
Bumps [build/php](https://github.com/pmmp/php-build-scripts) from `71b9f9d` to `a464454`.
- [Release notes](https://github.com/pmmp/php-build-scripts/releases)
- [Commits](71b9f9d2d7...a464454d1e)

---
updated-dependencies:
- dependency-name: build/php
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-15 13:44:20 +00:00
Dylan K. Taylor
34ced382db
Eliminate final remaining usage of TypeConverter::netItemStackToCore()
instead, we can verify that the held items match by comparing the received ItemStack with the one cached in InventoryManager, which is more cost effective and closes off internal item deserializers to external attacks.
2023-03-14 22:56:11 +00:00
Dylan K. Taylor
a573a279fa
Merge branch 'minor-next' into item-stack-request 2023-03-14 22:25:49 +00:00
Dylan K. Taylor
14f141fab2
NetworkSession: Stop counting DataPacketReceiveEvent in handler timings
we want it to be included in receive timings, but not handler timings. Handler timings should reflect the time spent in the actual session PacketHandler, not in the event.
2023-03-14 19:00:15 +00:00
Dylan K. Taylor
daff955bc4
Merge remote-tracking branch 'origin/stable' into minor-next 2023-03-14 18:42:14 +00:00
Dylan K. Taylor
0022d82779
Merge commit 'd376399b7f332384532a82eaf69b9b02dad5bd0c' into minor-next 2023-03-14 18:39:03 +00:00
dependabot[bot]
7cad9be0d2
Bump build/php from b2207cf to 71b9f9d (#5634)
Bumps [build/php](https://github.com/pmmp/php-build-scripts) from `b2207cf` to `71b9f9d`.
- [Release notes](https://github.com/pmmp/php-build-scripts/releases)
- [Commits](b2207cf70d...71b9f9d2d7)

---
updated-dependencies:
- dependency-name: build/php
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-14 18:32:10 +00:00
Dylan K. Taylor
2f862a552a
actions: Replace deprecated ::set-output commands 2023-03-14 18:31:25 +00:00
Dylan K. Taylor
590f6dad08
4.17.1 is next 2023-03-14 18:14:40 +00:00
Dylan K. Taylor
9564c81582
Release 4.17.0 4.17.0 2023-03-14 18:14:40 +00:00