欢迎光临散文网 会员登陆 & 注册

在CentOS8.0上运行 forge-1.18.2-40.1.76

2022-09-13 16:47 作者:hufang360  | 我要投稿

前些日子,尝试在CentOS8.0上运行1.18.2的mc服务器,1.18要求jdk17,且启动forge的命令行参数跟1.16不一样, 吃了些苦头,甚至有些气馁,好在后面还是解决了,所以记录下。

下载安装forge

和1.16.5一样,先从forge官网下载安装包,然后再安装,目前1.18.2 对应的是40.1.76,输入以下命令:


创建文件夹,并切换工作目录,然后下载.jar格式的安装包

运行安装包,安装forge

看到 successfully 字样,表示安装成功。

安装完成后的文件情况:


安装jdk17

输入 "./run.sh" 然后敲Enter键,尝试启动服务器,结果提示“错误: 找不到或无法加载主类 @user_jvm_args.txt”,如下图:

输入 "java -version" 然后敲Enter键,查询java版本,如下图:

查询显示java版本是1.8.0_312,因为1.18需要java17,因此要安装jdk17。

输入 "yum search java*" 然后敲Enter键,查询可供安装的java版本,如下图:

“java-17-openjdk.x86_64"是安装目标

输入下面的指令进行安装

执行结果,如下图:

出现“确定吗?[y/N]” 提示时,输入英文字母y,然后敲enter键:

再次查询java的版本,如下图提示jdk版本为17,说明安装成功!


开服

再次输入“./run.sh”,然后按Enter键,便可启动服务器了。

此时的文件情况:

编辑 eula.txt 将里面的内容情况,填入“eula=true”(不含引号)。

再次输入 "./run.sh" 启动服,如下图:

由于没有上传地图,首次启动会自动创建地图,需要等待一会,看到Successfully字样即表示开服成功了。


更优雅的开服方式

个人习惯将服务器和世界分开,所以调整了开服启动脚本,

输入下面的指令创建 run.sh 启动脚本:

将下面的内容,写入刚才创建的 run.sh 脚本中:


此时出现了两个 run.sh,注意区分下哦:

/root/mc/1.18.2/run.sh   (新的启动脚本)

/root/mc/1.18.2/client/run.sh  (老的脚本)

这个脚本看起来似乎非常复杂,实际上99%参数都是来自 /root/mc/1.18.2/client/libraries/net/minecraftforge/forge/1.18.2-40.1.76/unix_args.txt 文件,脚本只是更换了项目目录而已。

使用新的脚本启动mc,在目录下会多出一个doc的文件夹,里面放了服务器配置文件、模组文件和世界文件,client文件夹干干净净滴,此时的文件情况:


java多版本共存

事情还没完,当我去启动1.12.2的服务器时,报错了,乖乖,1.12.2不能在jdk17下面运行~~~~


意味这要让 jdk1.8.0 和 jdk17 共存,经过一些摸索,只要再次安装下jdk1.8.0基,本就能解决问题了。

输入 "yum install java" 或者 "yum install java-1.8.0-openjdk.x86_64 ",然后敲Enter键:

安装完成后,再次查询java版本,如下图:

此时服务器上先安装了jdk17,后安装了jdk1.8.0,安装的就是最后的java版本,由于jdk1.8.0比较常用且稳定,故用这个版本作为服务器的基准。因为没有卸载jdk17,jdk17相关的文件还在服务器上,只是没有加到环境变量里

在我服务器上jdk17位于 “/etc/alternatives/jre_17/bin/java”

因此启动脚本的java改成了“/etc/alternatives/jre_17/bin/java”,就是调用jdk17启动服务器了(上文的脚本已经改过了)。

卸载jdk

想卸载jdk17 怎么办?

输入下面的指令查询安装情况:

如下图:

使用 "rpm -e --nodeps xx" 指令卸载对应内容,例如:


在CentOS8.0上运行 forge-1.18.2-40.1.76的评论 (共 条)

分享到微博请遵守国家法律