Categories
杀人越货小技巧

搭建私人4K60FPS云游戏服务器👩‍💻

白嫖充分利用公共资源,高速稳定内网穿透

妈妈再也不用担心我的原神画质

如果你有一台高性能的游戏PC,并想要出门在外也能用笔记本连接她来Gaming,或只是想要高清的远程桌面。。。

接下来我们把运行游戏的PC叫做Server,笔记本叫Client,然后要用C远程登录S。为了流畅地Gaming,我们需要:

  1. S有一张NVIDIA显卡(任意Geforce RTX, Geforce GTX 650或更高) 。
  2. C可以是 macOS / Windows / Linux 系统。
  3. 有C和S的管理员权限。
  4. S、C需要连接有线网(80Mbps for 4K60fps),而不是Wifi。
  5. 🪜:规则,就是用来打破的!梯子除了用来爬,还能干啥?

局域网、校内网的情况

人机分离十米就,就会爆炸?电脑放在实验室,人在宿舍?无论S和C之间是否隔着多层路由器、是否有AP隔离,也不需要修改路由器。只需要 Tailscale + NVIDIA Gamestream + Moonlight。

  1. 在S、C上安装、注册Tailscale、测试连接
  2. S上安装NVIDIA GeForce Experience
  3. 设置SHIELD (如果找不到SHIELD菜单见Q&A)
  4. C上安装Moonlight
  5. Moonlight手动添加计算机(S机的Tailscale ip)、设置分辨率和比特率
  6. 林肯死大头!

跨公网,且没有静态公网IP

没有公网ip怎么办?有条件可以申请一个公网ip:打电话给运营商声称安装监控需要公网ip,一般不需要额外手续,可以申请到动态公网ip。但动态ip刷新的时候会断开连接。

因此我们可以找一台最近的有静态公网ip的设备作为跳板机,跳板机也可以是公用集群的登陆节点/云服务器。

如果有跳板机的root权限,给跳板机安装Tailscale,组网,结束。

我们讨论没有跳板机root权限(无法使用Tailscale或Wireguard),但在跳板机上有普通账户、可以ssh跳板机的情况。主要有三步,分别是与跳板机建立ssh隧道、设置反向代理、设置NVIDIA Gamestream。以S是Win10/11系统 , C是MacOS为例:

与跳板机建立ssh隧道:

  1. S机安装Cygwin (for Win)
  2. Cygwin安装ssh、autossh、cygrunsrv
  3. 设置S机的端口转发:

~/.ssh/config 中加入

Host my-PortForward
        HostName #跳板机地址
        User #跳板机用户名
        # frpc
        LocalForward 54770 localhost:54770
        RemoteForward 50775 localhost:50775
  1. 配置S机免密码ssh登录跳板机、测试ssh连接
  2. 将autossh加入Win的系统服务,以开机自启动
  3. 启动autossh服务
  4. C安装homebrew (for MacOS)
  5. 安装autossh:
    brew install autossh
  6. 设置C机的端口转发:

~/.ssh/config 中加入

Host my-PortForward
    HostName #跳板机地址
    User #跳板机用户名
    # frps
    RemoteForward 54770 localhost:54770
  1. 配置C机免密码ssh登录跳板机、测试ssh连接
  2. 把autossh脚本加入启动项

设置反向代理(为了转发NVIDIA Gamestream的UDP流量):

  1. C下载frp
  2. C设置frps

编辑fprs.ini

[common]
bind_port = 54770
tls_enable = false
dashboard_port = 54775
# dashboard's username and password are both optional
dashboard_user = #自选用户名
dashboard_pwd = #自选密码
#enable_prometheus = true
  1. C运行frps
  2. S下载frp
  3. S设置fprc

编辑frpc.ini

[common]
server_addr = 127.0.0.1
server_port = 54770
tls_enable = false
admin_addr = 0.0.0.0
admin_port = 50775
admin_user = #自选用户名
admin_pwd = #自选密码

[gamestream_tcp_47984]
type=tcp
local_ip=127.0.0.1
local_port=47984
remote_port=47984

[gamestream_tcp_47989]
type=tcp
local_ip=127.0.0.1
local_port=47989
remote_port=47989

[gamestream_tcp_48010]
type=tcp
local_ip=127.0.0.1
local_port=48010
remote_port=48010

[range:gamestream_udp]
type = udp
local_ip = 127.0.0.1
local_port = 47998-48010,48011
remote_port = 47998-48010,48011
  1. S运行frpc

设置NVIDIA Gamestream:

  1. S安装Nvidia GeForce Experience
  2. 设置SHIELD (如果找不到SHIELD菜单见Q&A)
  3. C安装Moonlight
  4. 因为Moonlight不能添加回环地址127.0.0.1。我们在C机的hosts文件(对MacOS/Linux,在/etc/hosts) 末加入一行:
    127.0.0.1 my-pf.local
  5. Moonlight手动添加计算机(my-pf.local)、设置分辨率和比特率
  6. 林肯死大头!!

有静态公网IP

不需要内网穿透了。

小作业:

建立远程文件共享。

Q&A:

Q: NVIDIA GeForce Experience 不显示SHIELD菜单?

A: 首先,检查log。如果是NVIDIA GeForce Experience第一次启动时,查询显卡型号被墙了,打开Clash的tun模式,然后重新打开NVIDIA GeForce Experience

Q: 卡爆了

A: 检查是否连接了有线网、用speedtest.cn测试网速≥80Mbps、关闭Cloudflare Wrap,或类似的VPN

Q: 免密码ssh?

A: Google (雾

6 replies on “搭建私人4K60FPS云游戏服务器👩‍💻”

Leave a Reply

Your email address will not be published. Required fields are marked *