35 Commits

Author SHA1 Message Date
Dylan K. Taylor
d1852834de Revert "Added capability to dump AsyncWorker memory"
This reverts commit eb4594348b6fe4f8af83d5fd386f393956f7b561.

This is far too unstable with more than one worker thread.
2017-08-22 20:46:20 +01:00
Dylan K. Taylor
eb4594348b Added capability to dump AsyncWorker memory 2017-08-22 19:57:00 +01:00
Dylan K. Taylor
ebb71fc6c5 Typehints and docs for MemoryManager 2017-08-15 19:48:19 +01:00
Dylan K. Taylor
c3b8be3f60 and more typehints 2017-07-14 10:56:51 +01:00
Dylan K. Taylor
bf3868c078 Missed one 2017-06-12 09:33:48 +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
4765242397 Drop support for 32 bit systems/PHP (#984)
* Cutting out 32-bit and minor improvements to bootstrap

* Byeeeeee

* Removing legacy code

* added note to the issue template
as suggested by @xxFlare
2017-06-10 16:11:28 +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
caced595d2 Fixed server crash on startup on 32-bit with memory limit set >= 4096MB 2017-05-30 14:15:40 +01:00
Dylan K. Taylor
971703a618 Dump object counts when dumping memory 2017-04-29 19:12:46 +01:00
Dylan K. Taylor
1266f8f1aa Fixed static properties not being dumped if an instance of the class was not referenced by Server 2017-04-29 12:25:00 +01:00
Dylan K. Taylor
a22306d418 Fixed static property refcount bug 2017-04-28 18:43:36 +01:00
Dylan K. Taylor
b542277eca Disable memory limit before performing a mem dump
Fix memory dumps not completing due to exhausting available memory
2017-04-28 16:53:05 +01: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
madcode15
7c8586684e Fixed resource not closed after memory dump (#324) 2017-02-04 18:31:00 +00:00
madcode15
80920a1673 Remove shutdown after memory dump. (#310) 2017-02-03 10:42:42 +00:00
Tim (robske_110)
c556ec84a2 MemoryManager: Fix sprint too less arguments if $from contains %x (#199) 2016-12-28 23:07:55 +00:00
SOFe
58ff381557 PhpStorm automated formatting (#11)
* PhpStorm reformatting

* Tuned PhpStorm reformatting

* Improved ItemIds and BlockIds formatting

* Tuned more PhpStorm reformatting

* Improved string concatenation
2016-10-03 19:05:48 +08:00
SOF3
6fc435da0e
Imports rearrangement 2016-10-03 00:43:46 +08:00
Shoghi Cervantes
34dc6ea0d6 NOTE! THIS SHOULD BE REVERTED LATER! Removed WeakRef dependency 2015-08-23 00:25:29 +02:00
Shoghi Cervantes
d7d05c20a9 Bumped to API 2.0.0 2015-08-23 00:25:29 +02:00
Shoghi Cervantes
3e2cce3c2c use cleanup 2015-08-07 21:26:24 +02:00
Shoghi Cervantes
5621ab0c49 Updated some packets for 0.12, UUIDs, other stuff! 2015-08-02 01:22:36 +02:00
Shoghi Cervantes
0c09361c46
Added main-hard-limit memory property similar to old memory-limit, use less memory on startup (RakLib) 2015-07-11 13:16:39 +02:00
Shoghi Cervantes
f7e6246dc2
Destroy cycles that reference player for faster collection 2015-06-19 13:31:29 +02:00
Shoghi Cervantes
b166628940
Added ability to dump memory 2015-06-19 13:01:49 +02:00
Shoghi Cervantes
1a1b8830a4
Added MemoryManager object watcher for object leak debugging, improved SPL Thread/Worker stopping, fixed some possible weak references crashing unexpectedly 2015-05-09 16:11:12 +02:00
Shoghi Cervantes
6fc7ee2775 Fixed some bad defaults, improved spawning 2015-04-27 14:43:33 +02:00
Shoghi Cervantes
897774f848
Increased manuall garbage collection rate 2015-04-19 16:16:05 +02:00
Shoghi Cervantes
bf4a8398c4
Moved chunk garbage collector to memory manager 2015-04-19 16:14:54 +02:00
Shoghi Cervantes
05385acb36
Added Memory Manager timings 2015-04-19 16:01:46 +02:00
Shoghi Cervantes
e3c48b22cb
Anvil fixes, improved memory settings 2015-04-19 11:45:43 +02:00
Shoghi Cervantes
1b84340e3f
Improved manager 2015-04-18 22:35:00 +02:00
Shoghi Cervantes
61828baa8f
Improved manager 2015-04-18 22:33:50 +02:00
Shoghi Cervantes
b2c25eaf36
Added MemoryManager, new memory properties, improved performance, updated RakLib, fixed misc. bugs 2015-04-18 20:13:52 +02:00