本帖最后由 PQguanfang 于 2020-1-16 22:41 编辑
很多人问我如何在 Android 系统上运行 Nukkit。我认为,可以给这个话题写一个帖子。我必须要说明的是,这个过程并不容易。原因是部分 Android 系统不支持 JDK 8 或者 JRE 8,所以我们会在 Android 内安装一个 Linux 系统。
要干这件事,你需要的有:
1. 一个安装 Android 4.0 以上系统的设备;
2. 有ROOT权限;
3. 有至少 2 GB 的存储器空间(是存在 SD 卡上的空间,或者内部存储卡的空间,不是我们常说的内存、RAM,不要误解!);
4. 有至少 1 GB 的运行时内存(就是 RAM);(译者注:只要不是旧的手机都可以,这个 RAM 不仅给你的 Android 系统用,还要给 Linux 用,所以越大越好)
5. Wi-Fi 或有线网络(除非你不心疼你的流量);
6. 健全的胳膊(译者:毛子也太幽默了吧...原话的意思是,肩膀上有两条健全的胳膊)
如果有了这样的配置,我们开始吧。
1. 我们从 Google Play 上下载这些软件:
Terminal Emulator (Google Play 链接)
(译者:事实上一般的控制台软件都可以,也可以用 Connectbot。如果你的系统是 CyanogenMod,那么恭喜你,系统有内置的控制台软件,在设置的开发者选项可以开启。)

Complete Linux Installer (Google Play 链接)
(译者:这个大家也许没听过,简单地说就是一个在 Android 安装 Linux 的玩意。没梯子的话可以自行搜索)
图:Google Play 上的安装页面

ZArchiver (Google Play 链接)
(译者:就是一个解压的软件,可以用别的能搜索到的解压软件代替。如果你的设备已经有了同类软件可以跳过这个)
图:Google Play 上的安装页面

这图标貌似显示不出来了。。
2. 运行 Complete Linux Installer。
第一次开启时,它会请求 ROOT 权限,以便于安装 BusyBox 和相关的脚本:

点击“同意”,然后等待一段时间,这段时间小于 15 秒,不会把你搞得不开心(译者:从句害死人)。然后就弹出了 Complete Linux Installer 的主界面。
3. 下载安装包。我们需要下载 Ubuntu 14.04 的安装包,点击这个链接(无需翻墙)然后等待下载完成备用。
4. 解压安装包。打开 ZArchiver (译者:或者打开其它你已安装的解压软件),在 SD 卡的根目录创建一个叫做 ubuntu 的文件夹:


然后进入之前下载的 Ubuntu 所在的文件夹,找到下载的安装包,并解压。这里我下载的是 ubuntu-14.04.CORE.ext4.PREALPHAv1.zip:

等待解压完成。把这里的 ubuntu-14.04.CORE.ext4.img 重命名为 ubuntu.img ,然后把 ubuntu-14.04.CORE.ext4.img.md5 重命名为 ubuntu.img.md5 。

现在我们不需要 ZArchiver 的帮助了,如果你认为必要的话你可以把它卸载了。
5. 启动 Linux 。我们回到 Complete Linux Installer,打开菜单:

图片里面我翻译下:
点击“启动”(Запуск,Launch)按钮,选择“Ubuntu”:

点击“启动 Linux”(Запустить Linux,Launch Linux),然后我们回到下载好的 Terminal Emulator(译者:或者其它控制台软件):

第一次会问我们很多不同的问题,比如“MD5 file found, use to check .img file?”,回答n(No)。
我遇到了这个问题“can't execute '/root/init.sh': Permission denied”:

我不确认是不是所有人都会遇到,我以防万一给出这个解决办法。如果你遇到了这个问题,可以试试接下来的指令:
复制代码
这之后,点击 “Window 1”(Окно 1) 然后点击那个叉叉。我们先放下控制台,再次回到 Complete Linux Installer,点击“Launch Linux”,
啊哈!错误消失了!
现在它要求我们设定一个密码。注意的是,你输入的密码它不会显示出来,那是它的安全系统在起作用而不是系统坏了。
这之后,要求我们再输入一次密码。那就再输入一次。

如果他问你 "Start VNC server?" 或者 "Start SSH server?" ,我们都回答n(No)。如果它问 "Save settings as defaults?",回答y(Yes)。
棒极了!现在出现了[root@localhost]!Linux 已经安装完成了!

