This allows other threads to notify the main thread to wake it up while it's sleeping between ticks, allowing reduction of processing latency. Currently only RakLib and the CommandReader threads utilize this, but it's planned to extend it to more things in the near future. CommandReader is now event-driven instead of poll-based - the server will not poll the CommandReader thread for messages each tick anymore. RakLib utilizes this mechanism to get packets processed without delays to lower latency. This now adds an extra dependency - `pocketmine/snooze` library contains the meat of the code used for this. See the Snooze repository for details.
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 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.
Where can I get the latest .phar?
- Latest release builds can be found in our GitHub releases.
- Latest bleeding-edge development builds (and other builds in the build job channels) can be found on our Jenkins server.
Note: Please avoid development builds unless there is no other alternative for what you need. Development builds are subject to changes at any time without notice, and it is likely that your server or plugins might break without warning.
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.