12739 Commits

Author SHA1 Message Date
Dylan K. Taylor
9969c928a8 Player: Improved hardcore death handling
it's now possible to cancel the banning by cancelling PlayerKickEvent.
In addition, the disconnect message will now properly explain why the player is banned instead of just saying 'You have been banned',
and also banned-players.txt will show 'Died in hardcore mode' as the reason instead of being completely blank (seriously, we couldn't tell the difference between real bans and hardcore bans????)
2020-11-27 18:37:42 +00:00
Dylan K. Taylor
5e44d5f75e Do not load playerdata from disk just to op/deop/whitelist/dewhitelist
this is an impressively dumb idea.
the playerdata is not used here in any capacity so it doesn't make sense to load it, especially considering that it takes a significant amount of time.
2020-11-27 18:12:45 +00:00
Dylan K. Taylor
5142281cfa [ci skip] Server: remove misleading comment 2020-11-27 17:57:52 +00:00
Dylan K. Taylor
0a7d81a2b0 FastChunkSerializer: retain emptyBlock on subchunks
I think we should probably get rid of this considering the potential for inconsistencies within a chunk, but not retaining this is a bug nonetheless, even though it doesn't have any effect in PM itself since we always use BlockLegacyIds << 4 as the empty block ID.

so, this is only really aiding (ab)use cases which weren't intended anyway ...
2020-11-27 13:41:35 +00:00
Dylan K. Taylor
4e94025b3b SubChunk: rename defaultBlock -> emptyBlockId
this better describes the purpose, which is to identify air.
though, it might make more sense to make air just always have zero as air's runtime ID, since this parameter is apparently making plugin devs think that this is suitable to fill a chunk with a specific block ...
2020-11-27 13:33:25 +00:00
Dylan K. Taylor
4d42f0c3db Timings: added timers for player data I/O 2020-11-27 00:02:34 +00:00
Dylan K. Taylor
37ace19857 Updated netresearch/jsonmapper to 3.1.1 2020-11-26 23:39:57 +00:00
Dylan K. Taylor
0be60fe1eb NetworkSession: Force use of async compression during the login sequence when latency doesn't matter
closes #3907
this reduces the impact of compression on the login sequence by about 90%; however, since compression only accounted for about 30% of said overhead at most, it's not really a massive difference.
2020-11-26 23:39:19 +00:00
Dylan K. Taylor
4ea5401d72 World->getHighestBlockAt() now throws an exception instead of returning -1 in ungenerated terrain 2020-11-26 19:44:22 +00:00
Dylan K. Taylor
fd99445c5b World->getSafeSpawn() now throws if the target is in ungenerated terrain, instead of silently returning the default
this WILL cause crashes in some cases on slower machines (#2724), but it's
better than randomly spawning at the top of the map.
2020-11-26 19:36:37 +00:00
Dylan K. Taylor
4520e425c1 Sync BedrockData submodule with merge
I forgot to commit this in the merge ...
2020-11-21 21:17:23 +00:00
Dylan K. Taylor
af1fe7c293 Merge branch 'stable' 2020-11-21 21:13:48 +00:00
Dylan K. Taylor
bc208e11f4 phpstan 0.12.57 2020-11-21 18:07:14 +00:00
Dylan K. Taylor
9e85ee4a7a Fixed missing field on Persona skin encode 2020-11-21 18:01:56 +00:00
Dylan K. Taylor
027ec129b6 Merge remote-tracking branch 'refs/remotes/origin/master' 2020-11-21 17:55:54 +00:00
Dylan K. Taylor
7b865dc5a9 Updated composer dependencies 2020-11-21 17:55:32 +00:00
Dylan K. Taylor
f2187477b1 Merge commit '8273f789ee785cda3269e3a9841e99241503dc4f'
# Conflicts:
#	resources/vanilla
#	src/utils/SingletonTrait.php
2020-11-21 17:49:07 +00:00
Dylan K. Taylor
d2b593edf8 Updated composer dependencies 2020-11-21 17:47:54 +00:00
Dylan K. Taylor
e8e6b9304c phpstan 0.12.57 2020-11-21 17:46:32 +00:00
Dylan K. Taylor
23849b7f63 3.16.1 is next 2020-11-21 01:25:06 +00:00
Dylan K. Taylor
d2f68836c6 Release 3.16.0 3.16.0 2020-11-21 01:25:06 +00:00
Dylan K. Taylor
d19db5d2e4 fix phpstan warnings 2020-11-21 01:16:04 +00:00
Dylan K. Taylor
98cdc80d37 Protocol changes for 1.16.100 2020-11-21 01:07:25 +00:00
Dylan K. Taylor
f2bdbb0c35 TypeConverter: fix using singleton to get its own context
I guess this must have been refactored from some other class?...
2020-11-20 21:31:06 +00:00
Dylan K. Taylor
8273f789ee Backport SingletonTrait to PM3 2020-11-20 21:00:47 +00:00
Dylan K. Taylor
870d237260 BlockFactory::get() second parameter is now mandatory 2020-11-18 00:50:01 +00:00
Dylan K. Taylor
29eccba5f0 Updated composer dependencies 2020-11-17 23:25:15 +00:00
Dylan K. Taylor
28335e3c45 Player: fixed self-defeating condition in item consuming
this was giving players infinite food and potions.
2020-11-17 20:33:20 +00:00
ipad54
6a1f551aab
[ci skip] update TileFactory TODOs (#3912) 2020-11-17 11:04:26 +00:00
Dylan K. Taylor
62b9d97060 Break circular dependency in Player->disconnect() usages
none of these usages require onPlayerDestroyed() to be fired since they are all being called during disconnects anyway.
2020-11-16 23:05:56 +00:00
Dylan K. Taylor
09b22c1e79 NetworkSession: drop @var doc comment referring to nonexisting variable 2020-11-16 22:51:03 +00:00
Dylan K. Taylor
c3c647d51e NetworkSession: remove useless disconnect() call
this can't execute here because of the disconnectGuard, so this call always does nothing.
2020-11-16 22:13:48 +00:00
Dylan K. Taylor
d1775b166f Merge branch 'stable'
# Conflicts:
#	resources/vanilla
2020-11-16 21:35:08 +00:00
Dylan K. Taylor
37299ab804 ChunkCache: explicitly check for requesting of unloaded chunk
NetworkSession will never do this, but other things might.
2020-11-16 19:45:46 +00:00
Dylan K. Taylor
1d27225553 Relocate cache-related classes to mcpe\cache namespace 2020-11-16 19:39:30 +00:00
Dylan K. Taylor
9984b15de6 fix build #3 2020-11-16 19:25:13 +00:00
Dylan K. Taylor
6ea01e0dd4 fix build #2 2020-11-16 19:21:44 +00:00
Dylan K. Taylor
869c9dabf1 SetCommandsEnabledPacket: added ::create() 2020-11-16 19:11:10 +00:00
Dylan K. Taylor
ca6a892834 [ci skip] NetworkSession: added some extra TODOs 2020-11-16 19:10:27 +00:00
Dylan K. Taylor
16b71a265f Barrel: added missing function import 2020-11-16 19:09:59 +00:00
Dylan K. Taylor
46331df7db fix build 2020-11-16 19:06:56 +00:00
Dylan K. Taylor
691c49fb32 I don't know how to pass custom arguments to these scripts :< 2020-11-16 19:05:04 +00:00
Dylan K. Taylor
db815360d1 [ci skip] BUILDING.md: tell users to use 'composer make-server' instead of the server-phar script directly
this takes care of the dev dependencies automatically.
2020-11-16 19:03:39 +00:00
Dylan K. Taylor
6e297168c2 travis.sh: use new composer commands 2020-11-16 19:01:07 +00:00
Dylan K. Taylor
95dbb00d4c Added custom composer commands: 'composer make-devtools' and 'composer make-server' 2020-11-16 18:55:23 +00:00
Dylan K. Taylor
50e29a5ed8 build/make-server: bail when composer dev dependencies are installed
these mess up the phar and make it extremely bloated. Almost everyone building for themselves unintentionally includes dev dependencies.
2020-11-16 18:54:07 +00:00
Dylan K. Taylor
de40ad80a6 Updated DevTools submodule to pmmp/DevTools@0c46527bee 2020-11-16 18:33:28 +00:00
Dylan K. Taylor
a9faed7171 [ci skip] update BlockFactory TODOs 2020-11-16 18:23:01 +00:00
Dylan K. Taylor
430d16e5f5 fixed borked test 2020-11-16 18:17:04 +00:00
Dylan K. Taylor
563336cdc9 CoralType: remove unused magicNumber stuff 2020-11-16 18:12:38 +00:00