fengberd / PocketServer

[Discontinued] Run PocketMine or Nukkit on your Android phone!
GNU General Public License v3.0
94 stars 26 forks source link

Android Server Stability #67

Open ClosetGeek-Git opened 7 years ago

ClosetGeek-Git commented 7 years ago

Sorry, I know these are more general questions than issues, but if you have the time to answer it would be great. First, I've noticed that your android build uses musl for libc rather than Bionic. Has this created any issues for your users (server crashes, devices stability issues, anti-virus flags, etc). Secondly, what is the typical memory usage on devices? Thanks

gobin43 commented 7 years ago

У меня проблем никаких нету. 27 авг 2017 г. 6:26 пользователь "Jason Lester" notifications@github.com написал:

Sorry, I know these are more of general questions than issues, but if you have the time to answer it would be great. First, I've noticed that your android build uses musl for libc rather than Bionic. Has this created any issues for your users (server crashes, devices stability issues, anti-virus flags, etc). Secondly, what is the typical memory usage on devices? Thanks

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/fengberd/MinecraftPEServer/issues/67, or mute the thread https://github.com/notifications/unsubscribe-auth/AdR5zrp7sBkxIgLUzyAJ4UhdXoGFd7H6ks5scOH1gaJpZM4PDsDO .

ClosetGeek-Git commented 7 years ago

Журнал сбоев PocketMine-MP показал несколько сбоев PHP из-за исчерпания памяти. У вас возникли подобные проблемы?

fengberd commented 7 years ago

Known problem,our binary is provided by iTX Tech because I don't know how to build it correctly(IDK how to cross platform building and articles from Google doesn't work at all). This binary file cause some server crash with no reason or curl failed with dns error,but IDK how to fix them,and there's no anti-virus flags found currently. I'd be appreciate if you can provide a binary file or tell me how to build such binaries on CentOS 6.x x86_64 :)

About "what is the typical memory usage on devices" I can't understand what are you talking about,can you explain it or just see the source code to find the answer?

Best Regards, FENGberd

On Sun, Aug 27, 2017 at 4:20 PM, Jason Lester notifications@github.com wrote:

Журнал сбоев PocketMine-MP показал несколько сбоев PHP из-за исчерпания памяти. У вас возникли подобные проблемы?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/fengberd/MinecraftPEServer/issues/67#issuecomment-325184225, or mute the thread https://github.com/notifications/unsubscribe-auth/AIGMcYN1IvES3CnHlILfcx3HRDiv_oX_ks5scSbggaJpZM4PDsDO .

ClosetGeek-Git commented 7 years ago

PHP is known for being a memory hog in some situations. I can provide binaries for arm, i686, and x86_64 that I've tested on Android 4 to 6. It will have to be tomorrow (I'm located in the Seattle area and it's pretty late)

fengberd commented 7 years ago

Alright,thanks for your help but I can just update it next weekend(I'm a high student),please email binaries to fengberd@gmail.com and I'll write some code to do ABI check then install correct version.

PeratX commented 7 years ago

If you need php compiled using Bionic, compile yourself. And it is possible to modifiy php to make it compatible with uclibc/musl on Android.

ClosetGeek-Git commented 7 years ago

Need to know which extensions are needed and which sapi is preferred (cli, cgi, or fpm)

ClosetGeek-Git commented 7 years ago

@PeratX compiling PHP using NDK is a nightmare. To many issues with missing and modified header files.

ClosetGeek-Git commented 7 years ago

Sent a basic binary to fengberd@gmail.com. It doesn't have any PHP extensions built into it. One thing, my cross-compiler is optimized for Cortex-A9 in hopes to be iOS compatible when I start down that road. The Cortex-A9 instruction set is supposed to be backwards compatible with Cortex-A7 but I've only done minimal testing. I can switch to A7 if there are any issues.

PeratX commented 7 years ago

See TERMUX's php compile config. Or just use buildroot with uclibc/musl/glibc

ClosetGeek-Git commented 7 years ago

Thanks for the tip @PeratX. I'll have a good look into that because musl and other Bionic alternatives arn't compatible with any Android specific features (Binders and other Android IPC, Dalvik VM access, Bluetooth, etc). In fact, with a proper NDK build system, PHP can be embedded into an app via JNI. I like musl however for anything that is meant to be cross-platform as opposed to Android specific.

fengberd commented 7 years ago

Are you sure about PocketMine works with that binary?You told me that binary "No extensions" in email.

ClosetGeek-Git commented 7 years ago

I'll need to compile them this weeked

PeratX commented 7 years ago

https://github.com/termux/termux-packages/tree/master/packages/php https://github.com/termux/termux-packages/blob/master/packages/php/ext-standard-dns.c.patch