Sunshine:新手快速部署自托管游戏串流服务器的实战指南
Sunshine新手快速部署自托管游戏串流服务器的实战指南【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/SunshineSunshine 是一款开源的自托管游戏串流服务器。它捕获你 PC 的屏幕与系统音频经硬件编码后推送给任意设备上的 Moonlight 客户端。适合想在手机、平板或电视上玩 PC 游戏或搭建家庭串流中心的用户。功能概览屏幕捕获Windows 使用 Windows.Graphics.CaptureLinux 支持 KMS/DRM、Waylandwlroots、X11 与 XDG PortalmacOS 使用 ScreenCaptureKit。硬件编码支持 NVIDIA NVENC、AMD AMF、Intel QuickSync、VAAPI、VideoToolboxGPU 不支持时可回退软件编码。Web 管理界面在https://localhost:47990完成配置、添加应用、配对客户端全程无需改配置文件。手柄仿真在主机端创建虚拟手柄Xbox 360/One/Series、DualShock 4、DualSense、Switch Pro 等让本地游戏识别客户端操作。音频串流同时捕获系统音频并随视频流一起传输。部署前自检硬件、网络与端口准备安装前先对照以下清单确认环境能避免大部分装完连不上的问题检查项要求显卡支持 NVENCNVIDIA、VCE 1.0AMD或 VAAPI/QuickSyncIntel之一均无则只能软件编码CPU / 内存AMD Ryzen 3 或 Intel Core i3 及以上内存 4GB 以上网络服务器与客户端建议有线Cat5e 及以上无线需 5GHz 802.11ac端口TCP 47984–47990UDP 47998–48000系统权限Linux 上需将 Sunshine 运行用户加入input组否则虚拟输入设备键盘、鼠标、手柄不可用系统版本Windows 11Linux 22.04Ubuntu/13DebianmacOS 14.2安装与首次配置Linux用 DEB 包或 AppImage 完成安装从项目 Release 页面下载与发行版匹配的.deb包或 AppImage用包管理器安装最省事。下面的命令安装已下载的 DEB 包sudo apt install ./sunshine_version-1distro版本_arch.deb如果你下载的是 AppImage注意它不支持 KMS 捕获优先用发行版包赋予执行权并注册服务chmod x Sunshine_version_arch.AppImage ./Sunshine_version_arch.AppImage --install包管理器安装的用户用 systemd 用户服务启动并设为开机自启systemctl --user --now enable app-dev.lizardbyte.app.SunshineWindows一条命令装好在 PowerShell 中执行winget 会自动拉取官方 MSI 安装器winget install LizardByte.Sunshine安装完成后建议重启电脑让虚拟手柄驱动生效。macOSHomebrew 安装实验性macOS 版本目前为实验状态手柄暂不支持。添加官方 tap 并安装brew tap LizardByte/homebrew brew install sunshine首次启动时系统会要求授予屏幕录制与麦克风权限全部允许即可。首次配置设置凭证、添加应用、配对客户端启动 Sunshine 后浏览器访问https://localhost:47990浏览器提示证书不安全属正常现象证书为自签名。首次访问会进入欢迎页设置 Web 界面的用户名和密码务必记录下来。在 Applications 页面添加要串流的项目添加一个名为 Desktop 的条目即可串流整个桌面也可以填游戏可执行文件路径。在客户端发起连接时Moonlight 会要求输入 PIN登录 Web 界面在导航栏的 PIN 页面输入配对码并给设备命名即可完成配对。客户端接入各平台 Moonlight 客户端安装方式Sunshine 只负责主机端播放和输入靠 Moonlight 客户端。按下表选择对应平台安装平台客户端获取方式WindowsMoonlight DesktopMoonlight 官网下载macOS / LinuxMoonlight DesktopMoonlight 官网下载Android 手机 / 平板MoonlightGoogle PlayiOS / iPadOSMoonlightApp StoreAndroid TV / Apple TVMoonlight各平台应用商店客户端与 Sunshine 在同一局域网时可自动发现连不上时可在 Moonlight 中手动输入主机 IP 添加。核心机制捕获、编码与传输如何协作捕获Sunshine 按平台选择采集后端。Windows 用 Windows.Graphics.Capture也支持 DXGI Desktop DuplicationLinux 用 KMS/DRM、Waylandwlroots、X11、XDG Portal 或 NvFBCmacOS 用 ScreenCaptureKit。采集到的是原始屏幕帧和系统音频。编码原始帧送入 GPU 硬件编码器压缩为 H.264 或 HEVC 视频流音频用 Opus 编码。就像搬家前先把箱子用真空袋压缩、再装车运输——网络传输的是压缩后的数据而不是原始帧这是延迟和带宽能降到可用水平的关键。传输与输入回注RTSP 用于建立会话音视频走 UDP 47998–48000 端口。输入方向相反你在客户端按下的按键、鼠标移动、手柄操作被发送到主机由主机通过虚拟输入设备Linux 的 uinput、Windows 的 SendInput 或虚拟 HID 驱动注入到本地游戏里。调优与进阶网络优化与安全加固配置入口都在 Web 界面进入 Configuration 页顶部搜索框可以直接定位到任意设置项无需记忆配置文件字段名。场景 1局域网内串流卡顿、掉帧先确认双方网卡协商速度。⚠️ 如果主机网卡远快于客户端如主机 2.5Gbps、客户端 1Gbps突发流量会压垮中间设备的缓存。可用 Linux 的 tc 对 Sunshine 的流UDP 源端口 47998限速省略了创建根 qdisc 和默认类的前几步# 建 1Gbps 限速类并把 UDP 47998 的流划入该类 sudo tc class add dev NIC parent 1: classid 1:10 htb rate 1000mbit ceil 1000mbit sudo tc filter add dev NIC protocol ip parent 1: prio 1 u32 match ip protocol 17 0xff match ip sport 47998 0xffff flowid 1:10如果你遇到个别设备如某些电视丢包率 30% 以上可尝试把主机网卡 MTU 从 1500 降到 1428官方文档将其列为最后的排查手段。场景 2想从外网访问在 Web 界面 Network 页开启 UPnP等价于在sunshine.conf中写upnp enabledSunshine 会自动在路由器上开放串流端口或在路由器手动转发 TCP 47984–47990 与 UDP 47998–48000。场景 3安全加固Web 界面默认就是自签名 HTTPS无需额外开启 TLS。建议使用强密码在 Network 页设置bind_address如bind_address 192.168.1.100把服务限制在特定网卡上外网暴露时只放行串流端口。场景 44K 与 HDR4K 串流要求服务器和客户端都走 Cat5e 以上有线连接。HDR 在 Windows 主机上正式支持Linux 为实验性需要 GPU 支持 HEVC Main 10 或 AV1 10-bit 编码并且要在 Moonlight 客户端设置里打开 HDR否则画面会按 SDR 解码、偏亮。场景 5手柄输入异常如果你遇到 Linux 上手柄无响应把 Sunshine 运行用户加入input组后重新登录。Windows 上 ViGEmBus 已停止维护且只支持 Xbox 360 与 DualShock 4需要 Xbox Series、DualSense、Switch Pro 等完整手柄类型时需安装官方的 Virtual HID Driver付费。项目资源文档与源码导读入门步骤docs/getting_started.md全部配置项及默认值docs/configuration.md网络问题排查限速、MTUdocs/troubleshooting.mdREST API 与示例docs/api.md核心逻辑集中在 src/ 目录想读源码可以从这里入手src/ ├── nvenc/ # NVIDIA NVENC 编码器实现 ├── platform/ │ ├── linux/ # KMS/Wayland/X11 捕获与音频 │ ├── windows/ # WGC 捕获与虚拟手柄驱动 │ └── macos/ # ScreenCaptureKit 捕获 ├── rtsp.cpp # RTSP 会话与信令 ├── network.cpp # UDP 音视频传输 ├── video.cpp # 编码管线 ├── audio.cpp # 音频捕获与 Opus 编码 └── config.cpp # 配置读写社区支持通过 LizardByte 的 Discord 服务器和官方文档站提供构建与贡献流程见 docs/building.md 与 docs/contributing.md。先在你的家用 PC 上装好 Sunshine再按上表在客户端设备安装 Moonlight 完成首次配对。实际效果受网络环境、硬件配置和具体场景影响。【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

