基本:
- 这是一次学习经历,我是新手,做这件事是为了扩展我的知识。所以如果你能详细解释一下……我会很感激的。
- 这是 Ubuntu Server 的新安装,它是最新的。
- 我安装了最新版本的 OpenJDK 8。
- 我安装了 Minecraft (1.12.2) 的 Forge 版本;最新的 Forge。
我可以使用以下命令在命令行中启动 minecraft 服务器:
java -Xms1024M -Xmx4096M -jar forge-1.12.2-14.23.5.2854.jar nogui
当尝试使用脚本(.sh)时,minecraft 启动,但随后抛出有关分类文件的错误并使我退出 ssh 会话。
#!/bin/sh java -Xms1024M -Xmx4096M -jar forge-1.12.2-14.23.5.2854.jar nogui
该脚本位于 minecraft 程序的目录中,它确实启动了。我不明白的是,使用完全相同的格式,这个却不行。所以……我只能得出这样的结论:我遗漏了一些关键的东西,但到目前为止我所做的教程和研究都没有涵盖这些东西。我需要一些帮助。谢谢您的宝贵时间。
编辑 1:经过我对我的 Wayback 档案的一番思考,这里是我使用该脚本的结果:https://pastebin.com/61Nfb5CQ
这些错误是否可能是由于脚本未以 inadaquit 权限运行而导致的?
编辑2:将 sudo 命令添加到脚本后,我得到了他的:https://pastebin.com/V6pJyCvj 结果……还是没运行……但运行得还不错。哦,这是文件目录,也许这里有东西https://imagebin.ca/v/5PjVcSb4D5OA
答案1
该错误似乎与权限不足有关。这可能是由于您没有在行sudo
首使用。这是 Minecraft 正常运行所必需的。您的代码中有多个实例,如下所示:
2020-06-11 09:50:54,060 main ERROR Cannot access RandomAccessFile java.io.FileNotFoundException: logs/debug.log (Permission denied) java.io.FileNotFoundException: logs/debug.log (Permission denied)
注意日志中某些部分的内容(Permission denied)
。这是因为,顾名思义,您没有权限执行所请求的任务。这通常通过使用sudo
获取 root 权限来解决。
对于您来说,正确的代码应该是:
#!/bin/sh
sudo java -Xms1024M -Xmx4096M -jar forge-1.12.2-14.23.5.2854.jar nogui
在程序开始执行时,它会要求您输入密码以获取 root 权限。这是非常正常的。
答案2
您的脚本run1.sh
正在尝试访问/修改某些受保护的文件,甚至尝试在受保护的文件夹中创建文件。从这一点来看,您有两个选择:
- 以 身份执行该脚本
sudo
。 - 查看此脚本并仅为必要的文件夹/文件授予权限。