Separate names with a comma.
Comments in 'General Discussion' started by cadude75, Oct 3, 2014.
It worked it just took two minutes to connect to the game and half of the map doesn't load
Thats usually problems with your device not rendering chunks and remember that SteadFast doesn't support infinite worlds.
@Dalton, see my previous reply on Steadfast.
PM 1.4 is pretty stable if you run it as multiple smaller servers.
I don't have a grudge against @williamtdr .... We are friends. @KnownUnown
Well, this is an interesting thread
I've just read everything on this thread, and I'll be duplicating several responses or adding a more in-depth explanation for future reference.
First of all, let me talk a bit about how PocketMine started, so you can understand several decisions/changes that have been done in the transition between 0.8 and 0.9.
You see, there is a site that documents the Minecraft Protocol and has a good amount of people working around it. All of them do it freely, and that information is used later by other people to create their projects. We are in 2011, and I had just started a custom Minecraft Client for the fun of it, having worked on web development only. I won't lie to you, it was a bunch of hacky code thrown around that just worked, and I wasn't happy with it. You can look around the code if you want. So, after a few months of working with it, I decided to start from scratch to create something that could be extended and developed easier than the old version. I did it during summer, and the code is on GitHub. If you know the internals of PocketMine-MP 1.0 to 1.3, you'll see that some code is really alike. In fact, the old event system and plugin handling (between other things) has its origins here. Keep this in mind, it was my first try at doing an extensible system for plugins. Why is this important? It's simple. The first PocketMine-MP version that was released used this system, I reused the code that I wrote before, and added a (really) basic plugin system, but it was not the final design. You'll see later why.
It's October 2012, and I just made the first commit to the PocketMine-MP project. It all started a few weeks ago, on the same group of Minecraft-related projects. I got interested in Minecraft: PE (that was on the 0.4.0 version when I started doing things) and looked up the protocol documentation for it. To my surprise, it had nothing except a few information on how to get shown on the local game list. Nothing else was known, and it was hard to get more information. Minecraft is written in Java, while Minecraft: PE is written in C++. There were several tools that decompiled Minecraft and got obfuscated code, that was later used to generate basic protocol information for each version. All we got on Minecraft: PE was an ARM .so library, and if lucky, some assembly code with method names.
I started PocketMine-MP as a way to document the protocol. Yes, read it, it was never meant in first place to be this. It was decided later on, as with the name change. I can't even remember what the old project was called, but I'm not good with naming projects, so I guess something not interesting.
I won't detail all that happened between October and the day of the first release, you can come to the IRC channel sometime if you want to hear it. There is a few people around from that time, like Jocopa3 and Intyre that had also started a project for a server. You can read about theirs here, and later on I comment there showing my project (around page 9).
The first version of PocketMine-MP, Alpha_1.0.0, was released around January of 2013 and worked with MCPE v0.5.0. From here to PocketMine-MP Alpha_1.3.12 Minecraft features were implemented, but the core, something that limited having modular code, plugin development and fast updating, was still there. Since the first release it was there as a placeholder for a better system to come. This was delayed since the Alpha_1.2, where discussions of rewriting the code started to show up.
Since I started rewriting (or just starting from scratch), development speed, ability to debug the code, and modularization improved. Stuff like networking code was moved to a different project. Objects instead of raw data were passed around. Everything could be changed easily, without affecting other code. And that was only the core.
Some people might already know after reading the text above, but it was a paint to work with the old code. It was show as "pretty" to the end user, but it was really buggy. Even more than 1.4. The difference between 1.4 and old versions is that 1.4 shows exactly what happens on the server, but the old version skipped sending some data. 1.4 was also developed having in mind the next Minecraft: PE version, but testing with the old client. Did you know that the old 1.4 had support for infinite worlds, but couldn't get fully tested since only a part of the world was shown on the client? This was thanks to the modular system, that allows switching or changing code without affecting other modules. MCPE 0.9 beta was released, and we just had to change some code around and... done! Suddenly we could see the full world.
Now, the infamous "New API". The old system had a lot of undefined behaviors, you never knew what the server was going to do with the data and you did not know the data you received. I think the best part of PocketMine-MP is its ability to load plugins that modify and run custom code. If this is easy, more people will create plugins. Don't confuse "easy" with "simpler", they are different terms. The New API is documented, had everything tested beforehand and includes ways to do projects that you couldn't do before. For example, BigBrother.
And after a few months of continuous development, we have not released a version tagged as "stable". Why? It is not stable enough for my liking. It's a beta, and we release it as a beta. Even Minecraft: PE has the alpha tag in the version number.
Oh, and all of this time, I've been studying, living my life and normal things that human beings do. I'm the contributor of most of the PocketMine-MP code. I release my work for free, and I don't expect anything in return. Donations are helpful, but even if we didn't had enough, I would put my money on this project. I want to provide the community with a server software that has all the Minecraft features and works smoothly. Oh, I forgot. Besides developing the core, we've to code all the Minecraft features, from scratch. And do it in a way that the client predictions match with what the server is doing. Everything you see on your screen when playing is a result of the server code, the client only shows things, and in some cases, predicts the near future to show smooth updates.
Well, now let's reply your questions.
PocketMine-MP was never meant as a replacement for the vanilla server. It's for people that want more.
This "Windows XP" discussion. Microsoft did changes and improvements on the networking code for Windows Vista. PHP 5.5 drops the old method and uses the new way, getting better performance. Now... You want even better performance? Use Linux. You can run a VM with Linux on Windows XP if you want, and you'll get better performance. Also, about not alerting about it. This was announced over Twitter, the official release post and the website itself. I think that counts as notifying my users on release, too bad that some people don't read what I write
If you find some kind of bug, please go to the Issue Tracker, search for duplicates, and report it. You can also drop by the IRC and ask if we know about it, even get support there directly from developers and plugin creators.
About your issue with blocks, it's something called spawn protection. This comes from Minecraft itself, and it's default on. There are lots of solutions to your problem here on these forums, have you tried to search for them?
All release pages include a list of some important features that are not implemented or known to be bugged. If you had read them, in all of them importing old worlds or 0.9.0 worlds is on that list. I think that release notes are important on beta builds, so I write them by hand.
Several people (@KnownUnown @williamtdr and more) have been working on a port of PocketMine-MP Alpha_1.3.12 to support 0.9, called Steadfast. While I think more good will be done testing 1.4, I helped them on critical parts of the code and backported several fixes. Keep in mind that it's a temporal replacement.
Minecraft: PE is also buggy. For example, we don't have full server-side inventory. That's why your inventory glitches. It's a limitation of the protocol, so only Mojang can fix that. several bugs also exist that cause features to be bugged, crash unexpectedly or behave wrongly, without server interaction. The only way we have to handle that is implementing workarounds.
There is a guy working on a C# implementation of a Minecraft: PE server right now. He doesn't have to reverse engineer anything, since all the code is already written and documented. It took us about a year to fully understand the first protocol layer, RakNet (that was later open-sourced). Now you can implement it in less that 4 hours. From there you jump directly to Minecraft: PE itself, without having to look up ARM assembly nor start Wireshark to try to guess some packet structure.
I do not expect anything in return for what I do in PocketMine-MP, but the community has been always really good, supporting PocketMine-MP. If they find errors in the code, they can open a ticket, or ask me directly. If it's something simple, you can see a fix being pushed in just a few minutes, or a few hours if more complex. If it can't be reproduced easily, I'll provide ways to get useful data to discover where the problem comes from, even as giving custom builds to specific people with extra debugging code.
Instead of writing about how this is crap, you can help us solve them. It's an open-source and a community-focused project. Without the community, we wouldn't be here, nor I would be able to test all the things by myself.
And no one could do better than you. Less than two months ago, I couldn't bare how slow and buggy PocketMine was. Already, it runs just as good as 1.3.12 did with lots of things, and even better in some. I couldn't stand hearing this guy trash-talk all your hard work. I was afraid you were going to tableflip and give up. Don't give up. We're all counting on you. Don't feel bad because some guy starts complaining about all the features that there aren't, instead of thanking you for the features you have added.
A few thoughts:
1. History lesson is *extremely informative* as a newcomer to the scene I can’t thank you enough
2. “provide the community with a server software that has all the Minecraft features and works smoothly … don’t expect anything in return” – says it all, I’m humbled
3. “PE is also buggy. For example, we don't have full server-side inventory. That's why your inventory glitches. It's a limitation of the protocol … without having to look up ARM assembly nor start Wireshark to try to guess some packet structure.” – the reverse engineering you guys have done is EPIC, my hats off to you
I don't necessarily agree with this viewpoint.
#1 I see the ability to run game server on a mobile OS a cool flexibility option and possibly ahead of its time (in the future this could be the norm?)
#2 If you've had experience with Java and in particular the JVM you know it also has its quirks / workaround and vulnerabilities. IMHO Java (or any other language for that matter) is not a silver bullet. Therefore I would say Java has no significant advantage over PHP nor the reverse.
How can you have a job but still throw a temper tantrum like an entitled child?
#2 if you're careful enough, no except slightly better performance. Otherwise, PHP could be very buggy and use a lot of unnecessary memory reading.
Good to hear that you realize this is not a paid software. So, if you are so discontented, delete the software and don't use it. And yes, of course we're trying to make a stable release. If you hate, delete. If you want, wait. Complaining here won't make us work faster.
look, a GE software programmer/engineer who ONLY codes for money. This is a community driven open source project NOT a Corporate Project which is headed by ONLY one person! you'll be glad there is a server software available for mcpe that has been made for free! yes, for FREE!
BETA build. It's not supposed to be stable. And no one forced you to upgrade, just wait for a stable version.
He can't really do that because then he need jb to downgrade.
Then he should've waited for a stable version of PM 1.4.
And if he did some research, he would've found Steadfast before going through all of this.
Yep, exactly. The people that make these hateful posts on the forums are usually the ones who take one quick look on the home page and won't do any more research. It's their fault for being ignorant and unappreciative.
Darude - Sandstorm
This is an completely uninformed opinion.
~ Technician, ISTQB certified software tester, leisure time programmer.
It seems like most people (here) hate Windows 8 because other people hate Windows 8. They can't really form their own opinions because they don't really know what they're talking about.