news 2026/9/20 21:41:13

Sunshine 快速上手 3 步:把 PC 变成 Moonlight 游戏串流服务器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Sunshine 快速上手 3 步:把 PC 变成 Moonlight 游戏串流服务器

Sunshine 快速上手 3 步:把 PC 变成 Moonlight 游戏串流服务器

【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine

你的游戏装在 PC 上,电视、平板、手机却只能玩自己的应用。Sunshine 是一个自托管的游戏串流主机,装在游戏 PC 上,用显卡硬件编码把画面推给任意设备上的 Moonlight 客户端,输入从客户端传回主机。开源免费,没有订阅费。下面带你从零到串流成功。

速览:开始之前要知道什么

你关心的答案
能不能直接用Windows、Linux、macOS、FreeBSD 都有官方安装包
怎么管理浏览器打开https://localhost:47990,全部配置在这
客户端要什么任意设备上的 Moonlight 客户端(电视、手机、平板、笔记本)
硬件要求没有独显也能用,自动退回 CPU 软编;有 NVIDIA/AMD/Intel 显卡体验更好
要开哪些端口基础端口 47989,Web 管理固定 47990,可在配置里改

首次跑通:三步连接成功

第 1 步 · 装好主机端(按你的系统选一条):

# Windows 官方推荐方式;Linux 可改用 flatpak install --system flathub dev.lizardbyte.app.Sunshine winget install LizardByte.Sunshine

确认成功:终端运行sunshine --version能打印版本号。

第 2 步 · 启动 Sunshine,拿到管理入口。Linux 建议起用户服务,登录后自动运行:

# 立即启动并设置开机自启(Windows 安装后会自动以服务形式运行) systemctl --user --now enable app-dev.lizardbyte.app.Sunshine

然后浏览器访问https://localhost:47990。提示"不安全网站"是自签名证书导致的,继续访问即可。首次进入会要求创建用户名和密码,当场记下来——这是进后台的唯一凭据。确认成功:能看到欢迎页和登录入口,见下图。

第 3 步 · 配对第一台设备。在 Moonlight 客户端里"添加主机",按主机 IP 找到 Sunshine,客户端会显示一个 PIN;把 PIN 输入 Web UI 的 PIN 页面,再给设备起个名字。确认成功:客户端里该主机变为可连接状态,点一下就能出画面。

能力地图:画质、输入、管理,你能调什么

画质:编码器按显卡选。有独显时自动走硬件编码——NVIDIA 用 NVENC(实现见 src/nvenc/),Linux 上 AMD/Intel 走 VAAPI,Windows 上 Intel 走 QuickSync、AMD 走 AMF,Apple 芯片走 VideoToolbox;都没有就选软编兜底。分辨率、帧率、码率在 AudioVideo 页签调整,码率建议对照 docs/performance_tuning.md 的调优说明。

输入:客户端的手柄变主机的手柄。键鼠直接透传;Xbox、DualSense、Switch Pro 等手柄会在主机上虚拟出同类型手柄,游戏原生识别。Windows 主机需要装虚拟 HID 驱动(Web UI 内有入口),Linux 依赖 uinput。相关实现可看 src/platform/virtualhid_input.cpp。

管理:一切在浏览器里。端口、UPnP、日志级别、音频设备都在 Web UI,顶部搜索框能直接跳到任意配置项;忘记密码就停掉 Sunshine 后重置:

# 重置 Web 管理账号(需先停掉 Sunshine) sunshine --creds 新用户名 新密码

应用入口:给每个游戏一个一键启动。默认自带 Desktop 和 Steam Big Picture 两个入口,更多应用通过 Web UI 添加:名称、可执行文件路径、工作目录,还能加启动前命令。规则记住两条:启动新应用会先结束当前串流;应用退出,串流随之结束。

实战场景:三个你会真正用到的操作

场景 A:给卧室平板串一个具体游戏,手柄输入目标:在平板的游戏列表里点一下就开玩。

  1. Applications 页签添加应用:填名称、exe 路径、工作目录;
  2. 平板 Moonlight 里选这个应用启动;
  3. 手柄接在平板上。 注意:手柄类型要主机和客户端都支持;Windows 主机先确认虚拟 HID 驱动已装好。

