RevivalPMMP / PureEntitiesX

A Revival of the original PureEntities, a plugin which provides MobAI for PMMP - Coming back soon
GNU General Public License v3.0
166 stars 76 forks source link

Server crashes every three to ten minutes. #276

Closed dirven350 closed 6 years ago

dirven350 commented 6 years ago

Required Information

PocketMine-MP version: 1.7dev #593 [Protocol 160; API 3.0.0-ALPHA10] The latest off of poggit currently, I apologize as I do not know the version name I am using. poggit.pmmp.io

PHP Version: 7.2.0RC6 Zend version: 3.2.0-dev OS : Linux, linux

Server crashes every three to ten minutes.


PocketMine-MP Crash Dump Fri Feb 2 02:00:10 EST 2018

Error: Value 2155074512 is too large!
File: src/pocketmine/nbt/tag/IntTag
Line: 69
Type: notice

Code:
[60]    /**
[61]     * @param int $value
[62]     *
[63]     * @throws \TypeError
[64]     */
[65]    public function setValue($value) : void{
[66]        if(!\is_int($value)){
[67]            throw new \TypeError("IntTag value must be of type int, " . \gettype($value) . " given");
[68]        }elseif($value < -(2 ** 31) or $value > ((2 ** 31) - 1)){
[69]            throw new \InvalidArgumentException("Value $value is too large!");
[70]        }
[71]        parent::setValue($value);
[72]    }
[73] }
[74] 
[75] 
[76] 
[77] 
[78] 
[79] 

Backtrace:
#0 src/pocketmine/nbt/tag/NamedTag(38): pocketmine\nbt\tag\IntTag->setValue(integer 2155074512)
#1 src/pocketmine/nbt/tag/IntTag(38): pocketmine\nbt\tag\NamedTag->__construct(string BombTime, integer 2155074512)
#2 PureEntitiesX_0.2.8_dev3.phar/src/revivalpmmp/pureentities/entity/monster/walking/Creeper(82): pocketmine\nbt\tag\IntTag->__construct(string BombTime, integer 2155074512)
#3 src/pocketmine/level/format/io/region/Anvil(71): revivalpmmp\pureentities\entity\monster\walking\Creeper->saveNBT()
#4 src/pocketmine/level/format/io/region/McRegion(381): pocketmine\level\format\io\region\Anvil->nbtSerialize(pocketmine\level\format\Chunk object)
#5 src/pocketmine/level/format/io/BaseLevelProvider(131): pocketmine\level\format\io\region\McRegion->writeChunk(pocketmine\level\format\Chunk object)
#6 src/pocketmine/level/Level(1055): pocketmine\level\format\io\BaseLevelProvider->saveChunk(pocketmine\level\format\Chunk object)
#7 src/pocketmine/level/Level(1044): pocketmine\level\Level->saveChunks()
#8 src/pocketmine/Server(2424): pocketmine\level\Level->save(boolean )
#9 src/pocketmine/Server(2566): pocketmine\Server->doAutoSave()
#10 src/pocketmine/Server(2276): pocketmine\Server->tick()
#11 src/pocketmine/Server(2151): pocketmine\Server->tickProcessor()
#12 src/pocketmine/Server(1739): pocketmine\Server->start()
#13 src/pocketmine/PocketMine(554): pocketmine\Server->__construct(BaseClassLoader object, pocketmine\utils\MainLogger object, string /home/minecraft/multicraft/servers/server1413/, string /home/minecraft/multicraft/servers/server1413/plugins/)
#14 /home/minecraft/multicraft/servers/server1413/custom-phar-php72.phar(1): require(string phar:///home/minecraft/multicraft/servers/server1413/custom-phar-php72.phar/src/pocketmine/PocketMine.php)
95CivicSi commented 6 years ago

That's a fairly interesting problem to have.

#1 src/pocketmine/nbt/tag/IntTag(38): pocketmine\nbt\tag\NamedTag->__construct(string BombTime, integer 2155074512)

BombTime in our code should represent the number of ticks that a Creeper has been in close enough proximity of an enemy to explode. After BombTime >= 64, the Creeper should explode. Do you have a plugin that is canceling ExplosionPrimeEvent?

For the record, BombTime of 2155074512 is approximately 3.4 years of time that the creeper supposedly followed an enemy while close enough to blow up.

95CivicSi commented 6 years ago

Test the changes on the Legacy-3.0.0-ALPHA10 branch please.

https://github.com/RevivalPMMP/PureEntitiesX/tree/Legacy-3.0.0-ALPHA10

95CivicSi commented 6 years ago

If you need a .phar file, you can get it here: https://poggit.pmmp.io/r/22345/PureEntitiesX_dev-213.phar

dirven350 commented 6 years ago

Thanks!

95CivicSi commented 6 years ago

I take it this fixed the problem?