2026法考民法备考:体系化笔记与高效复习方法

2026法考民法备考:体系化笔记与高效复习方法

2026年法考,民法这门课,我一直觉得是“得民法者得天下”里最沉的那块基石。但很多考友备考时都有个共同的困扰:课听懂了,题不会做;笔记记了一大本,翻的时候却找不到重点;知识点背了无数遍&#…

2026/9/24 22:56:49 阅读更多 →
AI Agent开发实战:从概念、选型到Dify落地与SSE流式对接

AI Agent开发实战:从概念、选型到Dify落地与SSE流式对接

AI Agent最近这一年的热度,不用我多说,各种平台上的教程也是满天飞。但说实话,多数教程要么只讲概念,要么只演示个聊天机器人,真正能带你从零搭出一个能解决实际问题、甚至能接到业务流程里的智能体,并且把…

2026/9/24 22:56:49 阅读更多 →
文件查找工具进阶指南:Everything、fd与ripgrep的高效搜索实践

文件查找工具进阶指南:Everything、fd与ripgrep的高效搜索实践

关于文件查找工具,我一直有个观点:它是办公室里最不起眼、却最能决定你加班时长的生产力工具。你可能攒了一台高配电脑,但当你面对一个塞满几百G资料的工作盘,想找出一个月前某位客户发来的合同电子版时,那堆硬件配置一…

