Sunshine 游戏串流主机安装教程:5 步装好并串出第一帧画面
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
Sunshine 是一款开源的自托管游戏串流服务端,配合 Moonlight 客户端使用,在你自己的 PC 上完成屏幕采集和硬件编码,把画面送到局域网内另一块屏幕上。免费、无订阅、数据不出家门。读完这篇,你能完成主机端安装、Moonlight 配对、添加应用和常见故障排查,自己把第一帧画面串出来。
动手前自查:确认你的机器能跑 Sunshine
- 主机系统:Windows、Linux 完整支持;macOS 为实验性(暂不支持手柄);FreeBSD 可用但功能有裁剪
- 显卡:NVIDIA、AMD、Intel 各有硬件编码通路;没有独显可用 CPU 软编码兜底,程序自动挑第一条可用的通路
- 采集后端:Windows 走桌面复制 API;Linux 可选 NvFBC、KMS、X11、Wayland、KWin、Portal 等后端
- 管理方式:全部配置在浏览器 Web UI 里完成,配对、加应用、调参数、看日志都不用碰命令行
- 费用:开源免费,无账号、无订阅,装一次长期用
- 前提:客户端设备(手机、平板、盒子、电视)与主机在同一局域网,且网络稳定
它到底把你家 PC 变成了什么
机制一句话:Sunshine 在主机上采集屏幕并编码成视频流,走局域网送给装了 Moonlight 的设备解码显示,键盘、鼠标、手柄输入再原路回传——串流是双向的。
| 场景 | 老办法 | 用 Sunshine |
|---|---|---|
| 换台设备看 | 搬主机、重插线 | 新设备装 Moonlight 配对 |
| 加一块屏幕 | 买显示器加布线 | 装客户端、配对、选应用 |
| 出门时用 | 买云端订阅服务 | 开 UPnP 用自己主机 |
主线:Sunshine 安装与 Moonlight 配对步骤
Step 1:装主机端。按你的系统三选一。
- Windows:从项目 Release 页面下载
Sunshine-Windows-AMD64-installer.msi,按提示勾选组件安装,防火墙规则由安装器写好,程序同时注册为 Windows 服务。 - Linux:按发行版装 deb、rpm(copr)或 pacman 包;用 Flatpak 的话,装完必须再跑一条命令同步输入依赖:
flatpak run --command=additional-install.sh dev.lizardbyte.app.Sunshine- macOS:打开 DMG,把
Sunshine.app拖进 Applications。
成功信号:终端里执行sunshine --help,能打印版本号和参数列表(其中包含--creds一项)。
Step 2:把服务跑起来。Windows 上服务已随安装自启,macOS 直接双击应用启动;Linux 手动启动并设为开机自启:
systemctl --user --now enable app-dev.lizardbyte.app.Sunshine成功信号:执行下面的命令,状态显示为active (running):
systemctl --user status app-dev.lizardbyte.app.SunshineStep 3:打开 Web UI 建管理账号。浏览器访问主机上的https://localhost:47990(换成主机的局域网 IP 也行)。浏览器提示"不安全连接"是正常现象,因为用的是自签名证书,直接继续访问。首次进入会要求设置管理员用户名和密码——这套凭据后面 Moonlight 配对要用,先记在可靠的地方。
成功信号:页面出现 Sunshine 欢迎页,导航栏有 PIN、Applications 等入口。
Step 4:Moonlight 配对方法。在客户端设备装 Moonlight(各平台客户端下载地址整理在 Web UI 的 Featured Apps 页里)。打开 Moonlight,它会自动发现局域网里的 Sunshine。首次连接时 Moonlight 弹出一个四位 PIN 码:回到 Web UI,点顶部导航的 PIN 入口,输入这四位数,给设备起个名字,回车。
成功信号:Web UI 弹出成功提示;Moonlight 里这台主机出现,并列出内置的 Desktop 应用。
Step 5:串出第一帧画面。在 Moonlight 里选中 Desktop 应用,点开始。Desktop 不启动任何程序,直接串整个桌面,是验证链路最快的方式。
成功长什么样:客户端屏幕出现主机的桌面,动鼠标、敲键盘主机有响应,主机扬声器声音能从客户端听出来,主机端全程不需要任何额外操作。
跑通后调 3 个参数
三个参数都在 Web UI 配置页顶部搜索框里输关键词直达,不用翻菜单。
| 参数 | 默认值 | 什么时候改 | 怎么改 |
|---|---|---|---|
max_bitrate | 0(主机完全采用 Moonlight 请求的码率) | 需要给主机端出口带宽封顶时 | 填具体数值,如5000,单位 Kbps |
encoder | 自动选第一个可用编码器 | 想锁定某条编码通路、或排障验证通路时 | 手动填编码器标识,如nvenc、software,完整清单以 docs/configuration.md 为准 |
upnp | disabled | 需要跨公网(不在同一局域网)连接主机时 | 设为enabled,由路由器自动转发端口 |
再补两条添加应用时的要点:
- 启动方式要分清:把会立即自行退出的程序(比如直接拉
steam)配成普通命令,进程一退出串流马上断,这类要选detached启动。 - 沙箱与互斥限制:Flatpak 环境下应用命令必须加
flatpak-spawn --host前缀,否则在沙箱里找不到宿主程序;同时记住同一时间只有一条串流,新串流会终止上一个正在跑的应用。
Sunshine 的三种典型用法
- 家庭影音节点:不玩游戏也能用,直接串 Desktop 在电视上看本地片源、上网页。
max_bitrate保持默认即可,静态内容带宽占用很小;客户端分辨率按自身屏幕设。 - 一家人共用主机:每位成员在自己的 Moonlight 设备上独立配对,Web UI 里各起一个设备名,互不干扰。提醒:同一时间只有一条串流,用完退出,下一位再进。
- 远程使用:先在配置里把
upnp设为enabled让端口自动转发,主机需能被公网访问,然后从外网直连,不再依赖同网段。
坏了去哪查:Sunshine 故障排查与日志位置
| 症状 | 先查什么 | 怎么解决 |
|---|---|---|
47990页面打不开 | 服务是否在跑、防火墙是否放行 | Windows 先确认安装时防火墙规则已写入;仍不通就临时关防火墙验证一次,通了再回头加放行 47990 的规则 |
| 客户端发现不了主机 | 是否同一局域网、服务状态 | systemctl --user status app-dev.lizardbyte.app.Sunshine看状态;确认两台设备同网段,不行就重启服务和路由器 |
| 串流卡顿、掉帧 | 先测网络,再怀疑程序 | 用 iPerf3 做 60 秒 UDP 反向测试(见下);丢包高时把主机网卡降一档速率,或主机端改有线 |
| Web UI 密码忘了 | 无需重装 | 终端直接重置凭据(命令见下) |
网络体检命令:主机端起服务——
iperf3 -s客户端侧测试:
iperf3 -c {主机IP} -t 60 -u -R -b 50M达标线:丢包低于 5%、抖动低于 1 ms。典型诱因是"两头速度不匹配",比如 2.5G 有线主机对 WiFi 客户端。
凭据重置命令(替换成你自己的新用户名密码,不含花括号):
sunshine --creds 新用户名 新密码日志不用找文件:Web UI 的 Troubleshooting 页内置日志和告警,逐条点开每条 warning/error 找线索即可。
带走这几句
- 稳定性比峰值带宽重要:先跑一次 iPerf3 测链路,再谈画质参数。
- 编码器拿不准就留默认:自动选择已经够聪明,手动指定是排障手段,不是日常操作。
max_bitrate = 0表示码率听 Moonlight 的:想给主机出口封顶带宽才需要碰它。- 远程先开
upnp:否则公网地址根本连不进来。
完整参数表在 docs/configuration.md,疑难问题索引在 docs/troubleshooting.md。现在就打开 Web UI 的 Applications 页,加一条你真实常玩的游戏,完整走一遍"启动 → 串流 → 退出"的流程。
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考