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
A highly customisable, open source server software for Minecraft: Pocket Edition written in PHP
Setup, help & support, FAQs
Head over to the documentation site. If you don't find what you're looking for there, talk to a human. Please do not use our issue tracker for support requests.
Discussion
Plugins
There are a very wide range of already-written plugins available which you can use to customise your server. Check out the old plugin repository, Poggit or just search GitHub.
For developers
- Latest API documentation - Doxygen documentation generated from development
- DevTools - A development tools plugin for creating plugins.
Can I contribute?
Yes you can! Contributions are welcomed provided that they comply with our Contributing Guidelines. Please ensure you read the relevant sections of the guidelines carefully before making a Pull Request or opening an Issue.
Third-party Libraries/Protocols Used
- PHP Sockets
- PHP mbstring
- PHP BCMath
- PHP pthreads by krakjoe: Threading for PHP - Share Nothing, Do Everything.
- PHP YAML by Bryan Davis: The Yaml PHP Extension provides a wrapper to the LibYAML library.
- LibYAML by Kirill Simonov: A YAML 1.1 parser and emitter written in C.
- cURL: cURL is a command line tool for transferring data with URL syntax
- Zlib: A Massively Spiffy Yet Delicately Unobtrusive Compression Library
- Source RCON Protocol
- UT3 Query Protocol
Licensing information
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
pmmp/PocketMine are not affiliated with Mojang. All brands and trademarks belong to their respective owners. PocketMine-MP is not a Mojang-approved software, nor is it associated with Mojang.