在群晖上搭建我的世界mod服
创作立场声明:本人为理工男,凭兴趣自学了一些知识。然而每个人站在不同立场,内容就会有所偏重,客观与否还请大家指正,期待深入探讨交流。
当群晖遇上我的世界
最近一直在迷我的世界,单机不过瘾,又想拉几个打手联机,建服当然是最好的方式。正好家里有个DS218+,想着利用上就好了。经多方面百度,发现只有基于docker的,优点是方便:下载映像->建立容器->简单配置。即可上线。缺点是,只能玩映像开发者限定的版本,而且只有原版,不能加mod。经过不懈的百度、尝试。终于在群晖上实现了安装1.15.2和1.12.2(后者主要是为了装匠魂mod),且后台运行。
因为服务器端是java开发的,所以,java8必不可少。而群晖是基于bsd的系统,不支持apt-get,在安装app方面不太方便,所以,我们通过套件中心安装了java8。
然后我们需要开启群晖ssh登录权限,以完成服务器端在群晖的安装。
开启后就可以使用ssh工具登录群晖了。因为是mac机器,直接用命令行登录即可。windows下载个免费的putty即可
一般用户权限登录创建服务器即可,这里我直接登录为root用户(从安全的角度来讲不推荐)
首先在家目录创建一个mcserver目录。
cd ~
mkdir mcserver
cd mcserver
随后需要获取服务器端的下载地址,访问 http://files.minecraftforge.net/
左键点击即可下载,打开会弹出广告页面。开发不易,建议支持一下作者。
我们这里需要获得文件的链接,以方便直接下载到群晖里。于是在该链接上右键复制链接地址,获得一个如下的链接:
我们需要用到的是“url=”后面的部分。
回到ssh客户端,输入命令
即可将服务器安装程序下载到当前mcserver目录。
安装命令是
(for 1.15.2)
java -jar forge-1.15.2-31.2.0-installer.jar nogui --installServer
(for 1.12.2)
java -jar forge-1.12.2-14.23.5.2854-installer.jar -installserver
有些许差别,可能是版本的原因,也可能是笔记的错误。命令输不对就各种奇葩报错,一个不对就尝试另一个。
安装过程不再赘述。当出现install sucessful的字样时就安装成功了。提示会建议你删除installer文件,删不删无所谓。有点奇怪的就是,1.12.2会将安装成功的服务器端,放在新建的一个nstallserver目录下。1.15.2安装成功后,会将服务器端置于当前目录。
需要运行的服务器端主程序就是forge-[版本号].jar。
输入命令
java -jar -Xms512m -Xmx1536m forge-[版本号].jar nogui
(Xms/Xmx对应可使用最小/最大内存,数值不确定,目前是正常使用,无错误的状态。)
即可运行服务器端(这种方式运行的服务器,运行信息显示在屏幕上,而且随时可以使用ctrl-c来中断服务器),第一次运行肯定失败,因为服务器端要展开并生成一些文件。我们需要用到的有两个:server.properties和eula.txt 。
用vi将server.properties里的online-mode改为true改为false。eula=false改为eula=true。即可。关闭xx认证。
改好后再次运行,无错误的话,经过漫长的启动过程,服务器端就可以运行起来了。
此时 通过启动器运行的我的世界客户端,即可通过在多人游戏添加服务器ip:25565的方式进入自建的服务器。
给服务器加mod
我们安装的这个服务器端即为forge加成的服务器,可添加版本对应的mod,比如1.12.2可以添加匠魂。我们需要做的就是将网上下载的mod,放入服务器端的mods和客户端的mods目录下,切记缺一不可。然后重启服务器,完成mod加载。再使用启动器运行mod加成的客户端,就可以正常游戏了。
群晖后台运行服务器端
需要对mc服务器运行指令需要做个小小更改,更改后的命令如下:
nohup java -jar -Xms512m -Xmx1536m forge-1.12.2-14.23.5.2854.jar nogui &
开头的nohup和最后的&缺一不可。此命令实现了服务器端的后台运行。mc服务器运行信息会发送至目录下的nohup.out文件,随时可以用cat命令查看服务器运行状态。jobs命令可以查看当前运行的后台任务,kill指令可以杀指定的进程。
缺点就是,每次重启群晖,均需要ssh登录后,手动启动mc服务器。也尝试修改群晖的/etc/rc文件期望实现自运行,失败了。且用bash方式运行的nohup命令,无法使用jobs命令列出后台任务,进而重启mc服务器只能重启群晖。期望以后会有更好方案解决。
此篇以笔记为基础,感谢前辈的相关文章。有问题欢迎指正,欢迎讨论。
windw
校验提示文案
弓佬
校验提示文案
[已注销]
校验提示文案
天羽星河落
校验提示文案
AoobOOCc
校验提示文案
Wonwayshon
校验提示文案
值友1335465352
校验提示文案
黑色妙脆角
校验提示文案
非彼非是
校验提示文案
Tiansky69
校验提示文案
云栖隐者
校验提示文案
Nanjo
校验提示文案
iceing2017
校验提示文案
御板
校验提示文案
亚东
nohup java -jar -Xms512m -Xmx1536m forge-1.12.2-14.23.5.2854.jar nogui &
然后将这个脚本加入到启动里面就行了。
我写了一个断电自动关机的脚本,通过ping路由器实现的, 就是这样每次在开机时启动。
校验提示文案
抠门大汗
Connecting to files.minecraftforge.net|51.79.83.165|:443... connected.
ERROR: cannot verify files.minecraftforge.net's certificate, issued by 'CN=R3,O=Let\'s Encrypt,C=US':
校验提示文案
抠门大汗
Connecting to files.minecraftforge.net|51.79.83.165|:443... connected.
ERROR: cannot verify files.minecraftforge.net's certificate, issued by 'CN=R3,O=Let\'s Encrypt,C=US':
校验提示文案
亚东
nohup java -jar -Xms512m -Xmx1536m forge-1.12.2-14.23.5.2854.jar nogui &
然后将这个脚本加入到启动里面就行了。
我写了一个断电自动关机的脚本,通过ping路由器实现的, 就是这样每次在开机时启动。
校验提示文案
御板
校验提示文案
黑色妙脆角
校验提示文案
值友1335465352
校验提示文案
iceing2017
校验提示文案
Wonwayshon
校验提示文案
AoobOOCc
校验提示文案
Nanjo
校验提示文案
天羽星河落
校验提示文案
[已注销]
校验提示文案
弓佬
校验提示文案
云栖隐者
校验提示文案
Tiansky69
校验提示文案
windw
校验提示文案
非彼非是
校验提示文案