Запуск сервера Nukkit на Android [ROOT]

Discussion in 'Помощь по Nukkit' started by Doomhawk, 24/1/16.

  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
Dismiss Notice
We welcome you on our site. This site is devoted to the Nukkit project and all that is connected with him. Here you can communicate, download plugins, also many other things get acquainted! Register the account right now :3
  1. Doomhawk

    Doomhawk Developer

    Messages:
    114
    Likes Received:
    26
    Многие спрашивали, как запустить Nukkit-сервер на Android. Я подумал, почему бы не написать гайд по этой теме. Сразу скажу, это не так то просто. Дело в том, что Android не поддерживает ни JDK, ни JRE, поэтому будем ставить Linux.
    Для этого нам необходимо:

    1. Смартфон с Android 4.0+.
    2. Права ROOT доступа.
    3. 2 ГБ свободного места во внутренней памяти (не на карте памяти, а именно во внутренней!).
    4. 1+ ГБ ОЗУ.
    5. 2 руки, растущие из плеч.
    И так, приступим.

    1. Для начала скачаем из Google Play следующие программы:
      1.1. Terminal Emulator
      Скачать из Google Play
    [​IMG]

    1.2. Complete Linux Installer
    Скачать из Google Play

    [​IMG]

    1.3. ZArchiver
    Скачать из Google Play

    [​IMG]
    Иконка почему-то не загрузилась...




    1. Далее открываем Complete Linux Installer. При первом запуске он попросит у нас ROOT права для установки Busybox и необходимых скриптов:
    [​IMG]
    Соглашаемся. Установка длится не более 15 секунд. После этого выходим из Complete Linux Installer.

    1. Теперь нам нужно загрузить дистрибутив, пусть это будет Ubuntu 14.04:
      3.1. Переходим по этой ссылке, ждем, пока дистрибутив скачается.
    2. Заходим в ZArchiver, в корне sdcard создаем папку с названием ubuntu:
    [​IMG]

    4.1. Теперь переходим в директорию, в которой у Вас хранятся скачанные файлы, у меня это Downloads.
    4.2. Находим там файл "ubuntu-14.04.CORE.ext4.PREALPHAv1.zip", нажмите на него, и у Вас появится следующее меню:

    [​IMG]

    4.3. Нажимаем "Распаковать..." и переходим в ранее созданную директорию "ubuntu", а затем нажимаем на следующий значок:

    [​IMG]

    4.4. Дожидаемся распаковки.
    4.5. Переименовываем файл "ubuntu-14.04.CORE.ext4.img" в "ubuntu.img", а файл "ubuntu-14.04.CORE.ext4.img.md5" в "ubuntu.img.md5":

    [​IMG]
    ZArchiver нам больше не понадобится, можете его удалить, если он Вам не нужен.

    1. Опять заходим в Complete Linux Installer, свайпаем вправо, открывается меню:
    [​IMG]

    5.1. Нажимаем "Запуск", в появившемся меню выбираем дистрибутив "Ubuntu":

    [​IMG]

    5.2. Нажимаем "Запустить Linux", и у нас открывается ранее скачанный "Terminal Emulator":

    [​IMG]

    5.3. При первом запуске нам будут задавать разные вопросы, на первый вопрос "MD5 file found, use to check .img file?" отвечаем n (No).
    5.4. У меня появилась ошибка "can't execute '/root/init.sh': Permission denied":

    [​IMG]

    Не уверен, что такая ошибка вылезет у всех, но на всякий случай выложу решение:
    Здесь же выполняем команду:
    Code:
    mv /data/data/com.zpwebsites.linuxonandroid/files/busybox /data/data/com.zpwebsites.linuxonandroid/files/busybox.bak
    [​IMG]
    После этого нажимаем "Окно 1" и крестик. Терминал закрывется, заходим в Complete Linux Installer и опять нажимаем "Запуск Linux"

    Эврика! Ошибка исчезла!

    [​IMG]

    5.5. Теперь у нас просят задать пароль (Enter new UNIX password). Вводим любой пароль
    ВНИМАНИЕ! При вводе пароля он отображаться не будет, будто вы вообще его не вводите, но на самом деле это просто система защиты, и пароль на самом деле вводится.
    5.6. После этого нас просят повторите пароль, здесь все понятно.
    5.7. На вопросы "Start VNC server?" и "Start SSH server?" отвечаем n (No), а на вопрос "Save settings as defaults?" отвечаем y (Yes).
    5.8. Отлично! Появилась надпись root@localhost! Linux установлен!

    [​IMG]

    1. Теперь установим Java 8 и сам Nukkit. По очереди выполняем в консоли следующие команды:
      Code:
      apt-get update
      apt-get install software-properties-common python-software-properties -y
      add-apt-repository ppa:openjdk-r/ppa -y
      apt-get update
      apt-get install openjdk-8-jdk openjdk-8-jre -y
      wget http://ci.mengcraft.com:8080/job/nukkit/lastSuccessfulBuild/artifact/target/nukkit-1.0-SNAPSHOT.jar
      java -jar nukkit-1.0-SNAPSHOT.jar
    После этого Nukkit успешно запускается :)

    [​IMG]

    И зайти на него можно :)

    [​IMG]

    Ах да, забыл упомянуть, если вы собираетесь выключать Linux, то нужно ввести в терминале команду exit, иначе для повторного запуска придется выполнять все сначала.

    Все вопросы, ошибки пишите прямо в этой теме, будем решать вместе

    Ну, что хочется сказать, такой способ, конечно, не годится для полноценного сервера (хотя, все зависит от вашего девайса), но для того, чтобы потестить плагины или поиграть с другом вполне сойдет :)

    P.S. я писал эту тему 3 часа, надеюсь, вы оцените мой труд :)
     
    Last edited: 24/1/16
  2. Vlad Morozov

    Vlad Morozov Pioneer

    Messages:
    7
    Likes Received:
    0
    Minecraft:
    IFreezePlay
    Cool, very cool)
    Thanks
     
  3. Doomhawk

    Doomhawk Developer

    Messages:
    114
    Likes Received:
    26
    Кстати, забыл упомянуть еще один важный нюанс:
    Ваш девайс должен поддерживать loop, к сожалению, список устройств с его поддержкой мне найти не удалось, но с уверенностью можно сказать, что его поддерживают более 95% устройств. Для проверки можно скачать "Loop device checker" с Google Play.
     
  4. fromgate

    fromgate Administrator

    Messages:
    664
    Likes Received:
    186
    Отличная инструкция. Наверное я тоже попробую ;) Добавил ссылку на эту тему в FAQ по Nukkit.
     
  5. Doomhawk

    Doomhawk Developer

    Messages:
    114
    Likes Received:
    26
    Пытаюсь сделать что-то такое, но 99.99% ничего не получится, ибо Java 8 :)


    [​IMG]
    [​IMG]
     
  6. Vlad Morozov

    Vlad Morozov Pioneer

    Messages:
    7
    Likes Received:
    0
    Minecraft:
    IFreezePlay
    Здравствуйте, не подскажите в чем проблема?
    Вот лог:
    u0_a543@matisse3g:/ $
    u0_a543@matisse3g:/ $ cd /sdcard/ubuntu
    u0_a543@matisse3g:/sdcard/ubuntu $ su
    es.linuxonandroid/files/bootscript.sh /sdcard/ubuntu/ubuntu.img <
    /data/data/com.zpwebsites.linuxonandroid/files/bootscript.sh[39]: dirname: not found
    MD5 file found, use to check .img file? (y/n)
    Checking loop device... FOUND
    /data/data/com.zpwebsites.linuxonandroid/files/bootscript.sh[151]: dirname: not found
    mount: can't read '/etc/fstab': No such file or directory
    mount: mounting /sys/fs/selinux on /data/local/mnt/selinux failed: No such file or directory
    mount: mounting /storage on /data/local/mnt/external_sd failed: Invalid argument
    No user defined mount points
    net.ipv4.ip_forward = 1
    /data/data/com.zpwebsites.linuxonandroid/files/bootscript.sh[231]: basename: not found
    chroot: can't execute '/root/init.sh': Permission denied
    Shutting down Linux ARM
    umount: can't umount /data/local/mnt/root/cfg: Invalid argument
    umount: can't umount /data/local/mnt/external_sd: Invalid argument
    umount: can't umount /data/local/mnt/dev: Invalid argument
    umount: can't umount /data/local/mnt/selinux: No such file or directory
    1|root@matisse3g:/mnt/shell/emulated/0/ubuntu #
     
  7. Doomhawk

    Doomhawk Developer

    Messages:
    114
    Likes Received:
    26
    Попробуй выполнить команду:
    Code:
    mv /data/data/com.zpwebsites.linuxonandroid/files/busybox /data/data/com.zpwebsites.linuxonandroid/files/busybox.bak
     
  8. Doomhawk

    Doomhawk Developer

    Messages:
    114
    Likes Received:
    26
    Не CyanogenMod случаем?
     
  9. Vlad Morozov

    Vlad Morozov Pioneer

    Messages:
    7
    Likes Received:
    0
    Minecraft:
    IFreezePlay
    Лог поменялся, loop есть:

    u0_a543@matisse3g:/ $
    u0_a543@matisse3g:/ $ cd /sdcard/ubuntu
    u0_a543@matisse3g:/sdcard/ubuntu $ su
    es.linuxonandroid/files/bootscript.sh /sdcard/ubuntu/ubuntu.img <
    /data/data/com.zpwebsites.linuxonandroid/files/bootscript.sh[39]: dirname: not found
    MD5 file found, use to check .img file? (y/n)
    Checking loop device... FOUND
    /data/data/com.zpwebsites.linuxonandroid/files/bootscript.sh[132]: /system/xbin/busybox: not found
    Error: Unable to attach image to loop device! (Image = /sdcard/ubuntu/ubuntu.img)
    1|root@matisse3g:/mnt/shell/emulated/0/ubuntu #
     
  10. Doomhawk

    Doomhawk Developer

    Messages:
    114
    Likes Received:
    26
    У Вас автоматически не установился Busybox, скачайте с Google Play программу "BusyBox" и установите его
     
  11. Vlad Morozov

    Vlad Morozov Pioneer

    Messages:
    7
    Likes Received:
    0
    Minecraft:
    IFreezePlay
    Спасибо, попробую
     
  12. AbcChanelMC

    AbcChanelMC Пользователь

    Messages:
    1
    Likes Received:
    0
    Minecraft:
    AbcChanelMC
    на андроиде 5.0.2 рут нужен? эмулятор работает ставил.
     
  13. Doomhawk

    Doomhawk Developer

    Messages:
    114
    Likes Received:
    26
    Да, на любой версии нужен.
     
  14. kekovsky_dron

    kekovsky_dron Пользователь

    Messages:
    2
    Likes Received:
    0
    Minecraft:
    cycpekt
    1. Как установить плагины?
    2. Как узнать айпи и порт?
     
  15. fromgate

    fromgate Administrator

    Messages:
    664
    Likes Received:
    186
    1. Просто скопировать jar-файл плагина в папку plugins на сервере;
    2. Порт - тот, который прописан в конфиге (по умолчанию это 19132), адрес - если в локальной сети - это адрес вашего устройства, если хотите узнать внешний IP - то можете воспользоваться сервисом https://2ip.ru/
     
  16. kekovsky_dron

    kekovsky_dron Пользователь

    Messages:
    2
    Likes Received:
    0
    Minecraft:
    cycpekt

    1. А где находится данная папка?
     
  17. _SimPl_

    _SimPl_ Пользователь

    Messages:
    8
    Likes Received:
    0
    Minecraft:
    SimPl

    1. Где взять папку plugins на android при запуске через эмулятор?
     
  18. _SimPl_

    _SimPl_ Пользователь

    Messages:
    8
    Likes Received:
    0
    Minecraft:
    SimPl
    И VNC работать не желает (
     
  19. _SimPl_

    _SimPl_ Пользователь

    Messages:
    8
    Likes Received:
    0
    Minecraft:
    SimPl
    Мир тоже не генерируется
     
  20. fromgate

    fromgate Administrator

    Messages:
    664
    Likes Received:
    186
    Там же где запускаемый файл nukkit.jar (или nukkit-1.0-SNAPSHOT.jar)
     

Share This Page