pmmp / pocketmine-mp Goto Github PK
View Code? Open in Web Editor NEWA server software for Minecraft: Bedrock Edition in PHP
Home Page: https://pmmp.io
License: GNU Lesser General Public License v3.0
A server software for Minecraft: Bedrock Edition in PHP
Home Page: https://pmmp.io
License: GNU Lesser General Public License v3.0
I created some floating texts and got spammed by the following message:
Notice: Undefined variable: flags in phar:///usr/games/pocketmine-test/PocketMine-MP.phar/src/pocketmine/level/particle/FloatingTextParticle.php on line 92
I think it's missing...
$flags = Array();
Create a floating text and wait for the AddEntityPacket at join. At console you will see the notice.
Write a short description about the issue
a Fatal error on startup
Write a short description about the issue
Sign memory problem
Write a short description about the issue
When you use sendTip in a task it doesn't work and cause lags, when you sens a tip manually it doesn't work too:|
This is probably well-known, but might as well log it here. The sounds that play while breaking a block, when the block breaks, and when placing a block do not play.
When I enter "stop" in console,
plugins were disabled but console window wasn't closed
Write a short description about the issue
There are no piston implementations for PocketMine
For some reason sometimes when porting worlds from PC version or maybe converting format types. the item entities can be written on chunk nbt file wrong and cause crash when loading them.
I Don't know and don't want to.
I added some debug messages in Item.php inside initEntity() and this is the output when invalid entity tries to get loaded.
tried to spawn invalid item entity (minecraft:wooden_axe:0:1) at Position(level=mines,x=-226.93924904777,y=74.661162516132,z=113.17553093388)
tried to spawn invalid item entity (minecraft:glass_pane:0:1) at Position(level=mines,x=-227.12765333584,y=74.908027488115,z=113.33313738153)
I added temporary workaround for this
if(!$this->namedtag->Item->id instanceof IntTag) {
$this->level->removeEntity($this);
return;
}
But this code above doesn't remove the entity record from nbt file.
This is the full error from console.
[22:56:03] [Server thread/CRITICAL]: TypeError: "Argument 1 passed to pocketmine\item\Item::get() must be of the type integer, string given, called in /home/primus/DevField/src/pocketmine/nbt/NBT.php on line 110" (EXCEPTION) in "/src/pocketmine/item/Item" at line 283
[22:56:03] [Server thread/EMERGENCY]: An unrecoverable error has occurred and the server has crashed. Creating a crash dump
[22:56:03] [Server thread/EMERGENCY]: Please upload the "/home/primus/DevField/CrashDump_Mon_Oct_17-22.56.03-EEST_2016.log" file to the Crash Archive and submit the link to the Bug Reporting page. Give as much info as you can.
And this is the dump string of that Item entity
["id"]=>
object(pocketmine\nbt\tag\StringTag)#11871 (2) {
["__name":protected]=>
string(2) "id"
["value":protected]=>
string(17) "minecraft:feather"
}
["Count"]=>
object(pocketmine\nbt\tag\ByteTag)#11872 (2) {
["__name":protected]=>
string(5) "Count"
["value":protected]=>
int(1)
}
["Damage"]=>
object(pocketmine\nbt\tag\ShortTag)#11873 (2) {
["__name":protected]=>
string(6) "Damage"
["value":protected]=>
int(0)
}
Write a short description about the issue
I'm not sure if this is actually a bug or not, but I thought I'd just report it anyways. When coding a plugin I struggled with contains() when using a custom item name. I executed some code on interact when a player has a certain block in his inventory, and found out that it DOES work with normal name items, and it Doesn't work with custom named items. I haven't found a way yet to make it work properly. (I don't want to foreach the inventory as it will execute my code more times if the player has more of the item)
case "finish":
if($p->getInventory()->contains(Item::get(Item::STONE, 0, 1))){
$this->getOwner()->finishQuest($p, $args[1]);
$p->sendMessage (TF::GREEN . "You completed quest " . $args[1] . "!");
return true;
break;
Using the Windows 10 Edition beta, I am unable to craft anything. Server consolet shows:
Notice: Undefined offset: 0 in /opt/pocketmine-src/src/pocketmine/Player.php on line 2598
It also appears to throw the last selected item in front of the player when closing the crafting screen.
The same server works correctly with Win10 Mobile version of minecraft PE.
When running Win10 beta, chop down a block of wood and try to craft planks. It appears to work, but when you close the crafting window, the planks disappear out of inventory and the wood reappears. Server console shows the message mentioned above.
Its not only /register, and i wanna ask if PmmP fixed it!
If u do show more on timings u can see other commands lag too a little!
If u spam commands it freeze!
I wanted to ask if PmmP have this problem , thats all ! Please look more before closing and issue!
Idc if i ever get banned! Is just another project "© by Dktapps" , so all are bound to get banned sooner or later!
Crash on connect
1.6dev 「Unleashed」 implementing API version 2.0.0 for Minecraft: PE v0.15.10.0 alpha (protocol version 84)
7.0.11
Ubuntu 14.04.1
Nexus 6P, Android 7.0, Minecraft PE v0.15.90 alpha build 1
readline
cannot be disabled with --disable-readline
if the extension is present.
readline
PHP extension, with --disable-readline
option.Write a short description about the issue
I'm join in Server, Crash my Client, is possible fix?
-Delleted issue about ServerAuth-
And whats more , spamming it in chat , cause console errors, showing u timings in process , was crazy!
(I told some players, if they can to spam with �)
-PmmP devs read from this point
Last issue affect all forks and even PmmP, spamming with that unknown symbol cause console gliches!
Tested on linux!
When starting up, the server crashes with Segmentation fault (core dumped)
and exits
I'm moving my server over to Linux from Windows, and I'm aware that 64-bit PHP has this issue under Windows, and my previous workaround was to just use a 32-bit version of PHP. However, it's not possible to do this under Linux since the plain x86 version cannot run in a 64-bit environment.
It turns out I can run the x86 version after enabling multilib
, ok.
However, I'm still crashing quite a bit (70-80% of the time starting up) with a log I've updated below.
[02:25:22] [Server thread/INFO]: Preparing level "world"
*** Error in `PocketMine-MP 1.6.1dev': double free or corruption (fasttop): 0x09b32680 ***
*** Error in `PocketMine-MP 1.6.1dev': double free or corruption (fasttop): 0x09b32680 ***
/usr/lib32/libc.so.6(+0x6815a)[0xf743c15a]
/usr/lib32/libc.so.6(+0x6ed07)[0xf7442d07]
======= Backtrace: =========
PocketMine-MP 1.6.1dev[0x86641d6]
/usr/lib32/libc.so.6(+0x6815a)[0xf743c15a]
PocketMine-MP 1.6.1dev(zend_lookup_class_ex+0x6e7)[0x8651375]
/usr/lib32/libc.so.6(+0x6ed07)[0xf7442d07]
PocketMine-MP 1.6.1dev[0x83a322e]
/usr/lib32/libc.so.6(+0x6f4d6)[0xf74434d6]
PocketMine-MP 1.6.1dev[0x86ce382]
PocketMine-MP 1.6.1dev[0x86641d6]
PocketMine-MP 1.6.1dev(zend_call_function+0xe05)[0x8650769]
PocketMine-MP 1.6.1dev(_zval_dtor_func+0x96)[0x8664406]
Aborted (core dumped)
On Windows, shutdown will hang at "Stopping CommandReader thread" until another input is received, such as hitting the Enter key.
stream_set_blocking()
does not work on Windows. This results in the fgets()
call to stdin to block the thread until another input is received. This issue does not occur on Linux as far as I can tell.
This is a rather difficult problem to resolve cleanly. Since Thread::kill()
was removed from pthreads in v3, the thread cannot be forcefully killed.
I have made a previous attempt to resolve this with an implementation using stream_select
which also fails on Windows (returns 1 when no streams have changed >:-[)
PocketMine/PocketMine-MP#3990
https://bugs.php.net/bug.php?id=34972
I have good world on my minecraft, now i want to run it under pocketmine
more protocol just like genisys;)
Hello,
So, I have this script which was properly working with another build of Pocketmine, however this time I'm not sure how to get it to work in order to download the latest successful build from the jenkins server since the file that is being downloaded has a different series of combinations between letters and numbers.
Here is the script:
#!/bin/bash
function jsonValue() {
KEY=$1
num=$2
awk -F"[,:}]" '{for(i=1;i<=NF;i++){if($i~/'$KEY'\042/){print $(i+1)}}}' | tr -d '"' | sed -n ${num}p
}
RLS=`curl -sX GET https://jenkins.pmmp.gq/job/PocketMine-MP/api/json | jsonValue number 1`
cd /var/www/html/jar
wget https://jenkins.pmmp.gq/job/PocketMine-MP/lastSuccessfulBuild/artifact/PocketMine-MP_1.6.1dev-$RLS_f50c63a0_API-2.1.0..phar -O pocketmine.phar
chown -R nobody:nobody pocketmine.phar
So, after the build number on the file's name, on each new build there are extra letters/numbers that are not included in the json file, how can I tweak this in order to automate my repo server to dowload each successful build and rename it to just pocketmine.phar so that I can download it on my other nodes whenever someone deploys a new instance of pocketmine?
This script will only grab the build number.
It would be awesome if somebody here made the BossBarAPI like in Bukkit and/or made BossEventPacket fully functional.
Hi!
I tried the 16.0 phar and the servee was working.In MCPE, it was shown 16.0 in the server info but when i tapped it , it was saying Outdated Server.
How can it be outdated?
I have 16.0 And the server also has 16.0.
I dont have the beta of 16.0.
I have the real 16.0 Version of MCPE.
Please fix this and reply that how should I solve this problem.
When will you add 0.16.0 to the new Pocketmine-MP?
Hi!
RakLib and Spl , are empty folders, it only happens here, so i need to copy them from Genisys!
When I start the server I always get such pocketmine .... things, is this a bug or is it normal for MacOS?
[06:09:30] [Server thread/WARNING]: Non-packaged PocketMine-MP installation detected, do not use on production.
[06:09:30] [Server thread/INFO]: Loading pocketmine.yml...
[06:09:30] [Server thread/INFO]: Loading server properties...
[06:09:30] [Server thread/INFO]: language.selected
[06:09:30] [Server thread/INFO]: pocketmine.server.start
[06:09:30] [Server thread/INFO]: pocketmine.server.networkStart
[06:09:31] [Server thread/INFO]: pocketmine.server.info
[06:09:31] [Server thread/INFO]: pocketmine.server.license
[06:09:31] [Server thread/INFO]: Loading recipes...
[06:09:31] [RakLibServer thread/CRITICAL]: **** FAILED TO BIND TO 0.0.0.0:19132!
[06:09:31] [RakLibServer thread/CRITICAL]: Perhaps a server is already running on that port?
[06:09:31] [Server thread/EMERGENCY]: RakLib crashed!
[06:09:35] [Server thread/INFO]: ----- PocketMine-MP Auto Updater -----
[06:09:35] [Server thread/INFO]: It appears you're running a Beta build, when you've specified that you prefer to run Stable builds.
[06:09:35] [Server thread/INFO]: If you would like to be kept informed about new Beta or Development builds, it is recommended that you change 'preferred-channel' in your pocketmine.yml to 'beta' or 'development'.
[06:09:35] [Server thread/INFO]: ----- -------------------------- -----
[06:09:35] [Server thread/INFO]: pocketmine.level.preparing
[06:09:35] [Server thread/INFO]: pocketmine.server.query.start
[06:09:35] [Server thread/INFO]: pocketmine.server.query.info
[06:09:35] [Server thread/INFO]: pocketmine.server.query.running
[06:09:35] [Server thread/INFO]: pocketmine.server.defaultGameMode
[06:09:35] [Server thread/INFO]: pocketmine.server.startFinished
[06:09:35] [Server thread/CRITICAL]: pocketmine.server.networkError
When a world is unloaded, the Level object is not destroyed due to Position objects holding references to it. This causes myriad bugs, the most famous ones being examples like getName() on null (PocketMine/PocketMine-MP#4205), Level::getProvider returning null (iTXTech/Genisys#1908).
The memory leak is very minor, barely worthy of the name "leak" at all. However, the effects are widespread.
Players with spawn points in worlds that are later unloaded will, for example, hold Position objects pointing to their spawn point in the unloaded world. These Position objects hold strong references to the Level object, which is subsequently not destroyed even after everything related to it is closed, most notably the LevelProvider.
The getName() on null bug occurs when a player with a spawn point in an unloaded world either attempts to teleport back to their spawn point, or when they quit from the server and their data is saved.
Instead of holding a direct Level reference, Position objects could instead keep the level ID of the level that it points to. Then, when getLevel() is called on a Position object, obtain a Level reference from the server directly. If the world is an unloaded world, this will return null.
Use WeakRef to hold a Level weak reference instead of a strong one. This would eliminate the problem, but would bring back some performance issues which are the reason Position weak references were removed before now (they previously did use weak references).
This is not an issue. Sorry, but I have no other way of telling you guys. You should create a new compile script repo for the updated compile scripts. I fixed the script, maybe just use it?
https://github.com/legoboy0215/php-compile-script/blob/master/compile.sh
I tested it and it works, if @dktapps is asking 👍 .
Hi again,
Men I don't know how I can download pocketmine.phar and genisys.yml
Please give me direct link
When a player climbs a high tower with ladders, its being dragged back. This also happens when anti flight is disabled, and in creative mode.
none
If you have php7 installed via homebrew, start.sh cannot find it automatically and returns "no php found"
So i am wondering if there is a file that works for 0.15.10
The server-ip server configuration option is not being honored.
settings:
#Three-letter language code for server-side localization
#Check your language code on https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes
language: "eng"
#Whether to send all strings translated to server locale or let the device handle them
force-language: false
shutdown-message: "Server closed"
#Allow listing plugins via Query
query-plugins: true
#Show a console message when a plugin uses deprecated API methods
deprecated-verbose: true
#Enable plugin and core profiling by default
enable-profiling: false
#Will only add results when tick measurement is below or equal to given value (default 20)
profile-report-trigger: 20
#Number of AsyncTask workers.
#Used for plugin asynchronous tasks, world generation, compression and web communication.
#Set this approximately to your number of cores.
#If set to auto, it'll try to detect the number of cores (or use 2)
async-workers: auto
# enter the ip of the specific Network Interface Card you wish to bind to.
server-ip: 123.4.5.67
[00:17:57] [Server thread/WARNING]: Non-packaged PocketMine-MP installation detected, do not use on production.
[00:17:57] [Server thread/INFO]: Loading pocketmine.yml...
[00:17:57] [Server thread/INFO]: Loading server properties...
[00:17:57] [Server thread/INFO]: Selected English (eng) as the base language
[00:17:57] [Server thread/INFO]: Starting Minecraft: PE server version v0.15.10.0 alpha
[00:17:57] [Server thread/INFO]: Opening server on 0.0.0.0:19132
[00:17:57] [Server thread/INFO]: This server is running PocketMine-MP version 1.6dev "Unleashed" (API 2.0.0)
Please add synapse
Can anyone please give me 0.16.0 phar and tell me how to install it in PocketMine-MP please.
https://timings.aikar.co/?url=23424624
Someone freezed my server using command packet!
I had timings runing, and did /timings paste right after server went back to normal!
Do you know what it is? Or if pmmp is vulnerable at this kind of attack?
If u close the issue and ban me, at least give me a hint XD !
I think it can be usefull
Using the default setting of async-workers(auto) ends in an Error:
bin\php\php.exe: Exit 127
Hi,
I have server pocketmine of version minecraft 0.15.10 and now i update my version minecraft ,please I want pocketmine-mp for version minecraft 0.16 or up
Is there a beta or something so i can download 0.16.0 pocketmine?
When a player join raklib blocked automatically the IP and the player can't join
When you change the gamemode of a player via command, it does not show to which gamemode it was changed.
You can duplicate a stack of item if you move it around in the inventory.
Only happens in creative mode.
Maybe create docker container to quick run without install(compile/configure) php on my machine?
When you place a slab and place another block on it, you will be unable to place another slab on the slab you just placed.
When when support for v0.15.90 will be added?
Hi ,
I have a server PocketMine in my tablet,with os Android 4.2.2 and version minecraft 0.15.10, in my tablet i can enter in my server, but my friend's not ,because my ip and port are false ,if i add them in another phone of using the same wifi, i saw the server in broadcaster lan and it is fixed, but in another wifi not.
My ip : 192.168.1.27
Port: 19312 or 25565
please help me or contact me in gmail : [email protected] 👍
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.