Sunshine 游戏串流怎么搭建?从安装到 Moonlight 配对的完整教程
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
Sunshine 是一款可自托管的游戏串流服务器,与 Moonlight 客户端配套使用:装在游戏 PC 上之后,同一局域网内的电视、手机、平板都能收到这台主机的画面并回传输入。学完本文,你将依次完成三个平台之一的安装、Web 管理页的首次访问、客户端配对和第一次画面投射,并且拿到一套串流参数调整与故障自查的方法。唯一的前置条件是网络放行:串流基础端口 47989 必须可达(跨网络场景还需让 47990 也能被客户端访问)。
一、装之前先确认环境:三种串流网络场景
这一节用 2 分钟对照你的实际网络,选定预期效果并做对应准备;做完后你心里有数:延迟大概多少、装之前要动哪些网络设置。
| 使用场景 | 网络要求 | 预期体验 | 前置动作 |
|---|---|---|---|
| 本地有线(主机与客户端都接网线) | 两端直连交换机或路由器的有线口 | 低延迟 60fps 游戏串流 | 确认链路畅通,放行 47989 端口 |
| 本地无线(手机 / 平板 / 电视盒子) | 客户端接入 5GHz WiFi | 休闲投屏,延迟中等 | 确认客户端在 5GHz 频段,而非 2.4GHz |
| 跨网络远程(客户端与主机不同网段) | 依赖路由器转发能力 | 30fps 左右,受宽带上限约束 | 启用 UPnP,或手动转发 47989 与 47990 |
注意:场景决定了后面第四节的参数起点,先定场景再动手,可以避免装完才发现效果不符预期。
二、安装:Windows / Linux / macOS 安装与验证
这一节按平台给出获取方式、安装命令和一个验证点;完成后主机端常驻一个 Sunshine 服务,等待 Web 页访问。
Windows 安装与验证
- 获取方式:到官方最新 Release 页面下载
Sunshine-Windows-AMD64-installer.msi(x64 机器)。 - 安装:双击运行,用户账户控制弹窗选择"允许"。安装器会自动创建防火墙规则并注册后台服务,无需手工配置网络。
- 验证点:安装结束、系统托盘出现 Sunshine 图标,即代表安装成功、主机就位。
Linux 安装与验证
- 获取方式:下载与发行版对应的 deb / rpm 包;Arch 用户可跳过下载,直接
pacman -S sunshine。 - 安装命令(以 Ubuntu 24.04 deb 包为例):
sudo dpkg -i ./sunshine_ubuntu-24.04_amd64.deb # 安装下载好的包 systemctl --user --now enable app-dev.lizardbyte.app.Sunshine # 设置用户服务自启并立即拉起- 验证点:终端无报错输出,且执行
systemctl --user status app-dev.lizardbyte.app.Sunshine显示active (running),即代表服务已就绪。
macOS 安装与验证
注意:官方将 macOS 支持标记为实验性,手柄暂不可用,投画面没有问题。
- 获取方式:通过 Homebrew 官方 tap 安装:
brew tap LizardByte/homebrew # 添加官方 tap brew install sunshine # 安装 Sunshine- 验证点:安装完成后打开 Sunshine.app,首次运行按系统提示授权屏幕录制与麦克风权限;菜单栏出现 Sunshine 图标即代表安装成功。
装完的第一次访问
三个平台装好后,统一做一次"首次访问检查",完成后浏览器能正常打开管理页,且拥有一个已记住的 Web 账户。
- 在本机浏览器打开
https://localhost:47990;若从别的设备访问,把localhost换成主机 IP。 - 浏览器提示"证书不受信任"属预期表现——这是自签名证书,直接选择继续访问即可。
- 首次进入会要求创建 Web 页账户。请记下用户名和密码,后面 Moonlight 配对要登录这个账户。
三、配对与首次串流:四步流程
这一节把 Web 端与 Moonlight 端的操作合并成一条编号流程;走完四步,客户端屏幕上出现主机桌面且输入跟手,即代表串流链路完全打通。
- 添加应用:登录 Web 页,在应用管理中新增一个应用。只投本地画面时添加"桌面"项即可串出整个桌面;想启动具体游戏,则填写游戏可执行文件路径。保存后该应用出现在列表中。
- 客户端搜索主机:在接收端设备打开 Moonlight,搜索并添加这台主机。
- 网页输入 PIN 并命名设备:Moonlight 弹出 PIN 请求后,回到 Web 页确认已登录,进入PIN入口,把 PIN 填入、为设备命名,回车即完成配对。
- 启动串流并验证跟手:回到 Moonlight 选择"桌面"开始串流。确认两点:客户端屏幕亮起主机桌面;在客户端移动鼠标时,主机光标同步跟随——画面与输入双双无误,链路即已跑顺。
四、串流参数怎么调
这一节先给调整原则,再按场景给出取值;调完后画面流畅不卡顿,且你清楚下一次该动哪个参数。
原则:先砍帧率、再降码率、不碰编码器。理由是码率决定画质、帧率决定跟手感、网络稳定性决定能不能用——网络吃紧时,编码器参数动不得,动它只会让问题更难定位。
| 场景 | 首选做法 | 降档兜底 |
|---|---|---|
| 本地有线 | 锁 60fps,码率 30Mbps 起步,带宽余量充足时加到 50Mbps 以上 | 先降码率一档,帧率维持 60fps |
| 手机 / 平板 / 电视盒子(无线) | 30fps,或 60fps 但分辨率降一档,码率比有线档低一档 | 分辨率与码率再各降一档 |
| 跨网络远程 | 30fps,码率再降一档,路由器侧先完成 UPnP 或端口转发 | 分辨率继续下调,仍卡则放弃高帧率 |
五、出问题按清单自查
这一节给一个固定的排查顺序,从上到下过一遍;走完后要么定位到原因,要么日志里已有明确的告警条目。
- 服务是否在跑:Linux 上执行
systemctl --user status app-dev.lizardbyte.app.Sunshine查看是否为active (running);未启用时运行systemctl --user --now enable app-dev.lizardbyte.app.Sunshine拉起。Windows 看托盘图标是否存在,macOS 看菜单栏图标。 - 端口是否放行:Moonlight 搜索不到主机时,通常是防火墙拦截。放行 47989 与 47990,或为 Sunshine 添加防火墙例外(Windows 安装包一般已自动完成)。
- 显卡驱动是否最新:硬件编码器检测不到,多数是驱动过旧,更新到最新版显卡驱动即可。
- 码率 / 分辨率是否过高:串流卡帧、花屏指向带宽不足或丢包,将码率与分辨率各降一档,或改回有线 / 5GHz。
- 配对流程是否完整:PIN 配对失败,常见于未先登录 Web 页。先登录,再在 PIN 输入框填入 PIN 并为设备命名。
仍无法定位时,去 Web 页Troubleshooting标签页逐条查看警告与错误;Linux 与 macOS 的日志位于~/.config/sunshine/,可优先翻阅。
六、延伸阅读
- 入门文档:刚装完、想核对各平台安装细节与完整端口清单的人先看。
- 性能调优指南:串流已稳定、想再压一点延迟的人看,涉及 AMD Enhanced Sync、NVIDIA Fast Sync 等显卡侧开关。
- Web 配置标签页源码目录:想弄清 Web 页每个开关背后具体做什么的人翻这里。
到这里,主机的画面和输入已不再被它自己的显示器束缚,局域网内任何一块屏幕都能随时接走这场游戏。
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考