场景 B:无独显主机,1080p 保流畅目标:办公本/亮机卡也能串。

  1. AudioVideo 页签把编码器切到 VAAPI(Linux 核显)或软编;
  2. 分辨率和码率按网络下调,先保帧率再谈清晰度;
  3. 串流时看一眼 CPU 占用确认没打满。 注意:软编下 1080p 的 CPU 开销明显,降分辨率比降码率更省资源。

场景 C:人在外面,从手机改主机配置目标:不碰主机,远程调设置。

  1. 确保手机和主机在同一网络(或已配好可达的路由);
  2. 手机浏览器打开https://<主机IP>:47990
  3. 改完保存,需要时在 Web UI 里重启服务生效。 注意:所有改动都在浏览器里完成,不需要 SSH。

问题诊断:高频症状与一句话修复 🩺

症状最可能原因修复
忘了 Web UI 密码凭据只存在主机本地停掉 Sunshine,sunshine --creds 新用户名 新密码后重启
浏览器 47990 打不开服务没在跑或被防火墙挡systemctl --user status app-dev.lizardbyte.app.Sunshine查状态,放行 47990
Linux 连上后键鼠/手柄无反应运行用户缺 uinput 权限把用户加入input组,重新登录
主机开了 HDR,画面发白过曝Moonlight 客户端没开 HDR客户端设置启用 HDR;Linux 还需 KMS 捕获后端
卡顿、丢包路径速率不匹配或 Wi-Fi 不稳客户端跑反向 UDP 测试定位瓶颈,改有线或 5GHz

丢包测试一条命令(客户端执行,看输出里的丢包和抖动):

# 60 秒反向 UDP 测试,目标 50M iperf3 -c {主机IP} -t 60 -u -R -b 50M

定位不了就打开 Web UI 的 Troubleshooting 页,每条 warning/error 都能展开看细节。

进阶:什么时候该看哪份文档

  • docs/getting_started.md:各平台安装细节、服务化、无头主机与 HDR 的完整设置
  • docs/configuration.md:全部配置项逐项说明,想改某个具体参数时查这里
  • docs/troubleshooting.md:凭据重置、网络测试、丢包处理的标准流程
  • docs/performance_tuning.md:码率与分辨率调优,串流"卡"或"糊"时看
  • docs/api.md:Web 管理的 REST API,想脚本化重启或读状态时用
  • src/platform/:各平台屏幕捕获与编码实现(KMS、NvFBC、WGC、VAAPI…),想了解某个平台捕获原理时看

【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/20 21:38:47

Lucky反向代理配置指南:单域名接入5个以上后端服务

Lucky反向代理配置指南&#xff1a;单域名接入5个以上后端服务 【免费下载链接】lucky 软硬路由公网神器,ipv6/ipv4 端口转发,反向代理,DDNS,WOL,ipv4 stun内网穿透,cron,acme,rclone,ftp,webdav,filebrowser 项目地址: https://gitcode.com/GitHub_Trending/luc/lucky …

作者头像 李华
网站建设 2026/9/20 21:30:08

混合动力公交调度优化:运筹学与AI协同建模实战

1. 为什么公交调度不能只靠“老师傅经验”——混合动力公交的特殊约束倒逼算法升级混合动力公交调度优化&#xff0c;不是把传统柴油车排班表换套新能源外壳那么简单。我去年在某中型城市公交集团做驻场支持时&#xff0c;亲眼见过调度员用Excel手动调整线路——早上六点发车前…

作者头像 李华
网站建设 2026/9/20 21:28:37

colibri:用Go打造的轻量级项目初始化与模板渲染CLI工具

如果你跟我一样&#xff0c;一年里要新建十几次项目仓库&#xff0c;大概率会有这样的瞬间&#xff1a;打开终端&#xff0c;手指肌肉记忆般敲下 mkdir、git init、go mod init&#xff0c;然后开始搬运上一份几乎一模一样的 .gitignore、Dockerfile、Makefile、CI 配置和 LICE…

作者头像 李华