Dylan K. Taylor
a714612453
Merge branch 'release/3.3' into release/3.4
2018-10-25 18:42:09 +01:00
Dylan K. Taylor
4835537886
Merge branch 'release/3.2' into release/3.3
2018-10-25 18:41:58 +01:00
Dylan K. Taylor
4a6841a5a4
Added client side self rate-limiting for crashdump reporting
...
this should produce some reduction in spam at the source.
This could also be used to control the rate at which constantly-crashing servers restart to stop them spamming the disk as well, but the main concern here is eliminating crash archive involuntary DDoS by crashy servers.
2018-10-25 18:10:59 +01:00
Dylan K. Taylor
212d72657a
AsyncPool: Switch to a more efficient collection algorithm, revamp internals ( #2493 )
...
This greatly improves GC performance by being more intelligent about how it collects garbage tasks. It knows that if X task in the queue is not finished, none of the tasks behind it can be finished either, so there's no point checking them.
This also presents the opportunity to cleanup a lot of async pool internals, so I've taken it and torched a lot of garbage.
2018-10-25 15:36:38 +01:00
Dylan K. Taylor
a7eaec13b9
Merge branch 'release/3.4'
2018-10-24 15:53:13 +01:00
Dylan K. Taylor
f61e099828
Merge branch 'release/3.3' into release/3.4
2018-10-24 15:52:04 +01:00
Dylan K. Taylor
925da62afa
Merge branch 'release/3.2' into release/3.3
2018-10-24 15:49:09 +01:00
Dylan K. Taylor
09985c5763
Fixed async light population producing garbage when generator isn't registered, closes #2488
2018-10-24 15:49:00 +01:00
Dylan K. Taylor
2aaac5a425
Merge branch 'release/3.4'
2018-10-24 12:18:04 +01:00
Dylan K. Taylor
447b9562bb
Merge branch 'release/3.3' into release/3.4
2018-10-24 12:16:46 +01:00
Dylan K. Taylor
d1ee9eb960
Merge branch 'release/3.2' into release/3.3
2018-10-24 12:00:55 +01:00
Dylan K. Taylor
196cf8a68d
Fixed missing MoveEntityDeltaPacket field
2018-10-24 12:00:25 +01:00
Dylan K. Taylor
011b9ae159
Update to latest NBT lib version
2018-10-23 16:47:00 +01:00
Dylan K. Taylor
a49abff099
Merge remote-tracking branch 'origin/release/3.4'
2018-10-22 17:46:37 +01:00
Dylan K. Taylor
cac21c2caf
SubChunk: implement branchless read/write for nibble arrays ( #2489 )
...
this was inspired by https://hub.spigotmc.org/stash/projects/SPIGOT/repos/spigot/browse/CraftBukkit-Patches/0121-Branchless-NibbleArray.patch
2018-10-22 17:46:14 +01:00
Dylan K. Taylor
90482e79bc
Merge branch 'release/3.4'
2018-10-21 18:23:54 +01:00
Dylan K. Taylor
6dd2597934
Merge branch 'release/3.3' into release/3.4
2018-10-21 18:17:07 +01:00
Dylan K. Taylor
5e68858ebf
Merge branch 'release/3.2' into release/3.3
2018-10-21 18:16:59 +01:00
Dylan K. Taylor
45c9caa38c
Fixup some formatting issues
2018-10-21 18:15:25 +01:00
Dylan K. Taylor
00b567e397
Merge branch 'master' of https://github.com/pmmp/pocketmine-mp
2018-10-21 15:33:42 +01:00
Dylan K. Taylor
e9a4acda1d
Merge branch 'release/3.4'
2018-10-21 15:32:57 +01:00
Dylan K. Taylor
b35759cc25
Add /unban and /unban-ip as aliases of /pardon and /pardon-ip
2018-10-21 15:32:38 +01:00
Dylan K. Taylor
62db7727c0
Remove legacy issue template
2018-10-21 15:23:46 +01:00
Dylan K. Taylor
08cf7e489f
Update issue templates
2018-10-21 15:23:06 +01:00
Dylan K. Taylor
742fbc25c3
BlockFactory: fixed 0 being assumed to be default if used
...
this defeated the whole point of adding this code ...
2018-10-20 21:42:34 +01:00
Dylan K. Taylor
159c3a1a91
Merge branch 'release/3.4'
2018-10-20 19:20:22 +01:00
Dylan K. Taylor
2a40c0d82c
Make use of isInLoadedTerrain()
2018-10-20 19:13:34 +01:00
Dylan K. Taylor
8ac1b18b17
Level: add API method isInLoadedTerrain()
2018-10-20 19:09:53 +01:00
Dylan K. Taylor
bae140dc02
Entity: remove dead code
2018-10-20 19:05:39 +01:00
Dylan K. Taylor
fb128d0276
Merge branch 'release/3.4'
2018-10-20 16:43:25 +01:00
Dylan K. Taylor
4aef9919dc
Use newly added API method
2018-10-20 16:26:10 +01:00
Dylan K. Taylor
43426a4c5c
Level: Add API method getViewersForPosition()
...
This returns all players who have the given position within their view radius.
2018-10-20 16:25:56 +01:00
Dylan K. Taylor
3028832cd3
Entity: remove redundant check from spawnTo()
...
this won't be reached if the player isn't using this chunk anyway.
2018-10-20 16:24:46 +01:00
Dylan K. Taylor
9f8a2dc61a
Make use of new API method getChunkAtPosition()
2018-10-20 15:58:29 +01:00
Dylan K. Taylor
d9ebe6f321
Level: Added API method getChunkAtPosition()
...
This returns the chunk containing the given vector.
2018-10-20 15:54:13 +01:00
Dylan K. Taylor
605e7e08ed
Remove some deprecated methods
2018-10-20 15:29:43 +01:00
Dylan K. Taylor
e035be8498
Remove some master-only usages of addGlobalPacket()
2018-10-20 15:27:08 +01:00
Dylan K. Taylor
831a35ec69
Merge branch 'release/3.4'
2018-10-20 15:26:17 +01:00
Dylan K. Taylor
cb1eb1ee09
Level: Rename addGlobalPacket() to broadcastGlobalPacket()
...
this name makes the intention more clear and consistent with other functions.
2018-10-20 15:24:33 +01:00
Dylan K. Taylor
d563b9e31b
Level: Added API method broadcastPacketToViewers()
...
This supersedes addChunkPacket() in most cases, and has a more clear name. It broadcasts the given packet to every player who has the target position within their chunk load radius.
2018-10-20 15:14:41 +01:00
Dylan K. Taylor
517a21c418
RegionLoader: remove unused constant
2018-10-20 14:19:27 +01:00
Dylan K. Taylor
d60c19551b
Merge branch 'release/3.4'
2018-10-19 18:53:24 +01:00
Dylan K. Taylor
7c44eea625
Merge branch 'release/3.3' into release/3.4
2018-10-19 18:53:18 +01:00
Dylan K. Taylor
d749f19c73
Merge branch 'release/3.2' into release/3.3
2018-10-19 18:53:12 +01:00
Dylan K. Taylor
41fd03f329
LightUpdate: fixed double-updated nodes not getting light propagated appropriately
...
This can happen when a light source is removed and later encountering another light source to fill the gap. A higher light level may get set and then not propagated. This bug is difficult to explain, but fairly easy to reproduce.
2018-10-19 18:53:04 +01:00
Dylan K. Taylor
93b8a6c44a
Level: fix light removal bugs caused by 48a5eeb3a459cb90b302990d3f243a34b0bb7da0 and 19e68f98a707536866c33bb1e9fad9f7c280447d
...
BlockFactory::\$lightFilter and Block->getLightFilter() are not equivalent.
2018-10-19 18:52:42 +01:00
Dylan K. Taylor
7642298b4f
Merge branch 'release/3.4'
2018-10-19 15:56:07 +01:00
Dylan K. Taylor
646c8970b8
Merge branch 'release/3.3' into release/3.4
2018-10-19 15:56:01 +01:00
Dylan K. Taylor
58067b2ad1
Merge branch 'release/3.2' into release/3.3
2018-10-19 15:55:53 +01:00
Dylan K. Taylor
0c9946621c
Level: Do not tick chunks which have unloaded adjacent chunks
...
Grass can cause issues here by requesting blocks randomly offset away from itself, which can cause silent chunk loading on chunk ticking. It also causes crashes if chunk autoloading is taken away, which is obviously undesired.
It was also noticed that player chunkloaders cause chunks to start getting ticked as soon as they load their first chunk, which is before the entity is visible to everyone else on the server. This is probably undesired behaviour.
2018-10-19 15:48:46 +01:00