Dylan K. Taylor
1bae973502
Fix server crashing while crashing when trying to decode an invalid response from the crash-archive post
2017-06-17 10:31:20 +01:00
Dylan K. Taylor
e0f8a02bb8
Catch and log all crashes occurring while creating crashdumps
2017-06-17 10:25:34 +01:00
Dylan K. Taylor
3167817e34
Fixed crash when memory hard limit is disabled, close #1074
2017-06-12 09:32:31 +01:00
Dylan K. Taylor
890f72dbf2
Type-hinted NBT tag constructors, made getValue() and setValue() more strict, fix dozens of assorted related bugs
2017-06-08 19:17:52 +01:00
Dylan K. Taylor
e18a3ac933
Fixed UUID-related issues
2017-06-07 13:11:03 +01:00
Dylan K. Taylor
5aea9220c9
Fixed chat and some TextContainer documentation issues
2017-06-07 12:54:12 +01:00
Dylan K. Taylor
bd7205dd64
PhpStorm doesn't understand variable class names :(
2017-06-07 12:54:12 +01:00
Dylan K. Taylor
cf07af8b55
Fix some strict type violations reported by PhpStorm (strict types <3)
2017-06-07 12:54:12 +01:00
Dylan K. Taylor
c2186041d6
Fix TranslationContainer issue
2017-06-07 12:53:16 +01:00
Dylan K. Taylor
51b0673b4b
Bite the bullet and enable strict types on everything
2017-06-07 12:53:16 +01:00
Dylan K. Taylor
606b9b687d
Fix level ticking errors (these methods return floats >_<)
2017-06-07 12:53:15 +01:00
Dylan K. Taylor
45618c7cfe
Enable strict types for Server and add a bunch of type-hints
2017-06-07 12:53:15 +01:00
Dylan K. Taylor
9cc27b2719
Force sync 'compression' under the batch threshold
...
Since we aren't actually compressing these anyway, only writing a checksum, sending these asynchronously causes strange bugs due to race conditions.
2017-06-06 11:40:41 +01:00
Dylan K. Taylor
c6e800cf42
Use compression level 0 when batch size is below threshold
...
This isn't free, because of the adler32 checksum... but it's much lighter on performance for small packets.
2017-06-05 22:05:46 +01:00
Dylan K. Taylor
b7b7bcee4f
Fixed some weak comparisons
2017-06-05 21:07:35 +01:00
Dylan K. Taylor
63358a8065
Merge branch 'master' into mcpe-1.1
2017-05-30 09:45:20 +01:00
Dylan K. Taylor
0ad16c1919
Added PlayerDataSaveEvent, resolved #487 ( #920 )
...
* Added PlayerDataSaveEvent, resolved #487
* Added getPlayer() to PlayerDataSaveEvent
may return an IPlayer
* Fixed quit messages
This TranslationContainer vs. string mess... >_<
2017-05-29 18:50:45 +01:00
Muqsit Rayyan
ca6826898b
Added API method Server->broadcastTitle() ( #932 )
2017-05-25 14:05:41 +01:00
Dylan K. Taylor
36c95660e6
Fixed some logic issues with async compression
2017-05-19 11:30:23 +01:00
Dylan K. Taylor
fe8cb8cd86
Server->batchPackets() now only accepts DataPacket objects, fixed players receiving double PlayerListPackets with their own data
2017-05-17 17:15:42 +01:00
Dylan K. Taylor
15b47fcb2f
Merge branch 'master' into mcpe-1.1
2017-05-17 15:52:01 +01:00
Johnmacrocraft
0935855def
Fix issue with colored message on some languages ( #910 )
2017-05-15 10:07:01 +01:00
Dylan K. Taylor
162a08b8cb
Removed options for disabling assertion exceptions
2017-05-14 20:48:58 +01:00
Dylan K. Taylor
56306f6636
Merge branch 'master' into mcpe-1.1
2017-05-04 21:15:49 +01:00
Dylan K. Taylor
f889bf9cf5
Fixed player list self-duplication
2017-05-02 12:28:27 +01:00
Dylan K. Taylor
6d90f91be0
Fixed crashes while crashing related to plugins
2017-04-30 16:22:50 +01:00
Dylan K. Taylor
0a52e210db
Fixed crash when crashing while generating a crashdump due to crashing
2017-04-30 16:01:08 +01:00
Dylan K. Taylor
17e4f45e97
Fixed kicking players not working properly
2017-04-18 19:41:09 +01:00
Dylan K. Taylor
c5eccc8e1c
Minor improvements to Batch encoding
2017-04-15 19:40:06 +01:00
Dylan K. Taylor
845b124f89
Stop autosaving players who haven't joined yet, close #494
2017-03-31 20:33:15 +01:00
Dylan K. Taylor
87a52a4f35
Fixed yet another crash when level-settings.always-tick-players is set to true
2017-03-31 16:09:40 +01:00
Dylan K. Taylor
788bd6fc20
Fixed resource packs/login sequence fail, added basic safety restrictions for packet sending before clients are logged in
...
close #452
2017-03-26 14:42:23 +01:00
Dylan K. Taylor
dda8c6cc8f
Removed a condition that's been useless almost since the beginning of PocketMine
...
This condition has been useless since before NBT was introduced to PocketMine.
If there was a use for it, it should have been placed BEFORE anything attempted to read from the NBT.
However, Server now handles bad data automatically now, so Server->getOfflinePlayerData() will never _not_ return a CompoundTag. Hence I've added a CompoundTag type-hint.
2017-03-26 13:20:46 +01:00
Dylan K. Taylor
4245274aec
Merge branch 'master' into api3/network
2017-03-25 21:26:46 +00:00
Dylan K. Taylor
c9cf3d5aa4
Throw an exception when something attempts to serialize Server ( #459 )
2017-03-25 10:33:05 +00:00
Dylan K. Taylor
0750b3ab59
Added pocketmine.yml option to disable the title ticker ( #447 )
...
This gets really spammy on some consoles when you stick it in the background, but I don't want to lose colour for the sake of that.
2017-03-24 16:03:10 +00:00
Dylan K. Taylor
47f7af6739
Fixed usage reporting cannot be disabled
2017-03-20 21:26:20 +00:00
Dylan K. Taylor
6a03f8d434
Fixed server creating resource packs directory inside itself when running from a phar
...
Once again, epic facepalm @dktapps
2017-03-20 13:28:45 +00:00
Dylan K. Taylor
0e64d4bbc2
Given Player->iusername a use, added Player->getLowerCaseName()
...
Micro optimizations by not repeatedly lowercasing names when searching
2017-03-20 12:21:02 +00:00
Dylan K. Taylor
4c61ad9f2d
Stop skipping stack frames ( #425 )
2017-03-19 10:24:33 +00:00
Dylan K. Taylor
8114ceaf68
Merge branch 'master' into api3/network
2017-03-18 16:29:38 +00:00
Dylan K. Taylor
92193fd27b
Use entity IDs in EntityDamageBy*EntityEvents, fixed memory leaks related to PvP/PvE/PvM ( #418 )
2017-03-13 10:30:31 +00:00
Dylan K. Taylor
d41bdfc31c
Added resource packs support
2017-03-10 21:10:46 +00:00
Dylan K. Taylor
56990eb28b
MCPE protocol gets its own namespace
2017-03-08 20:28:39 +00:00
Dylan K. Taylor
4fbc5738e3
Re-implemented chunk sending ( #304 )
...
Re-implement chunk sending, send chunks inside a radius instead of below a count
This sends chunks in concentric squares around players. When the radius is hit, it will pad out the radius until a full circle of chunks is loaded around the player.
TODO: implement radius-per-tick, send chunks in concentric circles, use radius for player spawning.
To set your server chunk radius, change `view-distance` in server.properties. Values are intended to be the same as MCPE render distance values. With matching client and server render distances the chunks should reach the horizon.
NOTE: You may notice significantly increased memory usage per player when increasing these values to something respectable. This is normal and expected.
A player with render distance 14 for example will cause loading of 600+ chunks. A player cannot however exceed the render distance limit set in server.properties - the server will simply not send any more chunks.
Render distance of 8 chunks is approximately 200 chunks. This is roughly equivalent to the original default max-chunks of 192 in pocketmine.yml, but sent in a circle instead of a square.
Wait for client to request a chunk radius before ordering chunks
Use 8 for default maximum radius (roughly matches old setting of 192)
Calculate spawn chunk count from chunk-sending.spawn-radius
2017-03-02 10:30:30 +00:00
Dylan K. Taylor
9c36e0cd1c
Added crafting data packet cache, reduces on-join lag spikes, close #248 ( #269 )
2017-01-23 11:03:46 +00:00
Dylan K. Taylor
8ba0b49022
Initial working R/W of 0.16 + 1.0 worlds, highly unstable
2017-01-15 17:26:20 +00:00
Dylan K. Taylor
74c9ed04a0
LevelDB is loaded? Tell me about it
2017-01-15 17:17:57 +00:00
Dylan K. Taylor
b28e38ab26
Move some exceptions out of utils into their relevant namespaces, move some Chunk methods to ChunkUtils for I/O, refactor "colour" -> "color"
2017-01-15 11:31:12 +00:00
Dylan K. Taylor
4577f3ee22
Added config to warn if assertions are enabled and to disable exception throws
2017-01-15 00:38:30 +00:00