基于Win10主机的MC开服实践

昨天许久未见的好友邀我与他搭建MC服务器,看到我自己在PVE上运行的MC服务器,也想自己家养一台”家鲭”,而且会跑很多很多的MOD。

得知他新换了14700k+4070Ti的台式机,而他原来所用的是9400f与1660Ti,这原来的主机在之后便退役下来,预计作为二奶使用。由于一些其他的问题,我也得以就地实践(比如说75寸大电视装PE还是很爽,上个月还能入手4T的固态也是大户人家啊)

我们初想也是打算部署基于Proxmox VE虚拟化系统同时运行Linux与Windows的,做好核显直通,也能当作一台HTPC使用;然而由于他家的网络拓扑结构与装修布局,至少在当时没有网线、只有一个150Mbps速率的USB无线网卡的情况下,几乎不满足PVE和其他服务器系统对网络的配置要求。

综合考虑,我们决定还是裸机安装正常的Win10系统,当然会关闭更新;顺带解决了朋友对Linux知识生疏的局限性,毕竟他没有做NAS与跑Linux服务的需求。不得不说,这套硬件配置放在很多独立MC服务器对比也算是豪华级别的,可以说整台机器的资源几乎是MC独享。

配置好网络、远程桌面、电源计划,安装java运行库……这些是例行的前置条件。

朋友打算开一个1.20.1版本的Forge模组服务器,这里依然选择了广泛使用的MCSManager开服面板,不过,新版本的MCSM已经内置了Forge开服的模板,不需要再去官网手动下载服务端、再去安装运行了。虽然,我们都才知道NeoForge的存在……似乎两者暂时还是通用的,以后再说吧。

通过MCSM提供的模板,我们成功在局域网上部署并运行Forge模组的MC服务器。

众所周知,MCSM是基于NodeJS开发的;而其Windows版本由于系统特性,直接运行MCSM的前后端会同时显示NodeJS的命令行窗口,朋友不熟悉服务器的运维事项,也会用来运行其他的程序,很容易感到迷惑而误关闭。后来,我在网上发现第三方用户为MCSM编写的Windows服务项脚本包(Github地址: https://github.com/bddjr/mcsmanager-services-for-windows ),这个脚本整合基于bat的方式添加和运行面板服务,其体验类似配置Linux下的systemd,并且实现了开机自启。这样一来,运行MCSM就不会显示Nodejs的窗口了。

不过,他家暂时没办法拿到公网IP,光猫与路由器设置的是自动获取NAT而非桥接拨号的地址,这样就没有办法通过路由器端口映射直接连接了。

应急之下我想了一个变通的方案,通过frp连接到我家的公网IP转发端口,最终通过我的DDNS域名连接至他的服务器。

庆幸的是,我使用的OpenWRT虚拟路由器,可以通过软件仓库安装frp的服务端和客户端;

而在Windows平台也有一个开源的GUI界面的FRP管理器——FRPMgr,这样便可以直观地配置、降低调试和维护成本。我转发了25565、MCSM和3389(远程桌面)的端口,即使在我家和或者通过VPN隧道,也可以方便地维护他的服务器。

FRPMgr的UI很类似Wireguard在Windows的GUI软件,个人认为非常美观。系统需求Win10/Server 2016以及以上的版本。一旦运行也会加入到系统服务项中,日常并不会感知到它的存在。

同时,我还试着搭了一个FTP文件共享站,可以直接通过Windows资源管理器访问,群晖的DSM自带了相关的设置,相比WebDAV和SMB也不需要修改系统配置或者安装软件,甚至还能实现基于HMCL的模组自动更新。当然最后还是走虚拟机跑的黑群晖手动分发MOD整合包了。

至于150M的无线网卡在实际游戏体验中并未有何瓶颈,毕竟MC的带宽要求不是很高,我所提供的上行带宽也仅仅有30M左右;

反而是本地共享与远程桌面连接比较卡顿而已,朋友的14700k主机装的系统默认还是Administrator用户……引发了不少权限问题;后者关掉动画也尚可使用吧,毕竟还是30M,但对我朋友用着240Hz高刷显示器而言就不是一般的难受了……所幸朋友他还是可以物理接触显示器操作(而那个服务器配的显示器,自然也是高刷屏 2333)


久违地再一次玩上了MC,这次来的朋友有很多,也留下了许多摄影写真。

即使在游戏中我没有OP,也是权限很大的OP……像是治理附属国的感觉吧(笑)

回想起,这个博客创立本身也是考虑发很多MC的摄影,虽然已经很少有时间再专心去玩游戏了,而我在玩家之间似乎也没有什么存在感……

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注