关于我
~一个热爱火影的业余小提琴玩家~
Joynaruto

Moonlight串流攻略

前言

最早接触Moonlight是在2018年那会儿,到现在也有差不多5年了。不得不说串流真的香,让我能在任何地点任何时间利用碎片化时间愉快地玩耍各种3A大作。最近在研究Moonlight的体感设置,刚好成功,特此一记。

何为Moonlight

放上一段官网的介绍:

Moonlight allows you to play your PC games on almost any device, whether you’re in another room or miles away from your gaming rig.

简而言之就是可以在任何地点任何时间通过任意设备游玩各类3A大作,摆脱了一定要在电脑前正襟危坐的尴尬。床上客厅,公交地铁,甚至厕所也将成为我们的游乐园。接下来就是设置部分

配置Moonlight

官网的教程其实已经很详细了,我这边是总结下自己实际操作中遇到的一些问题及补足。

内网配置

PC服务端

  1. Moonlight有个限制条件就是PC必须得是N卡。在安装NVIDA Geforce Experience后,在设置中启用SHELD选项
  2. 添加桌面程序   //路径为”C:\Windows\System32\mstsc.exe”

手机平板客户端

  1. 从谷歌商店下载安装Moonlight后打开会自动搜寻局域网的PC服务端   //如未出现则手动输入电脑ip地址
  2. 点击小电脑图标并在PC服务端完成首次配对
  3. 点击mstsc即可访问PC服务端

PC客户端

  1. Moonlight官网下载安装包,绿色版或安装版都行,看个人需求
  2. 配对过程同手机平板客户端

至此内网配置已经完成,大家已经可以在局域网内通过各自的手机平板或PC进行愉快的串流游玩啦 8-)


外网配置

内网配置完成后外网配置其实也就非常简单了,主要是在路由上的设置。

方案一:端口转发

首先确保自身有公网环境,如无公网可致电运营商请求或通过内网穿透方案

1、通过转发路由的以下端口:

  • TCP 47984, 47989, 48010
  • UDP 47998, 47999, 48000, 48002, 48010

2、在客户端中输入PC服务端的域名或ip地址,配对过程同内网

方案二:远程局域网

如果懒得在路由上暴露端口的小伙伴也可以使用远程局域网的方案。即通过搭建一条回家的隧道来进行串流。我这里使用的是WireGuard方案,得益于其轻量化高性能的特性,实测轻松跑满我家上行带宽。

至此我们已经可以彻底摆脱了地域限制,可以在户外进行愉快玩耍啦 :idea:


增加体感(射击类玩家刚需)

射击类游戏的瞄准这块一直是手柄玩家的痛点,相比起鼠标的灵活,右摇杆一直瞄不准。所以为Moonlight添加体感瞄准支持非常有必要,当然手柄射击大神自动忽略该段 :shock:

手机平板客户端

  1. 手机或平板客户端安装Motion Source后,打开并设置如下
  2. 把客户端的ip地址记录下来

PC服务端

  1. PC服务端下载Motion Assistant   //目前版本为1173
  2. 分别安装以下两个驱动:
    –HidHideMSI.msi
    –ViGEmBusSetup_x64.msi
  3. 重启PC服务端并打开Motion Assistant进项如下设置



打开游戏就可以发现已经开启游戏体感了,丝滑且精准2333


使用Sunshine

前文提到的是通过N卡自带的Geforce Experience来作为服务端串流,但该方法有较多限制,比如只能限定N卡;同时只支持1个客户端串流(这样将导致无法多人本地联机串流);Geforce Experience的更新较慢,且英伟达官方将来砍掉对该串流方法的支持以推广其新的GeForceNow。综上所述我开始尝试开源的Sunshine来作为串流服务端,体验完只能说真香 :idea:

配置Sunshine

初始配置

1、在这里下载Sunshine最新版完成安装后并运行,他会自动配置开机自启等操作。

