mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-06-07 04:17:07 +00:00
Merge remote-tracking branch 'origin/stable'
# Conflicts: # composer.lock # resources/vanilla # src/CrashDump.php # src/pocketmine/VersionInfo.php # src/pocketmine/network/mcpe/protocol/DataPacket.php
This commit is contained in:
commit
f215207a27
@ -15,3 +15,9 @@ Plugin developers should **only** update their required API to this version if y
|
|||||||
- Pumpkin and melon stems may not connect to their corresponding pumpkin/melon
|
- Pumpkin and melon stems may not connect to their corresponding pumpkin/melon
|
||||||
- New blocks, items & mobs aren't implemented
|
- New blocks, items & mobs aren't implemented
|
||||||
- Nether doesn't exist
|
- Nether doesn't exist
|
||||||
|
|
||||||
|
# 3.17.1
|
||||||
|
- Fixed some instances of plugin-caused crashes not being detected (eval()'d code, custom plugin paths).
|
||||||
|
- Server uptime is now included in crash reports.
|
||||||
|
- Hoes now take damage when used to break sponges.
|
||||||
|
- Using lava as fuel in a furnace now leaves behind an empty bucket.
|
||||||
|
@ -50,7 +50,7 @@
|
|||||||
"composer-runtime-api": "^2.0"
|
"composer-runtime-api": "^2.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phpstan/phpstan": "0.12.63",
|
"phpstan/phpstan": "0.12.64",
|
||||||
"phpstan/phpstan-phpunit": "^0.12.6",
|
"phpstan/phpstan-phpunit": "^0.12.6",
|
||||||
"phpstan/phpstan-strict-rules": "^0.12.2",
|
"phpstan/phpstan-strict-rules": "^0.12.2",
|
||||||
"phpunit/phpunit": "^9.2"
|
"phpunit/phpunit": "^9.2"
|
||||||
|
14
composer.lock
generated
14
composer.lock
generated
@ -4,7 +4,7 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "9ffd33446ed14804ca22c92c04a39796",
|
"content-hash": "ac798f92ac7eb3abe7fcead8074bac94",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "adhocore/json-comment",
|
"name": "adhocore/json-comment",
|
||||||
@ -1521,16 +1521,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpstan/phpstan",
|
"name": "phpstan/phpstan",
|
||||||
"version": "0.12.63",
|
"version": "0.12.64",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/phpstan/phpstan.git",
|
"url": "https://github.com/phpstan/phpstan.git",
|
||||||
"reference": "c97ec4754bd53099a06c24847bd2870b99966b6a"
|
"reference": "23eb1cb7ae125f45f1d0e48051bcf67a9a9b08aa"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/c97ec4754bd53099a06c24847bd2870b99966b6a",
|
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/23eb1cb7ae125f45f1d0e48051bcf67a9a9b08aa",
|
||||||
"reference": "c97ec4754bd53099a06c24847bd2870b99966b6a",
|
"reference": "23eb1cb7ae125f45f1d0e48051bcf67a9a9b08aa",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -1561,7 +1561,7 @@
|
|||||||
"description": "PHPStan - PHP Static Analysis Tool",
|
"description": "PHPStan - PHP Static Analysis Tool",
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/phpstan/phpstan/issues",
|
"issues": "https://github.com/phpstan/phpstan/issues",
|
||||||
"source": "https://github.com/phpstan/phpstan/tree/0.12.63"
|
"source": "https://github.com/phpstan/phpstan/tree/0.12.64"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -1577,7 +1577,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2020-12-15T16:37:16+00:00"
|
"time": "2020-12-21T11:59:02+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpstan/phpstan-phpunit",
|
"name": "phpstan/phpstan-phpunit",
|
||||||
|
@ -48,6 +48,7 @@ use function json_encode;
|
|||||||
use function json_last_error_msg;
|
use function json_last_error_msg;
|
||||||
use function max;
|
use function max;
|
||||||
use function mb_strtoupper;
|
use function mb_strtoupper;
|
||||||
|
use function microtime;
|
||||||
use function mkdir;
|
use function mkdir;
|
||||||
use function ob_end_clean;
|
use function ob_end_clean;
|
||||||
use function ob_get_contents;
|
use function ob_get_contents;
|
||||||
@ -60,7 +61,6 @@ use function sprintf;
|
|||||||
use function str_split;
|
use function str_split;
|
||||||
use function strpos;
|
use function strpos;
|
||||||
use function substr;
|
use function substr;
|
||||||
use function time;
|
|
||||||
use function zend_version;
|
use function zend_version;
|
||||||
use function zlib_encode;
|
use function zlib_encode;
|
||||||
use const FILE_IGNORE_NEW_LINES;
|
use const FILE_IGNORE_NEW_LINES;
|
||||||
@ -76,7 +76,7 @@ class CrashDump{
|
|||||||
* having their content changed, version format changing, etc.
|
* having their content changed, version format changing, etc.
|
||||||
* It is not necessary to increase this when adding new fields.
|
* It is not necessary to increase this when adding new fields.
|
||||||
*/
|
*/
|
||||||
private const FORMAT_VERSION = 3;
|
private const FORMAT_VERSION = 4;
|
||||||
|
|
||||||
private const PLUGIN_INVOLVEMENT_NONE = "none";
|
private const PLUGIN_INVOLVEMENT_NONE = "none";
|
||||||
private const PLUGIN_INVOLVEMENT_DIRECT = "direct";
|
private const PLUGIN_INVOLVEMENT_DIRECT = "direct";
|
||||||
@ -86,7 +86,7 @@ class CrashDump{
|
|||||||
private $server;
|
private $server;
|
||||||
/** @var resource */
|
/** @var resource */
|
||||||
private $fp;
|
private $fp;
|
||||||
/** @var int */
|
/** @var float */
|
||||||
private $time;
|
private $time;
|
||||||
/**
|
/**
|
||||||
* @var mixed[]
|
* @var mixed[]
|
||||||
@ -99,12 +99,12 @@ class CrashDump{
|
|||||||
private $path;
|
private $path;
|
||||||
|
|
||||||
public function __construct(Server $server){
|
public function __construct(Server $server){
|
||||||
$this->time = time();
|
$this->time = microtime(true);
|
||||||
$this->server = $server;
|
$this->server = $server;
|
||||||
if(!is_dir($this->server->getDataPath() . "crashdumps")){
|
if(!is_dir($this->server->getDataPath() . "crashdumps")){
|
||||||
mkdir($this->server->getDataPath() . "crashdumps");
|
mkdir($this->server->getDataPath() . "crashdumps");
|
||||||
}
|
}
|
||||||
$this->path = $this->server->getDataPath() . "crashdumps/" . date("D_M_j-H.i.s-T_Y", $this->time) . ".log";
|
$this->path = $this->server->getDataPath() . "crashdumps/" . date("D_M_j-H.i.s-T_Y", (int) $this->time) . ".log";
|
||||||
$fp = @fopen($this->path, "wb");
|
$fp = @fopen($this->path, "wb");
|
||||||
if(!is_resource($fp)){
|
if(!is_resource($fp)){
|
||||||
throw new \RuntimeException("Could not create Crash Dump");
|
throw new \RuntimeException("Could not create Crash Dump");
|
||||||
@ -112,7 +112,8 @@ class CrashDump{
|
|||||||
$this->fp = $fp;
|
$this->fp = $fp;
|
||||||
$this->data["format_version"] = self::FORMAT_VERSION;
|
$this->data["format_version"] = self::FORMAT_VERSION;
|
||||||
$this->data["time"] = $this->time;
|
$this->data["time"] = $this->time;
|
||||||
$this->addLine($this->server->getName() . " Crash Dump " . date("D M j H:i:s T Y", $this->time));
|
$this->data["uptime"] = $this->time - $this->server->getStartTime();
|
||||||
|
$this->addLine($this->server->getName() . " Crash Dump " . date("D M j H:i:s T Y", (int) $this->time));
|
||||||
$this->addLine();
|
$this->addLine();
|
||||||
$this->baseCrash();
|
$this->baseCrash();
|
||||||
$this->generalData();
|
$this->generalData();
|
||||||
@ -152,6 +153,7 @@ class CrashDump{
|
|||||||
}
|
}
|
||||||
$zlibEncoded = zlib_encode($json, ZLIB_ENCODING_DEFLATE, 9);
|
$zlibEncoded = zlib_encode($json, ZLIB_ENCODING_DEFLATE, 9);
|
||||||
if($zlibEncoded === false) throw new AssumptionFailedError("ZLIB compression failed");
|
if($zlibEncoded === false) throw new AssumptionFailedError("ZLIB compression failed");
|
||||||
|
$this->encodedData = $zlibEncoded;
|
||||||
foreach(str_split(base64_encode($this->encodedData), 76) as $line){
|
foreach(str_split(base64_encode($this->encodedData), 76) as $line){
|
||||||
$this->addLine($line);
|
$this->addLine($line);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user