Skip to content

Commit

Permalink
更新错误处理文档
Browse files Browse the repository at this point in the history
  • Loading branch information
ApliNi committed Feb 14, 2024
1 parent 97e8925 commit a5ce0f5
Showing 1 changed file with 36 additions and 2 deletions.
38 changes: 36 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -166,21 +166,55 @@
#### 解决名称重复问题
这个错误在 v4 版本 (默认配置) 中已被修复, 但可能因为数据导入 / 玩家修改名称, 或其他未知的问题触发了这个检查, 可根据此步骤修复.

##### 方案1
玩家名称重复时可通过指令 `/wl list NAME_CONFLICT` 检查, 输出内容就像这样:
```
IpacEL > 查询玩家信息[NAME_CONFLICT]:
- [2024-02-10 10:31:50] {ID: 50, Type: "WHITE", Ban: "NOT", UUID: "aaa", Name: "A", Time: 1707532310}
- [2024-01-06 19:38:08] {ID: 147, Type: "VISIT", Ban: "NOT", UUID: "bbb", Name: "A", Time: 1704541088}
- [2024-02-06 18:03:08] {ID: 13, Type: "WHITE", Ban: "NOT", UUID: "ccc", Name: "B", Time: 1707213788}
- [2024-01-06 19:36:24] {ID: 148, Type: "WHITE", Ban: "NOT", UUID: "ddd", Name: "B", Time: 1704540984}
```

[其他错误造成的名称重复] 如果同一个玩家 (比如 A) 存在两个 UUID, 并且其中一个为参观账户 `VISIT` 或 `NOT`, 则数据 `147` 很可能是一条产生错误的数据, 并且这个 UUID 下没有实际有效的玩家存档.
**[其他错误造成的名称重复]** 如果同一个玩家 (比如 A) 存在两个 UUID, 并且其中一个为参观账户 `VISIT` 或 `NOT`, 则数据 `147` 很可能是一条产生错误的数据, 并且这个 UUID 下没有实际有效的玩家存档.
请手动检查玩家存档是否为空, 然后使用 `/wl clear PLAYER bbb` 删除这条数据, 并清理产生的存档文件.

[玩家改名造成的名称重复] 如果出现例如玩家 B 的情况, 可能因为两个白名单内的玩家修改过名称, 并且其中一位玩家没有上线过 (玩家 "B" -> "C", 并且玩家 "E" -> "B", 且玩家 C 没有上线过).
**[玩家改名造成的名称重复]** 如果出现例如玩家 B 的情况, 可能因为两个白名单内的玩家修改过名称, 并且其中一位玩家没有上线过 (玩家 "B" -> "C", 并且玩家 "E" -> "B", 且玩家 C 没有上线过).
这时候需要让玩家 C 上线一次 (这将自动更新玩家名称), 或者手动更新玩家 C 的名称来解决.


##### 方案2
`list` 只会显示较为明显的冲突, 如果返回信息中没有需要处理的玩家名称, 则需要使用这个方法.

运行指令: `/wl info <Name>`, 填写遇到名称冲突的玩家名称. 输出内容就像这样:
```
IpacEL > 查询玩家信息[A]:
- A[aaa]: [ID: 1]
- TYPE: VISIT
- BAN: NOT
- TIME: 2024-02-12 16:12:22
- A[bbb]: [ID: 2]
- TYPE: NOT
- BAN: NOT
- TIME: 2024-02-10 10:31:50
```
这种情况, 如果玩家 A 使用 UUID `bbb` 登录, 则会与已存在的 `A[aaa]` 产生冲突.
这时候需要根据具体的情况判断问题...

**[暂时性的 UUID 错误]** 在同时支持正版和离线的服务器中, 有时候负责应用正版 UUID 的模块会出现错误,
导致本应该使用 UUID `aaa` 的玩家应用了 UUID `bbb`.
那么无需进行操作, 稍后让玩家重新登录, 或者修复其他插件.

**[其他情况]** 对于其他未知的情况的建议.
假设现在遇到冲突的玩家是 `A[bbb]`. 那么可以根据 `A[aaa]` 的账户类型判断如何操作:
- 如果 `A[aaa]` 为参观账户 `VISIT`, 那么可以通过 `/wl clear PLAYER aaa` 清理数据并删除 (或者通过 `/wl del aaa` 直接删除).
- 如果 `A[aaa]` 在白名单中 `WHITE`, 这可能是一个正常的玩家, 也可能是误添加的数据.
可以先检查服务器 (存档/其他记录和交流群) 中是否存在已有的玩家名称 `A`, 如果没有, 则可以安全删除, 方法如上.
- 如果 `A[aaa]` 是一位已经存在的玩家, 那么其中有一位玩家应该拥有正版 UUID (或者外置登录 UUID),
那么需要其中为离线 UUID 的玩家修改用户名来解决.

</details>


Expand Down

0 comments on commit a5ce0f5

Please sign in to comment.