由于此前博主是在 PlayStation 平台上创建的原神账号,导致账号服务器分配到了亚服,无法使用国服的云原神,而云原神国际版不仅延迟较高,而且价格并不美丽,因此产生了自建云原神的想法,本文是一些探索过程记录。

通过了解,目前主要的 Windows 下游戏串流方案有英伟达的 NVIDIA SHIELD,AMD 的 AMD Link(官方已弃坑),以及第三方的 Steam Link、Parsec 和本文所用的 Moonlight。

博主电脑为 A 卡,NVIDIA SHIELD 只能用于英伟达显卡,AMD Link 已死,Steam Link 用于 Steam 串流,Prasec 需要联网,因此综合下来选择了 Moonlight。

安装服务端 Sunshine

传送门👉 GitHub - LizardByte/Sunshine: Self-hosted game stream host for Moonlight.

~~其实原版并不太好使,~~更推荐 ClassicOldSong 改版的 Sunshine 分支 Apollo:GitHub - ClassicOldSong/Apollo: Sunshine fork - The easiest way to stream with the native resolution of your client device

可以自动创建虚拟显示器、自动调整分辨率、支持多点触控,以及比原版有更多小功能,省去了许多配置上的麻烦。

安装客户端 Moonlight

原版👉Moonlight Game Streaming: Play Your PC Games Remotely

ClassicOldSong 改版的 Moonlight 分支 Artemis(只支持 Android):GitHub - ClassicOldSong/moonlight-android: GameStream client for Android

添加原神配置

在托盘图标中找到 Sunshine 或 Apollo 服务端,双击即可进入设置界面。先进入 Config - General 将界面改为中文,便于后续操作。

进入 应用程序 菜单,点击添加新应用,游戏路径根据实际情况修改。

  • 应用名称:Genshin
  • 图片:点击 查找封面 可自动添加游戏封面
  • 命令:"C:\Program Files\HoYoPlay\games\Genshin Impact game\GenshinImpact.exe" -popupwindow -monitor 2 -platform_type CLOUD_THIRD_PARTY_MOBILE
  • 以管理员身份运行:勾选
  • 准备命令 1:cmd /C reg add "HKEY_CURRENT_USER\Software\miHoYo\Genshin Impact" /v "Screenmanager Resolution Height_h2627697771" /t REG_DWORD /d %APOLLO_CLIENT_HEIGHT% /f
  • 准备命令 2:cmd /C reg add "HKEY_CURRENT_USER\Software\miHoYo\Genshin Impact" /v "Screenmanager Resolution Width_h182942802" /t REG_DWORD /d %APOLLO_CLIENT_WIDTH% /f
  • 总是创建虚拟显示器:勾选

参数解析

"C:\Program Files\HoYoPlay\games\Genshin Impact game\GenshinImpact.exe" -popupwindow -monitor 2 -platform_type CLOUD_THIRD_PARTY_MOBILE

-popupwindow 无边框模式 -monitor 2 显示在显示器 2 -platform_type CLOUD_THIRD_PARTY_MOBILE 云原神平台


可用启动参数参考:

在“启动参数”功能中,用户可设置以下高级选项:

  • 独占全屏-window-mode exclusive
    • 游戏进程以独占全屏模式运行。
  • 全屏-screen-fullscreen
    • 游戏以全屏模式启动。
  • 无边框-popupwindow
    • 游戏以无边框窗口模式启动。
  • 触摸屏模式-platform_type CLOUD_THIRD_PARTY_MOBILE
    • 启用触摸屏操作模式(键鼠输入将被禁用)。
  • 分辨率设置
    • -screen-width:设置屏幕宽度(例如 1920)。
    • -screen-height:设置屏幕高度(例如 1080)。
  • 显示器选择-monitor
    • 指定目标显示器运行游戏。
    • 若不确定显示器编号,可点击“识别显示器”获取提示。

cmd /C reg add "HKEY_CURRENT_USER\Software\miHoYo\Genshin Impact" /v "Screenmanager Resolution Height_h2627697771" /t REG_DWORD /d %APOLLO_CLIENT_HEIGHT% /f
cmd /C reg add "HKEY_CURRENT_USER\Software\miHoYo\Genshin Impact" /v "Screenmanager Resolution Width_h182942802" /t REG_DWORD /d %APOLLO_CLIENT_WIDTH% /f

通过注册表设置原神启动分辨率为 Moonlight 客户端分辨率。

参考文献