目录
1.背景
2.我的世界服务端配置步骤
2.1获取服务端核心
2.2获取服务端mod
2.3配置云服务器
2.3.1安装JAVA环境
2.3.2运行服务端
2.3.3给服务器添加mod
2.4优化服务端
2.4.1使用tmux终端运行
2.4.2将服务端的Log日志输出为网页
3.客户端配置
4.小结
1.背景
去年双十一买了腾讯云的服务器,2H4G3M的配置,三年600多。可是今年双十一再看,2H4G8M的配置三年才要200多,加量还减价,这波确实受到了背刺。于是今年又入手了,顺便期待下明年的背刺。
于是富裕了一个服务器,就搭建个我的世界(Minecraft)服务器吧。
2.我的世界服务端配置步骤
2.1获取服务端核心
我习惯从我的世界中文论坛的服务端整合包中寻找资源。 我的世界服务端整合包 Minecraft(我的世界)中文论坛——Minecraft中文站,我的世界中文论坛,我的世界论坛 -最大的《Minecraft》(我的世界)服务端整合包交流、分享、下载中文社交平台,你可以下载到我的世界各种服务端整合包,无需繁琐的配置,就能直接开启一个专属于你的服务器!
https://www.mcbbs.net/forum-serverpack-1.html 但是整合包的资源我习惯上CurseForge寻找,这个下文会说到。如果是刚接触开服的小白,那么从mcbbs下载现成的整合包是最好的选择了。服务器核心我选择了Loli-Server这个项目(绝对不是因为这个名字好)。版本是选择了目前mod支持较多的1.16.5版本。
LoliServer1.16 #185 [Jenkins]http://nat.loliidc.cn:33644/job/LoliServer1.16/lastStableBuild/ 进入其发布构建的网站,选择最新的稳定版本的server.jar下载即可
2.2获取服务端mod
如上文所说,我习惯从CurseForge上下载mod整合包,其优点就是整合的质量高、选择多且BUG少,缺点是需要有正版游戏才能下载。
目前我服务器使用的是以动力机械为主Mod的整合包,链接如下。
https://www.curseforge.com/minecraft/modpacks/create-live-2
https://www.curseforge.com/minecraft/modpacks/create-live-2 先下载CurseForge应用,然后微软账号登录,最后在网页上点Install,本地客户端整合包就会自动下载安装好。 安装好后点打开文件夹,找到mods文件夹,记住备用。
这样一来,服务器的核心和mod文件就搞定了,接下来讲如何配置服务器。
2.3配置云服务器
对于云服务器,我习惯装Ubuntu server系统并使用宝塔面板进行管理。宝塔面板的安装这里就不赘述,大家可以从宝塔官网上获得详细的支持教程。
2.3.1安装JAVA环境
Minecraft的运行需要java环境,所要首先在终端中切换为root用户,依次运行以下两条命令安装Java环境。
apt update
apt install default-jre
运行成功后,使如下命令验证Java环境是否安装成功。
java --version
如果安装成功,你将会看到如下界面
openjdk 11.0.11 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing)
至此,Java环境安装完毕,如果是非Ubuntu系统,大家也可以在网上很轻松的获取Java环境安装命令,这里就不再分系统赘述。
2.3.2运行服务端
将上文下载好的Loli-Server.jar随便放在服务器的文件夹中,我这里为了方便演示,放在了/root/MC/这个文件夹中,一定要记得把文件的执行权限打开。
然后在终端中进入对应的文件夹。
cd /root/MC
运行以下命令启动服务端。其中-Xmx2G中的2G是允许的内存大小,大家可以根据自己的云服务器配置自行修改。
java -server -XX:+UseG1GC -Xmx2G -jar LoliServer-1.16.5-185-server.jar
服务端核心会自动下载所需要的文件。
当世界生成好之后,服务器就正常的运行了,如下图。
Ctrl+C结束当前进程,需要将server.properties中的online-mode由true改为false。然后再次运行服务端。
如果说运行的是原版纯净的水桶服,那么服务端到这里配置就结束了。使用服务器的IP:25565端口即可进入游戏。
检查云服务器和宝塔的防火墙是不是都允许25565端口通过。
2.3.3给服务器添加mod
接着刚才的操作,首先在终端中Ctrl+C结束当前进程。然后把2.2步骤中准备的mods文件覆盖掉服务器中的mods文件夹即可。
再次运行2.3.2中的启动服务端指令,一个有mod的服务端便启动完成了!
2.4优化服务端
2.4.1使用tmux终端运行
经过2.3的步骤之后,你会发现这个服务器还是有痛点的,最大的问题就是终端界面一旦关闭,那么Mincraft服务端也就停了。那么我们可以使用tmux命令开启终端复用器来解决这个问题。
首先安装tmux。
apt-get install tmux
然后使用tmux命令开启一个新的终端。
tmux
接着在这个终端里面按照2.3.2所讲运行开服命令。这样即使关闭了终端,服务端依旧会正常运行。
如果之后再想进入这个终端,只需要运行以下即可。
tmux attach -t 0
2.4.2将服务端的Log日志输出为网页
作为一名优秀的服主,当然需要时时刻刻监视服务器的动态。进入终端查看服务器的日志显然过于繁琐。考虑将日志文件放到网站的静态页面上,访问对应的域名即可查看,岂不是很妙。
为了完成这项操作,首先需要建立一个专门查看日志的网站。这里如若展开截图说明过于繁琐,总之需要完成以下几个步骤:
1.需要一个域名,将域名的DNS解析指向你云服务器的IP。这里推荐以一个前缀,比如mclog.xxxx.xxx这样的二级域名指向云服务器的IP。这样一级域名还可以留着建站之类的用途。
2.宝塔安装Nginx,并在网站的选项中添加对应的域名。
3.在域名网站对应的目录下找到index.html,我们需要对这个文件动手脚即可。
网站部分建立好了。为了输出日志,服务器的运行命令也要有所调整,这里我们使用tee命令,让服务端的日志输出到/root/MC/latest.log文件
java -server -XX:+UseG1GC -Xmx2G -jar LoliServer-1.16.5-185-server.jar | tee /root/MC/latest.log
这样就剩最后一个问题,将latest.log转为html的网页格式,覆盖掉index.html即可。这里我的方法是写了一个python脚本,如下。其中第四行“with open”后的路径替换为具体的网站路径即可。
with open('/root/MC/latest.log','r') as f:
txt = f.read()
txt = txt.replace("\n","<br>")
with open('/www/wwwroot/mclog.xxxxx.xxxx/index.html',"w") as f:
f.write("<html> <body>")
f.write(txt)
f.write("</body> </html>")
并且在宝塔面板中设置每5分钟运行此脚本。
最终的效果如图所示,可以直接使用网页查看此时服务器的运行log。
3.客户端配置
如果说你有正版的Minecraft游戏,那么在步骤2.2中其实已经完成了客户端的配置,运行游戏然后输入服务器的IP:25565端口即可。
如果说没有正版的Minecraft,建议下载HMCL启动器。
Hello Minecraft! LauncherHMCL 启动器 跨平台 整合包管理 自动安装 八年历史 三亿次使用http://hmcl.huangyuhui.net/ 下载和服务器对应的游戏版本和最新的forge。
下载好了记得把mods文件夹如服务端那样替换一下。
账户使用离线账户,随便起个名字就可以进入游戏啦。
4.小结
目前来看2H4G3M的云服务器配置,运行这种轻量Mod问题不大,几乎不会出现性能瓶颈。服务器目前一直平稳运行,就是人不太多,喜欢一起玩的小伙伴可以私信联系我。