6. 安装 Java 8 和 Nukkit。依次运行以下指令,并等待安装完成:
(译者:Java 8 的安装方式可以参考这里或者 Java 官网,如果安装失败,请自行搜索 Linux 安装 Java 8 教程;wget的 Nukkit 安装包可以从任何一个镜像获得,这里从mengcraft的镜像,完整的镜像列表可以看这里,如果网速过慢,可以更换镜像来解决)
复制代码啊哈,Nukkit 启动了!
(译者:第一次启动 Nukkit 的 jar 包后,需要选择语言。如果是简体中文的话,输入chs,然后回车。)

然后打开 Minecraft PE,你可以进去 :)

哦,我忘记提示了一点。如果你想停用 Linux,你需要输入在控制台中输入 stop 来停止 Nukkit,然后下次运行的时候先启动 Linux,再输入 java -jar nukkit-1.0-SNAPSHOT.jar 就可以了。
最重要的一点,Android 系统上运行服务器不适合高负载的正式开服(这决定于你的设备配置),但是你想测试插件或者和朋友们一起玩的话,是非常好用的。
P.s.,作者写这篇文章用了三个小时,如果你觉得好用的话,请去原帖给作者一点鼓励 :)
喜欢我的翻译的给点评分咯{:10_523:}如果大家喜欢的话,我会去翻译更多的更棒的文章{:10_507:}
来源:http://nukkit.ru/threads/118 (Nukkit 俄语社区)// 原标题:Запуск сервера Nukkit на Android [ROOT] // 原作者:Doomhawk // 原语言:俄语 // 译者:Snake1999
Nukkit 专区还没有多少搬运帖,谨以一个翻译帖祭上,格式欠佳,相信我们在更多的教程出现后可以形成统一的格式。为适合国(和谐)情,本教程部分语句按照国人习惯的方法来表达,详情请自行翻阅原文。教程内某些链接无法访问的,自备梯子,或者去其它途径搜索。如果可以的话,稍后我会将部分资源放入网盘分享。为便于理解对原文补充的部分,因为语法的差异必须要修改的部分,还有译者的吐槽,会用灰色字体表达 —— Snake1999
注意,本帖只讨论在部分老旧、不支持 Java 8 的 Android 系统运行 Nukkit 的一种方法,步骤不会很简单,如果你的设备支持 Java 8 或者你没有耐心,请不要使用该方法。Nukkit 尚未出第一个版本,不欢迎对性能的讨论。原作者也指出这个方法只适合和几个朋友联机或者测试插件,不适合正式开大型服务器,谢谢合作,由此造成的损失由读者自己承担。
========= 正文开始 =========
很多人问我如何在 Android 系统上运行 Nukkit。我认为,可以给这个话题写一个帖子。我必须要说明的是,这个过程并不容易。原因是部分 Android 系统不支持 JDK 8 或者 JRE 8,所以我们会在 Android 内安装一个 Linux 系统。
要干这件事,你需要的有:
1. 一个安装 Android 4.0 以上系统的设备;
2. 有ROOT权限;
3. 有至少 2 GB 的存储器空间(是存在 SD 卡上的空间,或者内部存储卡的空间,不是我们常说的内存、RAM,不要误解!);
4. 有至少 1 GB 的运行时内存(就是 RAM);(译者注:只要不是旧的手机都可以,这个 RAM 不仅给你的 Android 系统用,还要给 Linux 用,所以越大越好)
5. Wi-Fi 或有线网络(除非你不心疼你的流量);
6. 健全的胳膊(译者:毛子也太幽默了吧...原话的意思是,肩膀上有两条健全的胳膊)
如果有了这样的配置,我们开始吧。
1. 我们从 Google Play 上下载这些软件:
Terminal Emulator (Google Play 链接)
(译者:事实上一般的控制台软件都可以,也可以用 Connectbot。如果你的系统是 CyanogenMod,那么恭喜你,系统有内置的控制台软件,在设置的开发者选项可以开启。)

Complete Linux Installer (Google Play 链接)
(译者:这个大家也许没听过,简单地说就是一个在 Android 安装 Linux 的玩意。没梯子的话可以自行搜索)
图:Google Play 上的安装页面

ZArchiver (Google Play 链接)
(译者:就是一个解压的软件,可以用别的能搜索到的解压软件代替。如果你的设备已经有了同类软件可以跳过这个)
图:Google Play 上的安装页面

这图标貌似显示不出来了。。
2. 运行 Complete Linux Installer。
第一次开启时,它会请求 ROOT 权限,以便于安装 BusyBox 和相关的脚本:

点击“同意”,然后等待一段时间,这段时间小于 15 秒,不会把你搞得不开心(译者:从句害死人)。然后就弹出了 Complete Linux Installer 的主界面。
3. 下载安装包。我们需要下载 Ubuntu 14.04 的安装包,点击这个链接(无需翻墙)然后等待下载完成备用。
4. 解压安装包。打开 ZArchiver (译者:或者打开其它你已安装的解压软件),在 SD 卡的根目录创建一个叫做 ubuntu 的文件夹:


然后进入之前下载的 Ubuntu 所在的文件夹,找到下载的安装包,并解压。这里我下载的是 ubuntu-14.04.CORE.ext4.PREALPHAv1.zip:

等待解压完成。把这里的 ubuntu-14.04.CORE.ext4.img 重命名为 ubuntu.img ,然后把 ubuntu-14.04.CORE.ext4.img.md5 重命名为 ubuntu.img.md5 。

现在我们不需要 ZArchiver 的帮助了,如果你认为必要的话你可以把它卸载了。
5. 启动 Linux 。我们回到 Complete Linux Installer,打开菜单:

图片里面我翻译下:
点击“启动”(Запуск,Launch)按钮,选择“Ubuntu”:

点击“启动 Linux”(Запустить Linux,Launch Linux),然后我们回到下载好的 Terminal Emulator(译者:或者其它控制台软件):

第一次会问我们很多不同的问题,比如“MD5 file found, use to check .img file?”,回答n(No)。
我遇到了这个问题“can't execute '/root/init.sh': Permission denied”:

我不确认是不是所有人都会遇到,我以防万一给出这个解决办法。如果你遇到了这个问题,可以试试接下来的指令:
- mv /data/data/com.zpwebsites.linuxonandroid/files/busybox /data/data/com.zpwebsites.linuxonandroid/files/busybox.bak

这之后,点击 “Window 1”(Окно 1) 然后点击那个叉叉。我们先放下控制台,再次回到 Complete Linux Installer,点击“Launch Linux”,
啊哈!错误消失了!
现在它要求我们设定一个密码。注意的是,你输入的密码它不会显示出来,那是它的安全系统在起作用而不是系统坏了。
这之后,要求我们再输入一次密码。那就再输入一次。

如果他问你 "Start VNC server?" 或者 "Start SSH server?" ,我们都回答n(No)。如果它问 "Save settings as defaults?",回答y(Yes)。
棒极了!现在出现了[root@localhost]!Linux 已经安装完成了!

6. 安装 Java 8 和 Nukkit。依次运行以下指令,并等待安装完成:
(译者:Java 8 的安装方式可以参考这里或者 Java 官网,如果安装失败,请自行搜索 Linux 安装 Java 8 教程;wget的 Nukkit 安装包可以从任何一个镜像获得,这里从mengcraft的镜像,完整的镜像列表可以看这里,如果网速过慢,可以更换镜像来解决)
- 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 的 jar 包后,需要选择语言。如果是简体中文的话,输入chs,然后回车。)

然后打开 Minecraft PE,你可以进去 :)

哦,我忘记提示了一点。如果你想停用 Linux,你需要输入在控制台中输入 stop 来停止 Nukkit,然后下次运行的时候先启动 Linux,再输入 java -jar nukkit-1.0-SNAPSHOT.jar 就可以了。
最重要的一点,Android 系统上运行服务器不适合高负载的正式开服(这决定于你的设备配置),但是你想测试插件或者和朋友们一起玩的话,是非常好用的。
P.s.,作者写这篇文章用了三个小时,如果你觉得好用的话,请去原帖给作者一点鼓励 :)
========= 正文结束 =========
喜欢我的翻译的给点评分咯{:10_523:}如果大家喜欢的话,我会去翻译更多的更棒的文章{:10_507:}
真是烧配置
安卓啧啧啧
出个ios app吧233
(估计过不了审核)
出个ios app吧233
(估计过不了审核)
孤独秋叶 发表于 2016-2-1 13:08
真是烧配置
jvm挺吃RAM,Nukkit内核没吃多少的。你可以看俄国的评测帖,标题是,20人300chunks 66MB内存 cpu占用1%{:10_492:}另外上个月压测的图,真的邀请了70个玩家来走走

