我本地云是一个5700G+32G的NAS,这个配置足以应对大部分游戏服务端。实际上因为性能过剩,我还会用这个NAS开虚拟机,租给其他有需要的朋友用。
在这里遇到的问题是:本地云(公司云、家里云)的问题在于在现如今无法或者不可能申请到独立IP,可访问性几乎为零使得使用无法脱离端口转发(L4/L7)或者虚拟组网方案。
如果是端口转发,作为服务端就很难获取到客户端的真实IP,在服务端视角看来客户端IP是转发服务器。虽然有HTTP的XFF头或者proxyprotocol + mmproxy的方案,但其局限性很大(例如proxyprotocol支持的游戏服务端少,UDP的proxyprotocol支持也不多等)。
如果是虚拟组网方案,则增大折腾成本和最终用户的使用难度。
这里研究了一段时间后,得到了一个能够将云服务器IP分配到本地的方法,且用该方法本地服务端能够看到正确的客户端IP。
众所周知docker hub需要上网辅助工具才能访问,但是给服务器部署上网辅助工具比较繁琐且有一定风险,所以搭建一个对docker hub的反代会更加合适。
我的NAS使用的是AMD的CPU,说实话现在并不推荐任何人在家用NAS上使用AMD的CPU。理由非常简单,AMD的核显在linux环境下编解码体验实在是不太行......
Intel的显卡相对而言要好很多,为了补齐短板,打听到了一张神卡DG1。该卡本质上是个大号核显,不过其编解码能力非常强劲(不支持AV1编码),且价格极其便宜(200RMB左右),但网上相关的教程少之又少,在一番折腾下才在Unraid下成功用上这张卡。
接下来介绍一下本人折腾经验,以及如何通过高版本内核中内置的Xe驱动来把这张卡用上。