想开 neoforge 服务器和朋友玩机械动力最新 6.0,但是发现翼龙面板里没 neoforge 预设。作为一个只会面板一键开服的新手,折腾出来了 Pterodactyl 翼龙面板开我的世界 neoforge 服务端方法。记录一下,里面还有各种坑,懒得配图了。
背景
目标
使用 Pterodactyl 翼龙面板开最新 1.21.1 neoforge 的 minecraft 服务器,装最新 create 机械动力 6.0.0 mod 和朋友一块玩。
现有条件
- 腾讯云服务器一台,带公网 ip,已经预装翼龙面板
- 此前有翼龙面板一键开服经验,带的预设搞明白了怎么开服(比如自带的 paper,forge 预设)
- 懂一定的运维知识
困难
其实最终目标是装机械动力 6.0 + 原版 1.21.1 到服务端。但是机械动力 6.0 对 1.21 版本仅支持 neoforge,翼龙面板偏偏没这个预设。但是我又想用面板方便的 gui,所以希望折腾出来用翼龙面板开的方法。(其实最后搞不出来的话我会退一步直接用命令行开的,不过幸好给折腾成功了)
解决思路
指导思想
腾笼换鸟,先用面板开 forge 预设,然后删除里面的文件换成 neoforge,上传 mod 和存档,更改面板启动命令,完成开服。
具体实现
- 由于 java 的优秀移植性,jar 文件到什么系统都一样用,所以我先选择了我熟悉的自己电脑,到官网下载好 neoforge 对应版本 jar 包,启动安装一个 server 端。
- 然后把
eula.txt
改成 true 同意了,打成 tar 包。 - 到翼龙面板上,使用 forge 预设开一个 minecraft 服务器。像往常使用面板一样开就行了。
- 开完不要启动,放那。
- 用 ssh 工具连上服务器,找到翼龙面板刚才开 forge 预设的地方,把里面东西除了
server.properties
全删了,然后用 ftp 把之前打的 neoforge 的服务端 tar 包传上去。传上去解压。 - 现在可以到面板的文件管理这里了,我感觉比 ssh 的 ftp 工具方便。在这把 world 文件夹换成你想搞的存档,mods 文件夹里上传一下机械动力的 jar 包,完成腾笼换鸟操作。
- 到面板控制台启动服务器,看到 log 都挺正常,开机成功。
- 实验一下,打开自己装同样 neoforge 和 mod 的客户端,多人游戏填服务器 ip 端口,加入游戏成功。合成了一下安山合金成功。
至此完成!
踩坑
本机上 neoforge 安装服务端不成功
- 双击 jar 文件打不开安装界面,电脑需要安装 java,我用的 java21,还要设置 windows 的环境变量
- 然后到 powershell 命令行里用
java -jar xxxx.jar
命令启动安装界面 - 安装大概率失败,因为走的国外,要有代理。
- 根据自己的情况,用命令设置 java 的代理安装,我用的 clash 命令如下
1 | java -D"http.proxyHost=127.0.0.1" -D"http.proxyPort=7891" -D"https.proxyHost=127.0.0.1" -D"https.proxyPort=7891" -jar neoforge-21.3.58-installer.jar --install-server |
ftp 用不了
- linux 老问题了,ssh 客户端的 ftp 用户没权限。
- 简单粗暴的方法就是找到你要上传的文件夹,直接给权限,
chmod 777 ./xxxx
翼龙面板 forge 预设安装成功,但是启动的时候报内存不足开机失败
- 其实并不是内存不足,去文件管理页看一下就知道,这里啥也没有,是因为网络原因 forge 压根没装上
- 没办法,内地服务器是这样的,forge 的服务器在外面连不上
- 不过完全不是问题,没有也没事,腾笼换鸟嘛,都省腾笼了,直接是空笼子,直接往里上传你新下的 neoforge 服务端就行了
翼龙面板文件管理页传不上去东西
- 因为默认是限制 100m 大小的文件,并且不能传文件夹。
- 我没研究怎么在面板上改限制,懒得研究了,直接简单粗暴用自己的 ssh ftp 工具传得了。不能传文件夹就打成 tar 包上去再解压