手机开 jvm 简直作死,所以文章最后也写了,不适合正式开服
simon3000 发表于 2016-2-1 13:10
安卓啧啧啧
出个ios app吧233
(估计过不了审核)
绝对过不了审核,因为某果与某sun有仇{:10_492:}ios上绝对开不了java,除非你绕道用虚拟机(本文就是虚拟机)
另外,jvm的内存开销比较感人,iphone这样的设备估计吃不起
本帖最后由 zmdd 于 2016-2-1 13:16 编辑
你认为小学生可以用谷歌play么{:10_493:}
你认为小学生可以用谷歌play么{:10_493:}
zmdd 发表于 2016-2-1 13:14
你认为小学生可以用谷歌player么
我不认为,所以不传网盘了,小学生让他自己慢慢玩{:10_493:}
Snake1999 发表于 2016-2-1 13:15
我不认为,所以不传网盘了,小学生让他自己慢慢玩
{:10_493:}你赢了
久置代码冲突爽,推旧模块火葬场。忘关调试急忙退,毁图说多都是泪。后台刷红无穷醉,接天报错无穷跪。调试大力出奇迹,想说爱你不容易。
nk大法好
不错的教程哦~
应QQ群的号召而来~
应QQ群的号召而来~
开服认准nukkit开服器
nk官网能否弄个中文专区,英语没学好没办法
784256 发表于 2016-2-1 13:35
nk官网能否弄个中文专区,英语没学好没办法
这里就是中文专区。还有,回帖前看版规,不要水。。{:10_498:}
Snake1999 发表于 2016-2-1 13:37
这里就是中文专区。还有,回帖前看版规,不要水。。
我要好人卡
虚拟机的话嘛……我只在手机上用虚拟机玩过win8.1和XP,没玩过Linux/Unix
用其他的虚拟机也可以吧
如果是从0开始操作的话嘛还非常麻烦,谷歌play因为G/F/W的问题无法访问
有国内的网盘链接就更好了!
感谢翻译
用其他的虚拟机也可以吧
如果是从0开始操作的话嘛还非常麻烦,谷歌play因为G/F/W的问题无法访问
有国内的网盘链接就更好了!
感谢翻译
Snake1999 发表于 2016-2-1 13:14
绝对过不了审核,因为某果与某sun有仇ios上绝对开不了java,除非你绕道用虚拟机(本文就是虚拟 ...
2G开服务器啧啧啧
系统一用估计剩下1G
我没用过Nukkit不知道内存消耗和bukkit区别怎么样
不过java估计都好不到哪去233
本帖最后由 Snake1999 于 2016-2-1 15:30 编辑
我说的不算,可以去看俄国人的评测,20人nukkit kernel占的只有几十兆{:10_492:}
2gb指的是sd卡容量,中文里内存这个词经常被误用,已修复,感谢指出
实在觉得不舒服问原文作者去,人家翻译容易吗{:10_524:}
simon3000 发表于 2016-2-1 14:44
2G开服务器啧啧啧
系统一用估计剩下1G
我没用过Nukkit不知道内存消耗和bukkit区别怎么样
我说的不算,可以去看俄国人的评测,20人nukkit kernel占的只有几十兆{:10_492:}
2gb指的是sd卡容量,中文里内存这个词经常被误用,已修复,感谢指出
实在觉得不舒服问原文作者去,人家翻译容易吗{:10_524:}
大妈你没发现谷歌下完了的linux 什么是中文版 滑稽
准备搬运到 nk吧 #(滑稽)
顶贴= =好教程
表示那个linux installer 我大华为商店有还是汉化的
有别的办法,并且..无需root
看了这个帖子,我还是乖乖用pm了。特麻烦,小米这个用不了。
Agnar 发表于 2016-2-26 13:42
看了这个帖子,我还是乖乖用pm了。特麻烦,小米这个用不了。
你支持java8这么麻烦干啥,请看本帖标题,支持的话开服还不tm简单
好像好腻害的样子,然而对我没用
运行耗内存多吗?
如果能开发个nkAPP就好了
就是类似于pm的开服器
基本上除了极度精简的系统都支持java的吧
说实话 这很难跑的起来
410855403 发表于 2017-10-19 22:12
说实话 这很难跑的起来
新版本有吗
什么新版本
410855403 发表于 2017-10-19 22:12
说实话 这很难跑的起来
其实我也不喜欢那些特别想在老旧手机这样的平台上,运行一个大型服务端软件的想法。你见过把CS、lol这样的游戏的服务器,运行在一个手机上的吗?
两年前的这时候我翻译这帖子时,整个nukkit圈子里面小学生非常多,他们甚至没法使用个人电脑...现在来看这篇教程似乎不合时宜了