故障排除
遇到问题?这里有一些常见的问题和解决方案
MCDR 无法启动
- mcdreforged 不是内部或外部命令
若你通过 pipx 安装了 MCDR,确保 pipx 应用程序目录在你的 PATH 中
若你通过 pip 安装了 MCDR,尝试显式指定 Python 解释器来启动 MCDR:
python -m mcdreforged,以避免出现使用了错误的 Python 解释器的情况若你通过 pip 全局安装了 MCDR,确保 pip 已安装脚本的目录在你的 PATH 中
若你通过 pip 在 venv 中安装了 MCDR,确保你激活了 venv
如果你通过系统包管理器安装了 MCDR... 不要通过系统包管理器安装 MCDR
- Python 抛出错误
请确保你正确地安装了 MCDR。不要从源码启动 MCDR
尝试重新安装 MCDR,看看问题是否依然存在
若你通过 pip 在 venv 中安装了 MCDR,确保你激活了 venv
使用
which mcdreforged(Windows 下使用where mcdreforged),看看调用了哪个可执行文件
服务器无法启动
检查你的启动命令
检查 Java 是否已安装并添加到 PATH 中
尝试使用你配置的命令直接启动服务端
如果你将启动命令指向批处理或 shell 脚本,尝试直接使用实际命令而不是脚本
详见 start_command 一节
乱码 / UnicodeDecodeError
这通常是控制台编解码异常引起的
MCDR 默认使用 UTF-8 编码和解码,不妨尝试在服务端相关的所有地方都使用 UTF-8。参见 encoding, decoding 一节
命令不工作
所有命令在游戏内都不响应,但控制台里正常
某些命令对特定玩家执行不正确
MCDR 通过监听服务端控制台输出来处理命令,请确保你使用了正确的 服务端处理器
你的服务端可能意外地与处理器不兼容:
也许,你的服务端比较特别,内置处理器均不兼容
也许,你的服务端输出与默认状态不同。例如,如果你允许非 Mojang 命名规则(
[A-Za-z0-9_]{3,16})的玩家名,处理器将无法识别。例如:[09:00:00] [Server thread/INFO]: <Steve.the.Warrior> Hello [09:00:00] [Server thread/INFO]: <史蒂夫> hello
[09:00:00] [Server thread/INFO]: <Steve> Hello
也许,你的服务端输出被插件或模组(例如:玩家称号/职业,更好的控制台)修改了,导致处理器无法识别。禁用所有插件和模组,看看问题是否解决。例如:
[09:00:00] [Server thread/INFO]: <[Warrior]Steve> Hello (09:00:00) INFO | Steve: hello
[09:00:00] [Server thread/INFO]: <Steve> Hello
如果你的服务端存在上述问题之一,你可能需要 自定义服务端处理器
某些插件命令在游戏和控制台中都无法使用
某些插件命令在所有条件下都执行不正确
检查插件是否正确启用和加载。检查日志,看看是否有与插件相关的错误或警告,若有则请仔细阅读相关输出
查看插件的 README 或文档,看看它是否有任何特殊要求。有些插件可能需要额外权限或配置。检查并确保插件配置文件已被正确填写
有些插件可能与其它插件冲突。尝试禁用其它插件,看看问题是否解决
如果问题仍然存在,尝试向插件的作者或社区报告
使用 MCSManager 运行
MCDR 并未专门适配 MCSManager
不过,如果你始终使用 UTF-8,并在 MCSManager 中启用 仿真终端,MCDR 应该能正常工作,并具有完整功能
若你关闭了 仿真终端,请将 advanced_console 设置为 false
联系我们
如果以上方案无法解决你的问题,请联系 我们可爱的社区
还请注意,在提问或报告问题之前,请:
先尝试自己搜索并研究
用一个简短的句子概括你的问题
帮助他人重现问题:
提问之前校对你写的问题描述,确保语意清晰无歧义
提问之后,积极回应他人反馈
参见
Stack Overflow: 如何正确地提问?