无人机式自由录制者管理系统
面向直播/录屏场景的 Minecraft 服务器插件
插件会将指定的录制者玩家自动绑定到目标玩家,实时生成第三人称镜头,并在授权有效的前提下,按照预设的节奏自动切换跟拍对象。
- 🎬 智能跟随系统 - 使用
setVelocity实现平滑跟随,无瞬移感 - 📐 高精度镜头算法 - 基于
BigDecimal的镜头位置计算 - 👥 多录制者支持 - 自动/手动模式切换,随机/顺序轮播
- 🔐 隐私保护 - 同意/拒绝机制,录制者自动隐身
- 🎨 视觉反馈 - 发光效果 + ActionBar 状态提示
- 📝 直播日志 - SQLite 数据存储,完整操作记录
步骤 1 ➜ 安装插件并重启服务器
步骤 2 ➜ 绑定录制者到目标玩家
/lr bind CameraMan Steve auto
步骤 3 ➜ 开始录制!录制者画面自动跟随目标
# 克隆仓库
git clone https://github.com/httye/LiveRecorder.git
cd LiveRecorder
# 编译打包
mvn clean package
# 产物路径: target/LiveRecorder-1.0.0.jar- 将
LiveRecorder-1.0.0.jar放入plugins/目录 - 重启服务器
- 修改
plugins/LiveRecorder/config.yml配置 - 使用
/lr reload热重载配置
| 文档 | 说明 |
|---|---|
| 入门指南 | 快速上手插件 |
| 命令参考 | 所有命令说明 |
| 配置详解 | 配置文件说明 |
| 使用场景 | 实际使用案例 |
| 隐私保护 | 隐私功能说明 |
| 常见问题 | 问题解答 |
| API 参考 | 开发者 API |
| 更新日志 | 版本更新记录 |
LiveRecorder/
├── pom.xml # Maven 构建配置
├── README.md # 项目说明(主文档)
├── CHANGELOG.md # 更新日志
├── CONTRIBUTING.md # 贡献指南
├── LICENSE # MIT 开源协议
├── help/ # 📚 详细文档(VitePress)
│ ├── .vitepress/ # VitePress 配置
│ ├── guide/ # 入门指南
│ │ ├── getting-started.md # 快速开始
│ │ ├── installation.md # 安装部署
│ │ └── basics.md # 基本概念
│ ├── commands/ # 命令参考
│ │ ├── index.md # 命令概览
│ │ ├── admin.md # 管理员命令
│ │ └── player.md # 玩家命令
│ ├── config/ # 配置详解
│ │ ├── index.md # 配置概览
│ │ ├── camera.md # 镜头设置
│ │ ├── autoswitch.md # 自动切换
│ │ ├── visual.md # 视觉反馈
│ │ ├── restrictions.md # 录制者限制
│ │ └── privacy.md # 隐私设置
│ ├── scenarios/ # 使用场景
│ │ ├── index.md # 场景概览
│ │ ├── single.md # 单人直播跟拍
│ │ ├── multi.md # 多机位直播
│ │ ├── rotate.md # 自动轮换跟拍
│ │ ├── manual.md # 手动控制跟拍
│ │ └── privacy.md # 隐私保护模式
│ ├── privacy/ # 隐私保护
│ │ ├── index.md # 隐私概览
│ │ ├── consent.md # 同意/拒绝机制
│ │ ├── invisibility.md # 录制者隐身
│ │ ├── logs.md # 直播日志
│ │ └── storage.md # 数据存储
│ ├── faq/ # 常见问题
│ │ ├── index.md # 问题概览
│ │ ├── follow.md # 跟随问题
│ │ ├── performance.md # 性能问题
│ │ ├── privacy.md # 隐私问题
│ │ └── config.md # 配置问题
│ ├── api/ # API 参考
│ │ ├── index.md # API 概览
│ │ ├── liverecorder.md # LiveRecorder 类
│ │ ├── livecore.md # LiveCore 类
│ │ ├── databasemanager.md # DatabaseManager 类
│ │ └── camerageometry.md # CameraGeometry 类
│ ├── qa/ # 互动问答
│ │ └── index.md # 热门问题
│ ├── index.md # 文档首页
│ ├── about.md # 项目介绍
│ ├── package.json # npm 配置
│ └── README.md # 文档说明
└── src/main/
├── java/com/liverecorder/
│ ├── LiveRecorder.java # 主插件类
│ ├── model/ # 数据模型
│ │ ├── RecorderBinding.java # 录制者绑定模型
│ │ ├── PrivacySetting.java # 隐私设置模型
│ │ └── LiveLog.java # 直播日志模型
│ ├── manager/ # 核心管理器
│ │ └── LiveCore.java # 核心管理器
│ ├── database/ # 数据库管理
│ │ └── DatabaseManager.java # 数据库管理器
│ ├── util/ # 工具类
│ │ └── CameraGeometry.java # 镜头几何计算
│ ├── listener/ # 事件监听器
│ │ ├── CameraListener.java # 镜头跟随监听
│ │ ├── RecorderRestrictionListener.java # 操作限制监听
│ │ └── VisualListener.java # 视觉反馈监听
│ └── command/ # 命令处理器
│ ├── LiveRecorderCommand.java # 命令处理器
│ └── LiveRecorderTabCompleter.java # Tab 补全器
└── resources/
├── plugin.yml # 插件描述
└── config.yml # 默认配置
| 权限 | 说明 | 默认 |
|---|---|---|
liverecorder.admin |
使用所有管理命令 | OP |
liverecorder.use |
使用基本命令 | true |
liverecorder.recorder |
录制者权限 | false |
| 功能 | 效果 | 使用场景 |
|---|---|---|
| 🎥 跟随系统 | 录制者自动跟随目标,位置由插件控制 | 直播跟拍、游戏录制 |
| 👻 自动隐身 | 录制者对其他玩家完全隐身 | 不干扰其他玩家 |
| 🔐 隐私保护 | 玩家可以拒绝被直播 | 保护玩家隐私 |
| 🎨 视觉反馈 | 目标玩家发光 + ActionBar 提示 | 实时状态显示 |
| 📝 直播日志 | 记录所有直播操作 | 审计和回溯 |
| 功能 | LiveRecorder | 传统方法 |
|---|---|---|
| 自动跟随 | ✅ | ❌ |
| 隐私保护 | ✅ | ❌ |
| 多机位支持 | ✅ | ❌ |
| 高精度计算 | ✅ | ❌ |
| 日志记录 | ✅ | ❌ |
| 需要手动控制 | ❌ | ✅ |
| 需要插件配合 | ❌ | ✅ |
# 绑定录制者到主播
/lr bind CameraMan 主播小明 auto
# 录制者自动跟随,主播正常游戏# 三个录制者跟拍同一目标
/lr bind Camera01 Steve auto
/lr bind Camera02 Steve auto
/lr bind Camera03 Steve auto
# 导播可在三个录制者间切换画面# 配置文件
auto-switch:
enabled: true
interval: 15
mode: RANDOM# 录制者每 15 秒自动切换到另一个玩家
/lr bind CameraMan Steve auto# 玩家查看隐私设置
/lr privacy
# 玩家拒绝被直播
/lr decline
# 玩家同意被直播
/lr accept- 📄 更新日志 - 查看版本更新记录
- 🤝 贡献指南 - 了解如何贡献
- 🆘 获取支持 - 获取帮助和支持
- 🛡️ 安全策略 - 报告安全漏洞
- 📜 行为准则 - 社区行为准则
- 📜 开源协议 - MIT License
- 💬 GitHub Discussions - 参与讨论
- 🐛 GitHub Issues - 报告问题
- 📧 联系我们 - 联系作者
- 总代码行数: ~3000+
- 文档文件数: 40+
- 支持版本: Spigot 1.16+
- 数据库支持: SQLite
- 权限节点: 3 个
- 命令数量: 11 个
- 游戏直播跟拍
- 多机位直播
- 综艺节目录制
- 游戏视频录制
- 教程视频制作
- 展示视频拍摄
- 服务器监控
- 游戏录制
- 活动记录
- 无需人工控制录制者
- 自动切换目标
- 自动隐藏录制者
- 玩家同意/拒绝机制
- 录制者自动隐身
- 完整的日志记录
- BigDecimal 高精度计算
- 平滑移动算法
- 准确的镜头位置
- 简单的命令系统
- 直观的配置文件
- 完善的文档支持
本项目基于 MIT License 开源
- ✅ 可以自由使用
- ✅ 可以修改和分发
- ✅ 可以用于商业项目
- ✅ 无需公开源代码
⚠️ 需要保留版权声明
欢迎提交 Issue 和 Pull Request!
- 🍴 Fork 本仓库
- 🌿 创建特性分支 (
git checkout -b feature/AmazingFeature) - 💾 提交更改 (
git commit -m 'Add some AmazingFeature') - 📤 推送到分支 (
git push origin feature/AmazingFeature) - 🎉 提交 Pull Request
查看 贡献指南 了解更多详情。
如果这个项目对你有帮助,请给我们一个 Star!
感谢所有为 LiveRecorder 做出贡献的开发者和用户!
- Spigot 社区提供的服务器 API
- 所有提交 Issue 和 PR 的贡献者
- 使用并支持 LiveRecorder 的用户
- GitHub: httye/LiveRecorder
- Email: 1280773070@qq.com
LiveRecorder © 七月 | 七月个人制作组
Made with ❤️ by 七月个人制作组