I'm starting this thread to discuss something that @SOFe said in another thread: First, let me start by explaining what I understand from this statement. There is a feeling that the API versioning system is pointless. The reason for this is because people are writing plugins for ALPHA versions of the API and it should be obvious that they should wait for more stable versions. If this is somewhat askew, please let me know. Also, it isn't my intent to start trouble. I would simply like to present some perspectives that may be helpful. I believe that the growing desire for people to have, develop, and update plugins to work with alpha versions of the PMMP server API, is a direct result of 2 things. First, the increasing trend of moving from large computing devices (eg. desktops, laptops) to hand-held, portable systems (eg. tablets, smartphones), is one that old and new Minecraft players alike are heavily affected by. Secondly, PMMP is promoting the use of varied alpha versions of their server software via the homepage, current documentation, and community involvement. Spoiler: A Little Backstory I recently started helping a friend get his VPS going. His intent when we started, was to have a website for his son, and to host an 'always-on' MCPE server so he and his son could play together. The journey to get a working MCPE server going landed us square in the middle of several problems. The pocketmine.net website was the most prominent search result on Google, the information there was terribly outdated (to no fault of the current PMMP team) and it was difficult to tell that the forums had moved to a new home when coming in from a Google search. (I don't expect this to be fixed by the current PMMP team. The forums and site are already dying out and Google/Bing/<insertSearchEngineHere> will sort themselves out as the community migrates here.) When we finally figured out what had happened, the current PMMP site made it really easy to get a working PMMP server going. When we did this, the version installed was V1.6.2 (dev build number was around 360) and the API version was 3.0.0-ALPHA7. As of this morning, if I use the current installation methods, I get 1.7dev-32. The install I did yesterday for my development test setup is 1.7dev-31. Yikes! How can anyone keep up? Even if the GitHub 'Releases' says the current release is 1.6.2dev, the homepage is giving out something else and forget trying to figure it out from Jenkins. Over the following weeks, we changed build versions several times trying to get a good balance of functionality and plugin compatibility. We finally settled on sticking with the original install and updating plugins to meet our needs. Over the time that I was working on this, it was difficult to determine which version of PMMP had the most support (even if it was in alpha stages). Honestly, even with the reading I've done, I can't tell you which version of the server is most popular or which version the PMMP team prefers for people to use while the team continues developing. This is a nightmare for plugin developers and explains why a lot of plugins have been abandoned. As I helped update plugins, I decided that I wanted to help development of the core software so that a stable version could be reached. While the GitHub repos are very active and bugs are being filed, there isn't any clear direction for what needs to be done to 'solidify' the server software so that it can be considered stable. It would be much easier to jump in and assist if there was something that outlined the absolutes for this. As of right now, I have watched the installer change (more than once) since the beginning of August. Each update changing the version number of the server. And as of 6:30am EST, the current install script is broken as it installs php7.0 when php7.2 is required for the server version being installed. I've helped my friend update 5 - 6 plugins to be compatible with 3.0.0-ALPHA7, and made a full fledged attempt to absorb as much information about the direction that PMMP is currently heading. Honestly, it's been a ride but I'm really reaching a point of understanding as to why there isn't a stable version yet. Summary It's very evident that the Minecraft Community is thirsting for a good MCPE server software. PMMP is the current turn-to software to fill this need. While the PMMP core community may understand all of the hiccups and hurdles of getting the current software up to speed, the general Minecraft Community is ignorant of these problems and expects to find something remotely similar to the MCPC servers that are so readily available. This thirst and combined ignorance is going to continue to lead to plugin development on constantly breaking API versions and questions from the community of how to update <insertPluginNameHere> until PMMP gets stabilized or another MCPE server software reaches a truly stable point. Spoiler: I Feel the Flames Already What can we do about this? Create a clearly defined, well organized, strictly focused list of things needed for PMMP to reach 'STABLE'. It's very difficult to jump in and assist as a software developer with nothing to provide direction (bug reports are not enough). Strictly Focused means that we need to trim the extras out. Eliminate the wants and hit hard on the needs. Make a call to developers. All of these plugin developers could be willing to help if there are clear points of focus and good leadership. It could be beneficial to reach out to Mojang / Microsoft for assistance as this can directly impact the number of users on MCPE. Pick a current version of the server to promote. This will give current plugin developers a stopping / focal point with the current API. New users will all be facing similar issues instead of varied problems that are dependent on when they installed. The 'non-development' community will settle until a significantly stable version of the server is released. Time and resources will be freed up to work on stabilizing PMMP.
While your answer would typically be the best general course of action, the main branch is currently in Alpha which is essentially the root of this problem. If the master branch were to reach Beta, this would be a significant step towards resolving this issue.
allow me to briefly correct you... the tagged ALPHA versions of the API are the versions people should currently be developing for, because those versions are finalized. It is this assumption that results in so many problems with plugin development, because between tags, anything can happen. This assumption may possibly be correct in terms of bug fixes, but breaking changes are also allowed to happen without warning. Depending on your interpretation of stability, being in constant flux is definitely not stable. You should be using github tags, or the latest Alpha-channel build from Jenkins. You are correct about the varied promotions, and it is not currently clear that people should be using github tags. Most people simply download the latest build of Jenkins or download a zip of the current master branch. The API version remains the same after a tag is created until breaking changes are made. Once the API version is bumped for a breaking change, it is not bumped again until the version is tagged. We are aware that the installer is currently broken and fixes are WIP. The installer hasn't been given much attention until recently and I have observed several usability issues with it myself that you have also mentioned. TL;DR: the installer is a heap of crap, it's being worked on. We are also aware that the documentation is complete bullshit, and work is also in progress to make it somewhat sane. (I think shoghicp and intyre must have been drunk when writing it).
Thank you for this clarification. My understanding of SOFe's statement was mostly derived from the context of the thread it was posted in. Otherwise, my intention wasn't to call out the current flaws so much as to point out a need for clear direction and assistance from the dev community. The idea of watching the development of PMMP reaching a Stable release is exciting. It's even more exciting to know that it's possible to aid in reaching that goal.
I maintain a load of plugins for my own servers and for poggit, and I don't think it's quite as bad as you make out... Unfortunately you were discovering all this at exactly the time everything was changing the most :-/ In my case I had a stable setup when the breaking changes began, and only updated the server phars when necessary, such as protocol updates or a must-have bugfix. Most of my servers are still on ALPHA6, and if you always want the cutting edge version then you pay the price of continually having to update... So as dktapps has been pointing out for a while, using the tagged releases is the best option. Inevitably devs get requests for updates to latest master when anything breaks, and since most devs can update their plugins in minutes it's not really a big problem - moreso for people running servers who keep updating without first preparing all the right plugins.
Why would you have to update to alpha8? Alpha7 is now tagged which means it isn't going to change again, and there's plenty of plugins for it on Poggit and github, so use that for production and use alpha8 to prepare for the next obligatory update. Also since mcpe1.2 might be out soon you'll need to get your plugins ready for the mcpe1.2 branch and alpha8 at some point.
it has little to do with MCPE updates... PocketMine-MP lost almost a year's worth of development time due to Shoghi disappearing and other things. People forget that a lot of the stuff I am currently doing is stuff that Shoghi intended to do 2 years ago before he vanished. nobody is forcing you to update (yet), most servers on 1.1 are still running ALPHA6. Full changelogs are provided on the releases, so it's not like you're in the dark.