mirror of
https://github.com/Coloryr/AllMusic.git
synced 2026-11-08 18:54:44 +00:00
Update README.md
This commit is contained in:
1 parent
4560231e3e
commit
c976858ae0
1 file changed
+247
-109
@@ -2,7 +2,7 @@
|
||||
|
||||

|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
@@ -15,12 +15,13 @@
|
||||
**注:需要配合客户端Mod使用**
|
||||
**1.7.10和1.12.2没有技术更新**
|
||||
**不兼容旧版客户端Mod,需要新版客户端Mod**
|
||||
**如果面板服有问题,请自己去问服务器商给不给你用**
|
||||
**如果面板服有问题,请自己去问服务器商给不给你用**
|
||||
**4.0服务器只能跟4.0客户端用,不兼容3.0的服务器或客户端**
|
||||
|
||||
插件支持的服务器
|
||||
- Paper
|
||||
- Folia
|
||||
- BungeeCord
|
||||
- Velocity
|
||||
|
||||
模组支持的服务器
|
||||
@@ -32,14 +33,20 @@
|
||||
1. 安装AllMusic_Server
|
||||
|
||||
Paper服务器
|
||||
复制`[paper]AllMusic_Server-4.0.0.jar`到你的`plugins`文件夹
|
||||
复制`[paper]AllMusic_Server-4.2.9.jar`到你的`plugins`文件夹
|
||||
Folia服务器
|
||||
复制`[folia]AllMusic_Server-4.2.9.jar`到你的`plugins`文件夹
|
||||
Velocity服务器
|
||||
复制`[velocity]AllMusic_Server-4.0.0.jar`到你的`plugins`文件夹
|
||||
复制`[velocity]AllMusic_Server-4.2.9.jar`到你的`plugins`文件夹
|
||||
BungeeCord服务器
|
||||
复制`[bungeecord]AllMusic_Server-4.2.9.jar`到你的`plugins`文件夹
|
||||
Forge/Fabric/NeoForge类服务器
|
||||
复制`[xxx-xxx]AllMusic_Server-4.0.0.jar`到你的`mods`文件夹
|
||||
复制`[xxx-xxx]AllMusic_Server-4.2.9.jar`到你的`mods`文件夹
|
||||
|
||||
注:Release页面下载的文件名会把方括号换成点,比如`paper.AllMusic_Server-4.2.9.jar`,和上面是同一个文件
|
||||
|
||||
2. 安装客户端mod
|
||||
复制`[xxx-xxx]AllMusic_Client-4.0.0`到客户端的`mods`文件夹
|
||||
复制`[xxx-xxx]AllMusic_Client-4.2.9.jar`到客户端的`mods`文件夹
|
||||
重启客户端
|
||||
|
||||
如果你是单人游戏使用或者联机使用OneJar版本
|
||||
@@ -47,13 +54,236 @@ Forge/Fabric/NeoForge类服务器
|
||||
## 音乐API
|
||||
AllMusic不会内置音乐api,你想要正常使用需要自己安装
|
||||
这里提供一个参考api https://github.com/Coloryr/netapi
|
||||
`allmusic\api`文件夹放音乐api构建出来的jar,需要重启插件才能加载
|
||||
`allmusic_server/api`(插件端为`plugins/AllMusic/api`)文件夹放音乐api构建出来的jar,需要重启插件才能加载
|
||||
|
||||
## 构建
|
||||
1. 安装JDK25、Git
|
||||
2. 使用 `git submodule update --init --recursive` 初始化项目
|
||||
3. 使用 `gradlew :server:buildServer` 构建服务器
|
||||
4. 使用 `gradlew :client:buildClient` 构建客户端
|
||||
> 群组服(BungeeCord/Velocity)模式下,音乐API要放在**代理端**,因为放歌的是代理端
|
||||
|
||||
## 日志
|
||||
所有日志都输出到**服务端控制台**(同时写入`logs/latest.log`),统一带`[AllMusic]`前缀:
|
||||
|
||||
- 插件端(Paper/Folia/BungeeCord/Velocity):使用 MiniMessage 颜色输出
|
||||
- 模组端(Forge/Fabric/NeoForge):输出到对应模组日志,颜色会被去掉
|
||||
|
||||
启动时会依次打印插件版本、配置文件版本、语言文件版本、注册的音乐API,最后是`已启动-4.0.0`
|
||||
|
||||
| 日志 | 说明 |
|
||||
| --- | --- |
|
||||
| `没有注册音乐` | `api`文件夹里没有音乐API,放入API的jar后重启 |
|
||||
| `配置文件config.json错误,已覆盖` | 配置文件损坏或字段缺失,已被默认配置覆盖 |
|
||||
| `请及时更新配置文件` | `config.json`里的`version`和插件不匹配,建议删除后重新生成 |
|
||||
| `语言文件版本号错误,运行可能会发生问题` | `message.json`版本和插件不匹配,删除后重载 |
|
||||
| `没有找到目标服务器` | 顶层模式下没有找到`economy.backend`配置的后端服 |
|
||||
| `经济数据请求超时` | 顶层模式下后端服没有在1秒内返回经济结果 |
|
||||
|
||||
插件数据目录(配置、语言、缓存、运行时数据都在这里):
|
||||
|
||||
| 平台 | 目录 |
|
||||
| --- | --- |
|
||||
| Paper / Folia | `plugins/AllMusic` |
|
||||
| BungeeCord | `plugins/AllMusic` |
|
||||
| Velocity | `plugins/allmusic` |
|
||||
| Forge / Fabric / NeoForge | 服务端根目录下的`allmusic_server` |
|
||||
|
||||
| 文件 | 说明 |
|
||||
| --- | --- |
|
||||
| `config.json` | 主配置文件 |
|
||||
| `message.json` | 语言/提示文本文件 |
|
||||
| `cookie.json` | 网易云cookie池(音乐API使用) |
|
||||
| `hud.json` | 默认HUD布局 |
|
||||
| `music.json` | 空闲歌单 |
|
||||
| `ban.json` | 禁歌/禁点歌玩家/禁播服务器列表 |
|
||||
| `players/` | 每个玩家的HUD布局(`玩家名.json`) |
|
||||
| `api/` | 音乐API的jar |
|
||||
|
||||
## 指令表
|
||||
主指令为`/music`,别名以各平台注册为准。
|
||||
|
||||
### 玩家指令
|
||||
|
||||
| 指令 | 说明 |
|
||||
| --- | --- |
|
||||
| `/music <音乐ID/网易云分享链接>` | 用默认API点歌 |
|
||||
| `/music <音乐API> <音乐ID>` | 指定API点歌 |
|
||||
| `/music help` | 查看帮助 |
|
||||
| `/music list` | 查看歌曲队列 |
|
||||
| `/music cancel [序号]` | 取消自己的点歌,不带序号时取消自己最早的一首 |
|
||||
| `/music vote` | 发起切歌投票 |
|
||||
| `/music vote cancel` | 取消自己发起的切歌投票 |
|
||||
| `/music agree` | 同意当前投票 |
|
||||
| `/music push [序号]` | 发起插歌投票(把自己的歌插到下一首) |
|
||||
| `/music push cancel` | 取消自己发起的插歌投票 |
|
||||
| `/music mute` | 不再参与点歌,再输入一次恢复 |
|
||||
| `/music mute list` | 不接收空闲歌单的歌,再输入一次恢复 |
|
||||
| `/music search <歌名>` | 用默认API搜索歌曲 |
|
||||
| `/music searchapi <音乐API> <歌名>` | 指定API搜索歌曲 |
|
||||
| `/music select <序号>` | 选择搜索结果 |
|
||||
| `/music nextpage` | 搜索结果下一页 |
|
||||
| `/music lastpage` | 搜索结果上一页 |
|
||||
| `/music join` | 重新接收当前正在播放的歌曲(重连/切服后使用) |
|
||||
|
||||
### HUD 指令
|
||||
|
||||
| 指令 | 说明 |
|
||||
| --- | --- |
|
||||
| `/music hud enable [true/false]` | 打开/关闭全部HUD,不带参数为切换 |
|
||||
| `/music hud reset` | 重置全部HUD为默认布局 |
|
||||
| `/music hud alpha <0~1>` | 设置全部HUD透明度 |
|
||||
| `/music hud <info/lyric/state/pic> enable [true/false]` | 打开/关闭单个HUD |
|
||||
| `/music hud <info/lyric/state/pic> reset` | 重置单个HUD |
|
||||
| `/music hud <info/lyric/state/pic> pos <x> <y>` | 设置单个HUD位置 |
|
||||
| `/music hud <info/lyric/state/pic> dir <对齐方式>` | 设置单个HUD对齐方式 |
|
||||
| `/music hud <info/lyric/state/pic> alpha <0~1>` | 设置单个HUD透明度 |
|
||||
| `/music hud info/lyric color <颜色HEX>` | 设置文字颜色,如`FFAA00` |
|
||||
| `/music hud info/lyric/state shadow [true/false]` | 设置文字阴影 |
|
||||
| `/music hud info/lyric/state gap <像素>` | 设置行间距/文字到进度条间距 |
|
||||
| `/music hud info/lyric maxwidth <像素>` | 设置最大宽度,超出滚动 |
|
||||
| `/music hud info loop [true/false]` | 设置信息是否循环滚动 |
|
||||
| `/music hud pic size <像素>` | 设置封面尺寸 |
|
||||
| `/music hud pic rotate [true/false]` | 设置封面旋转 |
|
||||
| `/music hud pic speed <数值>` | 设置封面旋转速度(每多少毫秒转1度) |
|
||||
|
||||
对齐方式取值:`TOP_LEFT`、`TOP_CENTER`、`TOP_RIGHT`、`LEFT`、`CENTER`、`RIGHT`、`BOTTOM_LEFT`、`BOTTOM_CENTER`、`BOTTOM_RIGHT`
|
||||
|
||||
### 管理员指令
|
||||
|
||||
管理员指`config.json`里`adminList`中的玩家、OP或者控制台。
|
||||
|
||||
| 指令 | 说明 |
|
||||
| --- | --- |
|
||||
| `/music reload` | 重读配置文件和语言文件 |
|
||||
| `/music next` | 强制切歌 |
|
||||
| `/music ban <ID>` | 禁止点这首歌 |
|
||||
| `/music ban <音乐API> <ID>` | 禁止点这首歌(指定API) |
|
||||
| `/music unban <ID>` | 解禁这首歌 |
|
||||
| `/music unban <音乐API> <ID>` | 解禁这首歌(指定API) |
|
||||
| `/music banplayer <玩家>` | 禁止某位玩家点歌 |
|
||||
| `/music unbanplayer <玩家>` | 解禁某位玩家 |
|
||||
| `/music delete <序号>` | 删除队列中的歌曲 |
|
||||
| `/music addlist <歌单ID>` | 添加歌单到空闲列表 |
|
||||
| `/music addlist <音乐API> <歌单ID>` | 添加歌单到空闲列表(指定API) |
|
||||
| `/music clearlist` | 清空空闲歌单 |
|
||||
| `/music clearban` | 清空禁歌列表 |
|
||||
| `/music clearbanplayer` | 清空禁点歌玩家列表 |
|
||||
| `/music test <ID>` | 测试歌曲解析并输出播放地址 |
|
||||
| `/music test <音乐API> <ID>` | 测试歌曲解析(指定API) |
|
||||
|
||||
## 权限
|
||||
仅在`config.json`里`needPermission`为`true`时检查权限。
|
||||
|
||||
| 权限 | 说明 |
|
||||
| --- | --- |
|
||||
| `allmusic.addmusic` | 点歌 |
|
||||
| `allmusic.search` | 搜歌、翻页、选择搜索结果 |
|
||||
| `allmusic.push` | 插歌 |
|
||||
| `allmusic.vote` | 发起投票/同意投票 |
|
||||
|
||||
> 管理员指令不检查上面的权限,只判断`adminList`、OP或者控制台。
|
||||
|
||||
## 配置文件
|
||||
配置文件采用json格式,需要遵守json编写的格式规范
|
||||
旧版的`maxPlayList`/`maxPlayerList`已经移到`limit`,`minVote`/`voteTime`已经移到`vote`,`musicBR`已移除(音质由音乐API决定),旧配置建议删除后重新生成
|
||||
|
||||
```json
|
||||
{
|
||||
"lyricDelay": 0,
|
||||
"defaultAddMusic": 0,
|
||||
"ktvLyricDelay": 0,
|
||||
"adminList": ["color_yr"],
|
||||
"playListSwitch": true,
|
||||
"playListRandom": true,
|
||||
"playListEscapeDeep": 40,
|
||||
"sendLyric": true,
|
||||
"needPermission": false,
|
||||
"topAPI": false,
|
||||
"mutePlayMessage": false,
|
||||
"muteAddMessage": false,
|
||||
"showInBar": false,
|
||||
"showClick": true,
|
||||
"ktvMode": true,
|
||||
"version": "402",
|
||||
"economy": {
|
||||
"backend": "server1",
|
||||
"vault": true
|
||||
},
|
||||
"funConfig": {
|
||||
"rain": true,
|
||||
"rainRate": 10
|
||||
},
|
||||
"limit": {
|
||||
"messageLimit": false,
|
||||
"messageLimitSize": 20,
|
||||
"listLimit": false,
|
||||
"listLimitSize": 10,
|
||||
"infoLimit": false,
|
||||
"infoLimitSize": 20,
|
||||
"musicTimeLimit": false,
|
||||
"maxMusicTime": 600,
|
||||
"limitText": "...",
|
||||
"maxPlayList": 10,
|
||||
"maxPlayerList": 10
|
||||
},
|
||||
"cost": {
|
||||
"searchCost": 20,
|
||||
"addMusicCost": 10,
|
||||
"useCost": false
|
||||
},
|
||||
"vote": {
|
||||
"minVote": 3,
|
||||
"voteTime": 30,
|
||||
"voteListSize": 10
|
||||
},
|
||||
"defaultApi": "netapi",
|
||||
"sendDelay": 1000,
|
||||
"joinDelay": 1000,
|
||||
"lyricReplace": {},
|
||||
"fixSongTime": 0
|
||||
}
|
||||
```
|
||||
|
||||
| 字段 | 默认值 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `lyricDelay` | `0` | 歌词延迟,单位毫秒 |
|
||||
| `defaultAddMusic` | `0` | 默认点歌方式,`0`直接点歌、`1`搜歌 |
|
||||
| `ktvLyricDelay` | `0` | KTV模式歌词延迟,单位毫秒 |
|
||||
| `adminList` | `["color_yr"]` | 管理员名单(不区分大小写) |
|
||||
| `playListSwitch` | `true` | 玩家点歌后是否直接从空闲歌单切到玩家歌曲 |
|
||||
| `playListRandom` | `true` | 空闲歌单是否随机播放 |
|
||||
| `playListEscapeDeep` | `40` | 空闲歌单多少首之内不重复 |
|
||||
| `sendLyric` | `true` | 是否发送歌词到客户端 |
|
||||
| `needPermission` | `false` | 是否检查`allmusic.*`权限 |
|
||||
| `topAPI` | `false` | 顶层模式,用于和BC/Velocity代理交换数据(群组服开启,代理端放歌) |
|
||||
| `mutePlayMessage` | `false` | 是否不广播播放信息 |
|
||||
| `muteAddMessage` | `false` | 是否不广播点歌信息 |
|
||||
| `showInBar` | `false` | 播放信息是否显示在action bar |
|
||||
| `showClick` | `true` | 是否显示`[点我]`操作,1.7.10客户端不支持点击事件,可设为`false` |
|
||||
| `ktvMode` | `true` | 是否启用KTV歌词 |
|
||||
| `version` | `"402"` | 配置文件版本号,不要手动改 |
|
||||
| `economy.backend` | `"server1"` | 顶层模式下转发经济请求的后端服名字 |
|
||||
| `economy.vault` | `true` | 是否挂钩Vault |
|
||||
| `funConfig.rain` | `true` | 是否启用随机下雨 |
|
||||
| `funConfig.rainRate` | `10` | 随机下雨概率(百分比) |
|
||||
| `limit.messageLimit` | `false` | 是否限制广播消息长度 |
|
||||
| `limit.messageLimitSize` | `20` | 广播消息最大长度 |
|
||||
| `limit.listLimit` | `false` | 是否限制歌曲列表长度 |
|
||||
| `limit.listLimitSize` | `10` | 歌曲列表最大长度 |
|
||||
| `limit.infoLimit` | `false` | 是否限制信息长度 |
|
||||
| `limit.infoLimitSize` | `20` | 信息最大长度 |
|
||||
| `limit.musicTimeLimit` | `false` | 是否限制歌曲时长 |
|
||||
| `limit.maxMusicTime` | `600` | 允许的最长歌曲,单位秒 |
|
||||
| `limit.limitText` | `"..."` | 超长时替换的文本 |
|
||||
| `limit.maxPlayList` | `10` | 队列最大歌曲数 |
|
||||
| `limit.maxPlayerList` | `10` | 单个玩家最大点歌数,`0`为不限制 |
|
||||
| `cost.searchCost` | `20` | 搜歌花费 |
|
||||
| `cost.addMusicCost` | `10` | 点歌花费 |
|
||||
| `cost.useCost` | `false` | 是否启用花钱点歌 |
|
||||
| `vote.minVote` | `3` | 投票通过所需最小人数 |
|
||||
| `vote.voteTime` | `30` | 投票时间,单位秒 |
|
||||
| `vote.voteListSize` | `10` | 投票队列最大数量 |
|
||||
| `defaultApi` | `"netapi"` | 默认音乐API的ID |
|
||||
| `sendDelay` | `1000` | HUD信息刷新间隔,单位毫秒 |
|
||||
| `joinDelay` | `1000` | 玩家进服后延迟多久开始发送歌曲,单位毫秒 |
|
||||
| `lyricReplace` | `{}` | 歌词正则替换表,`{"正则": "替换"}` |
|
||||
| `fixSongTime` | `0` | 歌曲总时长修正,单位毫秒(加到歌曲长度上,提前/延后切歌) |
|
||||
|
||||
## PAPI变量
|
||||
> %allmusic_now_music_name% 歌曲名字
|
||||
@@ -67,100 +297,8 @@ AllMusic不会内置音乐api,你想要正常使用需要自己安装
|
||||
> %allmusic_lyric% 歌词
|
||||
> %allmusic_tlyric% 翻译的歌词
|
||||
|
||||
## 配置文件说明
|
||||
配置文件采用json格式,需要遵守json编写的格式规范
|
||||
- maxPlayList 最大歌曲数
|
||||
- maxPlayerList 一个玩家最大可点数量,0代表不限制
|
||||
- minVote 最小通过投票数
|
||||
- voteTime 投票时间
|
||||
- lyricDelay 歌曲延迟,单位毫秒
|
||||
- defaultAddMusic 默认添加歌曲方式,1为搜歌
|
||||
- ktvLyricDelay KTV模式歌词延迟,单位毫秒
|
||||
- adminList 管理员列表
|
||||
- playListSwitch 是否玩家点歌后是否直接从空闲歌单切换至玩家歌曲
|
||||
- playListRandom 是否空闲歌单随机播放
|
||||
- sendLyric 是否发送歌词到客户端
|
||||
- needPermission 是否指令需要权限
|
||||
- topAPI 是否启用顶层模式,用于和BC交换数据
|
||||
- mutePlayMessage 是否不发送播放信息
|
||||
- muteAddMessage 是否不发送点歌信息
|
||||
- showInBar 是否将信息限制在bar处
|
||||
- showClick 是否显示[点我]操作,1.7.10客户端不支持点击事件,可设为false关闭
|
||||
- ktvMode 是否启用KTV歌词
|
||||
- musicBR 歌曲音质
|
||||
- version 配置文件版本号
|
||||
- economy 经济扩展配置
|
||||
- mysqlUrl 目前无用
|
||||
- backend 目前无用
|
||||
- vault 是否使用vault插件
|
||||
- funConfig 娱乐选项
|
||||
- rain 是否启用随机下雨
|
||||
- rainRate 随机下雨概率
|
||||
- limit 限制设置
|
||||
- messageLimit 是否启用广播消息长度限制
|
||||
- messageLimitSize 广播消息限制长度
|
||||
- listLimit 是否启用歌曲列表长度限制
|
||||
- listLimitSize 歌曲列表限制长度
|
||||
- infoLimit 是否启用信息长度限制
|
||||
- infoLimitSize 信息长限制长度
|
||||
- musicTimeLimit 是否启用歌曲长度限制
|
||||
- maxMusicTime 限制最长歌曲长度,单位秒
|
||||
- limitText 限制长度替换文本
|
||||
- cost 花费相关配置
|
||||
- searchCost 搜歌花费
|
||||
- addMusicCost 点歌花费
|
||||
- useCost 启用花费
|
||||
- sendDelay Hud信息更新延迟
|
||||
- defaultApi 默认音乐API
|
||||
|
||||
## 指令说明
|
||||
普通玩家指令
|
||||
- /music [音乐ID/网易云分享链接] 点歌
|
||||
- /music [音乐API] [音乐ID] 点歌
|
||||
- /music stop 停止播放歌曲
|
||||
- /music list 查看歌曲队列
|
||||
- /music cancel [序号] 取消你的点歌
|
||||
- /music vote 投票切歌
|
||||
- /music vote cancel 取消发起的切歌
|
||||
- /music push [序号] 投票将歌曲插入到队列头
|
||||
- /music push cancel 取消发起的插歌
|
||||
- /music mute 不再参与点歌,再输入一次恢复
|
||||
- /music mute list 不接收空闲列表点歌,再输入一次恢复
|
||||
- /music search [歌名] 搜索歌曲
|
||||
- /music searchapi [音乐API] [歌名] 搜索歌曲
|
||||
- /music select [序列] 选择歌曲
|
||||
- /music nextpage 切换下一页歌曲搜索结果
|
||||
- /music lastpage 切换上一页歌曲搜索结果
|
||||
- /music hud enable 启用/关闭全部界面
|
||||
- /music hud reset 重置全部界面
|
||||
- /music hud [位置] enable 启用关闭单一界面
|
||||
- /music hud [位置] pos [x] [y] 设置某个界面的位置
|
||||
- /music hud [位置] dir [对齐方式] 设置某个界面的对齐方式
|
||||
- /music hud [位置] color [颜色HEX] 设置某个界面的颜色
|
||||
- /music hud [位置] reset 重置单一界面
|
||||
- /music hud pic size [尺寸] 设置图片尺寸
|
||||
- /music hud pic rotate [开关] 设置图片旋转模式
|
||||
- /music hud pic speed [数值] 设置图片旋转速度
|
||||
|
||||
管理员指令
|
||||
- /music reload 重读配置文件
|
||||
- /music next 强制切歌
|
||||
- /music ban [ID] 禁止点这首歌
|
||||
- /music ban [音乐API] [ID] 禁止点这首歌
|
||||
- /music unban [ID] 解禁点这首歌
|
||||
- /music unban [音乐API] [ID] 解禁点这首歌
|
||||
- /music banplayer [ID] 禁止某位玩家点歌
|
||||
- /music unbanplayer [ID] 解禁某位玩家点歌
|
||||
- /music delete [序号] 删除队列中的歌曲
|
||||
- /music addlist [歌单ID] 添加歌单到空闲列表
|
||||
- /music clearlist 清空空闲歌单
|
||||
- /music clearban 清空禁止点歌列表
|
||||
- /music clearbanplayer 清空禁止点歌玩家列表
|
||||
- /music test [ID] 测试歌曲内容解析
|
||||
- /music test [音乐API] [ID] 测试歌曲内容解析
|
||||
|
||||
若开启权限后
|
||||
- 点歌需要权限`allmusic.addmusic`
|
||||
- 搜歌需要权限`allmusic.search`
|
||||
- 插歌需要权限`allmusic.push`
|
||||
- 投票切歌需要权限`allmusic.vote`
|
||||
## 构建
|
||||
1. 安装JDK25、Git
|
||||
2. 使用 `git submodule update --init --recursive` 初始化项目
|
||||
3. 使用 `gradlew :server:buildServer` 构建服务器
|
||||
4. 使用 `gradlew :client:buildClient` 构建客户端
|
||||
Reference in new issue
Block a user