414 Commits

Author SHA1 Message Date
Shoghi Cervantes
8c4faa8622 Added extra Exceptions 2014-10-28 21:07:12 +01:00
Shoghi Cervantes
b6f7ee20fc Added Error -> Exception handling 2014-10-28 20:43:36 +01:00
Shoghi Cervantes
34ae760def New way to spawn entities/tiles using a global register table, allow overriding default entity/tile classes via classes 2014-10-28 13:09:27 +01:00
Shoghi Cervantes
350cee3d41 Added Event allocation pool, updated SPL with Class::onClassLoaded() 2014-10-28 10:47:40 +01:00
Shoghi Cervantes
144a871c07 Improved Vector3 and Block handling, less allocation on Positions 2014-10-28 10:03:10 +01:00
Shoghi Cervantes
7abf52e615 Implemented Vector3 List and AxisAlignedBB Pool to decrease object allocation 2014-10-27 15:39:20 +01:00
Shoghi Cervantes
5310ba3ae6 Fixed crash when doing var_dump() of anything that contains the Server object 2014-10-20 13:06:53 +02:00
Shoghi Cervantes
34946faf94 Remove errors from Utils::getRandomBytes() 2014-10-19 13:44:38 +02:00
Shoghi Cervantes
3b47513439 Return result directly on Server->getOfflinePlayer() 2014-10-19 02:49:58 +02:00
Shoghi Cervantes
94e9485be9 Improved broadcast packet encoding 2014-10-17 09:36:47 +02:00
Shoghi Cervantes
1adf53a81e Fixed error_handler trace generation on higher debug levels 2014-10-15 17:58:03 +02:00
Shoghi Cervantes
ebb844fa52 Removed unused code, fixed undefined variables 2014-10-11 22:22:51 +02:00
Shoghi Cervantes
645c00b2f7 Added TextWrapper 2014-10-11 00:01:53 +02:00
Shoghi Cervantes
8b585fd9f7 Deprecated Level->getSpawn() in favor of Level->getSpawnLocation() 2014-10-10 11:43:54 +02:00
Shoghi Cervantes
62af784d37 Removed unused imports 2014-10-08 17:00:23 +02:00
Shoghi Cervantes
dd140ce018 Fixed arrow damage not getting overridden by the event result 2014-10-08 15:38:58 +02:00
Shoghi Cervantes
582c165479 Implemented Explosion and PrimedTNT, closes #2139 2014-10-07 17:46:01 +02:00
Shoghi Cervantes
0b79d74a2f Implemented QueryRegenerateEvent 2014-10-07 11:02:05 +02:00
Shoghi Cervantes
d53ba52d32 Removed parse errors from AutoReporting 2014-10-06 12:12:54 +02:00
Shoghi Cervantes
9db2fe40eb Fixed player datta not getting saved, use fall distance on fly calculation 2014-10-06 12:02:36 +02:00
Shoghi Cervantes
b0c40dc1ab Fixed Server->unloadLevel() not removing objects from memory 2014-10-04 20:56:27 +02:00
PEMapModder
41f94f7385 Fixed PlayerChatEvent::setRecipients() being useless 2014-10-04 20:10:12 +08:00
Shoghi Cervantes
602bdf27a5 Compatibility with pthreads > 2.0.8 2014-10-02 16:58:37 +02:00
Shoghi Cervantes
f8378c09ba Fixed entities getting OnGround default to true 2014-09-30 13:13:31 +02:00
Shoghi Cervantes
5b6b789ab3 Improved exponentiation 2014-09-29 13:24:25 +02:00
Shoghi Cervantes
886ad8442c Fixed #2055 Extra packet data sent on armor change 2014-09-28 17:31:44 +02:00
Shoghi Cervantes
2ded2013bf Fixed auto-save configuration, made it global 2014-09-28 10:50:43 +02:00
Shoghi Cervantes
d720113ac9 Added non-threaded chunk generation, toggleable on pocketmine.yml 2014-09-26 11:18:46 +02:00
Shoghi Cervantes
1ac08ce404 Fixed Utils::getUniqueID() on Linux due to /proc/cpuinfo 2014-09-20 12:39:57 +02:00
Shoghi Cervantes
056ed4802f Send project name on usage 2014-09-19 15:08:40 +02:00
Shoghi Cervantes
bcb65e9a48 Send build number on usage 2014-09-19 15:07:48 +02:00
Shoghi Cervantes
5404ba77d0 Throw exception when Server::dispatchCommand() is called with an invalid CommandSender 2014-09-19 10:30:35 +02:00
Shoghi Cervantes
d312d2a143 Possible fix for #2046, removed embedded class names 2014-09-19 09:44:58 +02:00
Shoghi Cervantes
69ab0d433b Removed old trigger_error() 2014-09-16 00:42:36 +02:00
Shoghi Cervantes
bb4c54106a Added temporal workaround for pthreads version check 2014-09-15 18:55:15 +02:00
Shoghi Cervantes
c71689a919 Optimized server sleep times 2014-09-12 15:56:21 +02:00
Shoghi Cervantes
83eb9f778a Level generators can be set in server.properties 2014-09-12 01:05:32 +02:00
Shoghi Cervantes
bb34e06754 Fix division by zero when the server goes too fast 2014-09-09 19:13:35 +02:00
Shoghi Cervantes
e06092cb99 Added Server::getTickUsage() 2014-09-09 18:46:20 +02:00
Shoghi Cervantes
57373b8c5e TPS measurement improvement, moved interface handling to tick 2014-09-09 18:07:27 +02:00
Shoghi Cervantes
98e0583f34 Implemented Falling Sand 2014-09-05 10:50:06 +02:00
Shoghi Cervantes
020351e20f Fixed #2052 2014-09-05 09:02:45 +02:00
Shoghi Cervantes
9980a0780a Fixed Server::getTicksPerSecond() 2014-09-04 12:22:16 +02:00
Shoghi Cervantes
352497d88c Improves server ticking.
As I was lying in my bed, I came to a solution for the tick problem.
While remembering how most of the time the server is sleeping,
and how the TPS drops once costly operations are ticked,
I reviewed mentally that part of the code, Server::tick().

Then I saw it: I was setting the next execution time
using the time after it was executed as the base, but it should
have been done using the tick start time - that way if something takes
longer, the server will catch up and won't drop the TPS
until the CPU hits its limit.

I got up, got to my computer, and checked that function.
It was exactly as I saw in a near-dream state, so I fixed it
and tested things if they worked right.

Now I'm fully awake and I can't sleep anymore, so I wrote this.
2014-09-04 01:04:09 +02:00
Shoghi Cervantes
ba08bfaa45 Do not report E_PARSE or E_COMPILE_ERROR crashes 2014-09-03 13:38:24 +02:00
Shoghi Cervantes
dea4513c34 Possible fix for #2041 2014-09-03 11:55:49 +02:00
Shoghi Cervantes
97c87aa8fa Added __debugInfo() to Server and Level 2014-09-01 17:37:28 +02:00
Shoghi Cervantes
11f684d803 Improved CallbackTask timings data 2014-09-01 12:44:52 +02:00
Shoghi Cervantes
705e4da789 Tick entities on Level, show correct timing reports 2014-09-01 01:56:13 +02:00
Shoghi Cervantes
9b7a94b5ee Fixed timings ticks getting reset 2014-09-01 01:50:28 +02:00