一个受 LiveRecorder 启发的 Minecraft 服务器插件,专为直播、录制和服务器监控设计。实现了智能的自动化导播功能,可以自动在服务器玩家之间轮换观察视角。
A Minecraft plugin inspired by LiveRecorder. Provides intelligent automatic camera rotation to observe all players on the server, perfect for streaming and recording.
- 智能轮播: 自动在服务器玩家间循环切换视角
- 聚焦模式: 优先观察活跃玩家,自动跳过挂机玩家
- 自定义间隔: 可自由设定切换时间(秒)
- 无缝切换: 使用观察者模式实现流畅的视角转换
- 手动切换: 快速跳转到下一个目标玩家
- 实时标题提示: 显示当前观察目标的名称
- 一键停止: 随时退出导播模式
- AFK 检测: 自动识别并过滤挂机玩家
- 轮播模式:30秒无活动视为挂机
- 聚焦模式:15秒无活动视为挂机
- 黑名单管理: 排除不想观察的玩家(如管理员、工作人员)
- 持久化存储: 黑名单配置保存至
config.yml
- Folia 兼容: 使用现代的
ScheduledTaskAPI - 线程安全: 采用
ConcurrentHashMap确保多线程安全 - Paper 优化: 利用 Paper API 的最新特性
- 高性能: 异步任务处理,不影响服务器性能
- Minecraft 服务器:1.20 或更高版本
- 服务端核心:Paper / Folia / Purpur 1.21.1+
- Java 版本:21 或更高
- 下载最新的
StreamCam-1.0.jar - 将 JAR 文件放入服务器的
plugins目录 - 重启服务器或使用
/reload命令 - 编辑
plugins/StreamCam/config.yml进行配置(可选)
| 指令 | 别名 | 描述 | 用法 | 权限 |
|---|---|---|---|---|
/streamcycle |
/scycle |
开始自动轮播观察模式 | /streamcycle [秒数] |
streamcam.use |
/streamfocus |
/sfocus |
开始聚焦模式(只观察活跃玩家) | /streamfocus |
streamcam.use |
/streamnext |
/snext |
立即切换到下一个目标玩家 | /streamnext |
streamcam.use |
/streambl |
/sbl |
管理导播黑名单 | /streambl <add|remove|list> [玩家名] |
streamcam.admin |
/streamcycle 10
每 10 秒自动切换到下一个玩家(默认过滤 30 秒内无活动的玩家)
/streamfocus
智能寻找正在活动的玩家,自动跳过挂机者(15 秒检测阈值)
/streamnext
如果当前观察对象不够有趣,立即切换到下一个
/streambl add Steve # 将 Steve 加入黑名单
/streambl remove Steve # 将 Steve 移出黑名单
/streambl list # 查看黑名单列表
| 权限 | 默认 | 描述 |
|---|---|---|
streamcam.use |
OP | 允许使用轮播、聚焦和切换指令 |
streamcam.admin |
OP | 允许管理黑名单 |
插件首次运行时会生成 plugins/StreamCam/config.yml:
# 黑名单玩家 UUID 列表(自动管理,通常无需手动编辑)
blacklist-players:
- "550e8400-e29b-41d4-a716-446655440000"
- "6ba7b810-9dad-11d1-80b4-00c04fd430c8"提示: 建议通过游戏内指令
/streambl管理黑名单,而非直接编辑配置文件。
# 克隆仓库
git clone https://github.com/ColdTearsYY/StreamCam.git
cd StreamCam
# 使用 Maven 构建
mvn clean package
# 生成的 JAR 文件位于 target/StreamCam-1.0.jar- IDE: IntelliJ IDEA / Eclipse
- 构建工具: Maven 3.6+
- JDK: 21
- 活动追踪: 插件监听玩家的移动、交互、聊天等事件,实时更新活跃状态
- 智能筛选: 根据最后活动时间和黑名单,动态生成可观察玩家列表
- 视角切换: 将指令执行者切换到观察者模式(
GameMode.SPECTATOR) - 定时任务: 使用 Paper 的
ScheduledTaskAPI 定期执行切换逻辑 - 标题通知: 通过 Adventure API 显示美观的标题提示
- 📺 服务器直播: 自动展示服务器内的精彩瞬间
- 🎬 视频录制: 无需手动操作,轻松录制多人视角
- 👀 服务器监控: 快速巡查玩家行为,维护服务器秩序
- 🏆 赛事导播: 在 PVP 竞赛中自动切换到战斗激烈的选手
欢迎提交 Issue 和 Pull Request!
如果你有新的功能建议或发现了 Bug,请:
- Fork 本项目
- 创建你的特性分支 (
git checkout -b feature/AmazingFeature) - 提交你的修改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启一个 Pull Request
本项目采用 Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License (CC BY-NC-ND 4.0)
✅ 允许:
- 下载和分享本作品(需注明原作者)
- 在私人 Minecraft 服务器上使用
❌ 禁止:
- 修改、转换或基于本作品创作衍生作品
- 用于商业目的
- 发布修改版本或二次分发
📝 署名要求:使用时必须注明原作者 (ColdTearsYY) 并提供许可证链接
详细条款请参阅: CC BY-NC-ND 4.0 完整文本
- 灵感来源: LiveRecorder
- 基于 Paper API
- 使用 Adventure API 提供现代化的文本组件
- 作者: ColdTearsYY
- 项目地址: https://github.com/ColdTearsYY/StreamCam
⭐ 如果这个插件对你有帮助,请给个 Star 支持一下!