2、然后点击右下角应用图标打开Sunshine主界面,第一次会要求配置一个账户和密码,后续每次登录都会用到

3、进入主界面后,去Config菜单把语言设置成简体中文后,退出后台再进界面就会变为简体中文。

4、如果本机同时运行着Geforce Experience会提示端口冲突报错,去配置Network选项卡中修改成其他端口保存并重启Sunshine

5、再次登陆后报错消失。

进阶配置

多客户端串流同一服务端

配置General选项卡中把最多同时连接客户端数改为需要的数量,保存并重启服务端

客户端全屏串流,即消除大黑边

1、下载QRes并解压到任意路径

2、在客户端分辨率选择原生分辨率,这里以2500*1800为例

3、在显卡控制面板中添加自定义分辨率为2500*1800

4、在Sunshine应用程序选项卡中打开执行命令中输入如下指令,r表示分辨率–开启串流后自动修改自定义分辨率

D:\ScreenResolutionChanger-master/qres.exe /x 2500 /y 1800 /r:120

5、在Sunshine应用程序选项卡中退出应用时执行命令中输入如下指令,r表示分辨率–退出串流后恢复1080p标准分辨率

D:\ScreenResolutionChanger-master/qres.exe /x 1920 /y 1080 /r:60

客户端自动调整屏幕比例,避免高分屏显示过小

1、下载SetDPI并解压到任意路径

2、假设我们串流高分屏需要设置175%比例,退出高分屏需要设置125%比例

3、在Sunshine应用程序选项卡中打开执行命令中输入如下指令,数字代表屏幕比例–开启串流后自动修改自定义屏幕比例175%

D:\ScreenResolutionChanger-master/SetDpi.exe 175

4、在Sunshine应用程序选项卡中退出应用时执行命令中输入如下指令,数字代表屏幕比例–开启串流后自动修改自定义屏幕比例125%

D:\ScreenResolutionChanger-master/SetDpi.exe 125

键盘映射

这一部分主要是为了远程串流办公,而非串流游戏。

一般用安卓+键盘串流的时候会有两个痛点,第一个是一些快捷键无法使用,比如按下alt+tab会激发安卓自身的多任务而非串流机的多任务,又比如按下语音助理键会导致唤醒安卓的语音助理而非串流机的win键。这类问题按以下两个步骤就可解决。

1、屏蔽物理按键

安装阿西西大佬定制的Moonlight客户端,勾选屏蔽物理按键并开启无障碍权限后即可正常使用alt+tab以及正常的快捷键

2、按键映射

这一步是给一些安卓平板自带的键盘,即非标键盘使用的。比如我这里使用的是联想pad pro 12.7配合原厂键盘来进行串流。其键盘顶部不是fn键,而是安卓的音量加减等功能键,并且win键是语音助手。这时我们就需要使用key Mapper这款软件来对这些功能键进行映射。

1、下载安装后打开,授予无障碍权限后点击➕开始进入配置

2、Trigger是录入自定义按键,Actions是自定义按键对应的处罚动作

3、一般按键都没什么问题,值得一提的是win键,Actions里要选的是117号

至此,已经可以愉快地用任意键盘来串流办公啦  :oops: 

最后

最后重点感谢下Moonlight开发者,为Moonlight添加体感控制的开发者以及为Moonlight 定制各种功能的开发者。我们能够这么愉快的玩耍离不开他们的付出。是他们的努力使得在移动端游玩3A大作成为可能,愿未来可期,越来越好 :idea:

发表回复

textsms
account_circle
email

Joynaruto

Moonlight串流攻略
前言 最早接触Moonlight是在2018年那会儿,到现在也有差不多5年了。不得不说串流真的香,让我能在任何地点任何时间利用碎片化时间愉快地玩耍各种3A大作。最近在研究Moonlight的体感设置…
扫描二维码继续阅读
2023-09-20