2026/9/24 22:56:49 阅读更多 →

最新新闻

从零构建你的AI Agent发行版:Profile、技能与生产部署全指南

从零构建你的AI Agent发行版:Profile、技能与生产部署全指南

我以前装 Linux 有个习惯:拿到一个发行版镜像,第一件事不是急着安装,而是先翻它的默认配置。包管理器是什么,桌面环境是哪套,预装工具链齐不齐,默认 shell 是 bash 还是 zsh。Ubuntu 用 apt,Arc…

2026/9/24 23:37:27 阅读更多 →
军工OA系统中CKEditor配置PDF转存方案与踩坑实践

军工OA系统中CKEditor配置PDF转存方案与踩坑实践

军工行业OA系统如何配置CKEditor的PDF转存功能?先说明白一个场景:你在一家军工单位的OA系统里,领导要求写份报告,编辑器用的是CKEditor,正文填完了,得输出一份固定版式的PDF,带编号、带水印、带…

2026/9/24 23:37:27 阅读更多 →
CKEditor集成PDF转图片与文本:军工OA内网部署实战解析

CKEditor集成PDF转图片与文本:军工OA内网部署实战解析

去年我配合一个军工单位的OA系统做二次开发,需求方提了一个很具体的要求:在CKEditor富文本编辑器里,用户上传PDF文件后,系统要能自动把PDF内容转存成图片和文本,方便编辑正文时直接预览,而不是让每个人下载…

2026/9/24 23:37:27 阅读更多 →
电子病历EMR结构化编辑器源码解析:从数据模型到二次开发实战

电子病历EMR结构化编辑器源码解析:从数据模型到二次开发实战

站在医疗信息化的角度看,EMR(电子病历)从来都不是一个“能打字的Word”那么简单。尤其当你翻开一套智慧电子病历源码,第一眼看到“免费结构化编辑器”这几个字,就该意识到:这玩意儿真正值钱的地方&#xff…

2026/9/24 23:37:27 阅读更多 →
400KHz下USB转I2C总线速率测试与Excel扫描方案

400KHz下USB转I2C总线速率测试与Excel扫描方案

1. 项目背景与测试目标拆解1.1 为什么要在400KHz下测I2C总线速率I2C总线的标准模式是100KHz,快速模式是400KHz,高速模式能到3.4MHz。但实际项目里,400KHz这个档位是最微妙的——它刚好卡在“大部分MCU都能跑”和“信号完整性开始找麻烦”的临…

2026/9/24 23:37:27 阅读更多 →
Java IO流与面向对象:从管道思想到文件读写实战

Java IO流与面向对象:从管道思想到文件读写实战

不少Java新手学完面向对象三大特性之后,兴致勃勃地冲进IO流,结果被一堆Input、Output、Stream、Reader、Writer的类名砸得晕头转向。明明每个类单独看都能理解,合在一起就不知道谁该搭配谁,更不知道项目里到底该用哪个。作为一个被…

2026/9/24 23:36:27 阅读更多 →

日新闻

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为…

2026/9/24 0:00:19 阅读更多 →
单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

简介:一份基于单细胞RNA测序数据的细胞类型注释算法研究Python毕业设计源码,针对计算机相关专业正在做毕设或需要项目实战的学习者,可用于课程设计与期末大作业。项目代码完整、经导师指导评审通过,可直接运行,覆盖数据…

2026/9/24 0:00:19 阅读更多 →
C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

第一次在项目里被反射卡住,是在一个老旧的WinForms模块里:几十个类依赖PropertyChanged通知,运行时反射读属性、发通知,每次启动慢半拍不说,一上.NET Native/AOT裁剪模式几乎全面崩盘。后来我把这段逻辑全部改成C#源生…

2026/9/24 0:00:19 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/24 14:34:13 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/24 9:10:42 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/24 14:33:56 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/24 12:50:34 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/24 14:33:48 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/24 12:49:17 阅读更多 →