449dda83fb
Merge branch 'release/3.3' into release/3.4
2018-11-22 16:48:57 +00:00
6bc79149c3
SubChunk: Fixed $changed not getting set in setBlock() when only block data changed
...
it was comparing a string and an int. This now compares the integer values first.
2018-11-22 16:47:25 +00:00
cdf7e28251
shut up PhpStorm
2018-11-17 18:12:48 +00:00
a02f422d85
SubChunk: Fixed constant redefinition on worker threads when autoloading
...
this happens when workers inherit constants but not classes.
2018-11-17 16:29:53 +00:00
f8bfbc107d
Reduce chunk memory usage by 20-60% by exploiting PHP copy-on-write behaviour ( #2527 )
...
This takes advantage of two key behaviours of PHP:
1. Assigning a string does not copy the string
2. Changing an offset in a string causes the string to be copied.
These two factors combined, along with the fact that blocklight and skylight arrays are usually all-zeros, allow us to produce a significant memory usage reduction of loaded chunks.
A freshly generated PM world with 3,332 chunks loaded drops from 310MB to 200MB memory usage with these changes applied.
2018-11-17 14:46:05 +00:00
554c029fbd
Merge branch 'release/3.3' into release/3.4
2018-11-13 18:24:08 +00:00
e018311e73
Make start script errors a bit more noob-friendly
2018-11-13 18:23:54 +00:00
de50f02076
Merge branch 'release/3.3' into release/3.4
2018-11-12 22:07:22 +00:00
71d02e5870
Improve dev build error messages
2018-11-12 22:07:14 +00:00
46d9475568
Use Utils::getNiceClosureName() in PluginManager
2018-11-11 19:50:07 +00:00
788b278fc3
Utils: fixed handling of non-anonymous closure functions
2018-11-11 19:43:00 +00:00
2e4143f57e
Merge branch 'release/3.3' into release/3.4
2018-11-11 12:38:53 +00:00
d312aef1ac
3.3.3 is next
2018-11-11 11:58:51 +00:00
200de3fe84
Release 3.3.2
3.3.2
2018-11-11 11:58:25 +00:00
f560a6efea
Merge tag '3.2.7' into release/3.3
2018-11-11 11:24:23 +00:00
7ecd7fd13f
Release 3.2.7
3.2.7
2018-11-11 11:23:20 +00:00
5284ad0346
Merge branch 'release/3.3' into release/3.4
2018-11-11 11:15:46 +00:00
b893645a81
Merge branch 'release/3.2' into release/3.3
2018-11-11 11:15:39 +00:00
b19b3134ad
PluginManager: reduce unnecessary indentation
2018-11-11 11:15:27 +00:00
7cf36f460b
Merge branch 'release/3.3' into release/3.4
2018-11-10 22:37:08 +00:00
243f86b0a0
Merge branch 'release/3.2' into release/3.3
2018-11-10 22:37:02 +00:00
9156cbc269
PluginManager: Make registerEvents() check order more logical
...
Prioritize validating that the function is actually a handler, before trying to parse its doc comment.
2018-11-10 22:36:46 +00:00
a5f776af2f
Merge branch 'release/3.3' into release/3.4
2018-11-07 22:11:13 +00:00
43fe6a1934
Merge branch 'release/3.2' into release/3.3
2018-11-07 20:02:28 +00:00
342a74ffcb
Level: Collect garbage from chunk internals in doChunkGarbageCollection()
2018-11-07 20:01:07 +00:00
3d2701e775
Merge branch 'release/3.3' into release/3.4
2018-11-04 23:32:56 +00:00
2183bf875c
Merge remote-tracking branch 'origin/release/3.2' into release/3.3
2018-11-04 23:32:33 +00:00
8cc2a4ce5d
Remove start script support for source-code installations ( #2495 )
...
This was suggested recently by @TheDeibo. We don't want users running source-code installations unless they are developers, and developers should know how to boot a source-code installation anyway.
2018-11-04 23:31:57 +00:00
e26af3fa1b
TaskScheduler: don't catch unexpected exceptions
...
this means that errors in scheduled tasks which are uncaught will now cause a server crash.
2018-11-04 23:22:30 +00:00
1634dd62e3
Don't catch unexpected exceptions during command execution
2018-11-04 23:11:51 +00:00
755db3dac8
Added a ClosureTask implementation for easier task scheduling ( #2497 )
2018-11-04 22:55:40 +00:00
3dabf90b0e
Merge branch 'release/3.3' into release/3.4
2018-11-04 22:38:58 +00:00
f61e14e341
Merge branch 'release/3.2' into release/3.3
2018-11-04 22:38:45 +00:00
7b24fbc8db
Utils: fix a mistake in getNiceClassName() doc
2018-11-04 22:38:38 +00:00
0543c17849
Merge branch 'release/3.3' into release/3.4
2018-11-04 22:15:46 +00:00
c4f3426bae
Merge branch 'release/3.2' into release/3.3
2018-11-04 22:15:21 +00:00
046c39b02e
Remove some Throwable abuse in AsyncTasks
2018-11-04 22:15:06 +00:00
87b471ce0f
AsyncPool: reverse e0d5c79848
, don't catch unexpected exceptions thrown by onCompletion()
...
this should never throw an uncaught exception, and if it does it indicates broken code.
2018-11-04 22:09:30 +00:00
055ba6aa7c
Merge branch 'release/3.3' into release/3.4
2018-11-04 11:57:35 +00:00
5c3eed40b3
Merge branch 'release/3.2' into release/3.3
2018-11-04 11:57:28 +00:00
3e5237b6e0
ItemEntity: remove useless instanceof
2018-11-04 11:57:22 +00:00
af1227f154
Merge branch 'release/3.3' into release/3.4
2018-11-03 19:43:54 +00:00
d9a867016c
Merge branch 'release/3.2' into release/3.3
2018-11-03 19:43:45 +00:00
a50a863ab7
Chunk: be more intelligent about fast-serializing chunks
...
This reduces the amount of useless data that pthreads has to copy around.
2018-11-03 19:43:35 +00:00
9caf62778c
AsyncTask: remove $serialize parameter from setResult()
...
Whether serialization is necessary can be determined automatically based on the type of variable.
2018-11-03 16:56:24 +00:00
d257d36e55
Merge branch 'release/3.3' into release/3.4
2018-11-03 15:14:27 +00:00
1b03168b88
Merge branch 'release/3.2' into release/3.3
2018-11-03 15:12:40 +00:00
6b9fee05d6
Fixed performance bug with chunk sending
...
this process of fast-serialization, fast-deserialize, network-serialize is an order of magnitude slower than just doing the network encode directly on the main thread, and also copies more useless data.
For the main thread, the figures were something like 3x more expensive, and then an extra 7x for deserialization on the worker thread. This is a ridiculously large overhead.
2018-11-03 15:12:30 +00:00
44d8a5528e
Merge branch 'release/3.3' into release/3.4
2018-11-03 12:12:42 +00:00
45a18ffe1e
Merge branch 'release/3.2' into release/3.3
2018-11-03 12:12:23 +00:00