一、数据库连接与数据存储问题(最核心原因)
创建人物需将角色数据写入数据库,连接失败或存储异常会直接导致创建失败,按以下步骤排查:
检查数据库服务是否正常运行
按 Win+R 输入 “services.msc”,找到数据库服务(SQL Server 对应 “SQL Server (MSSQLSERVER)”,MySQL 对应 “MySQL”);
若 “状态” 为 “已停止”,右键 “启动”,并将 “启动类型” 设为 “自动”(避免重启后需手动启动);
启动后仍失败,查看服务 “属性→登录”,确认 “此账户” 选择的是数据库安装时的管理员账户(如 “.\Administrator”),密码无误。
核对服务端数据库配置文件
关键文件:服务端DBServer\DBService.ini(或DBConfig.ini),用记事本打开检查:
DBAddr=127.0.0.1 # 单机/本地数据库填127.0.0.1,远程数据库填对应IP
DBName=MirDB # 需与数据库中创建的库名一致(默认多为MirDB)
DBUser=sa # 数据库登录账号(SQL Server默认sa,MySQL多为root)
DBPwd=123456 # 登录密码,需与数据库设置一致
若密码错误,修改后保存,关闭所有服务端进程(DBServer、LoginServer 等),重新按 “DBServer→LoginServer→GameServer” 顺序启动。
验证数据库表是否完整
用数据库管理工具(SQL Server Management Studio/Navicat)连接数据库,查看MirDB库中是否存在RoleData表(存储角色数据):
若缺少RoleData表,说明服务端未自动创建,需导入配套的 “数据库脚本”(通常在服务端SQL文件夹中,文件名为MirDB.sql),右键执行脚本生成表。
二、服务端人物创建配置限制
服务端脚本或参数设置可能禁止人物创建,需检查 2 个关键配置:
人物创建开关与规则配置
打开服务端Mir200\Gs1!Setup.txt,查找以下参数:
CanCreateUser=1:1 表示允许创建人物,0 表示禁止,若为 0 需改为 1;
MaxUserPerAccount=3:单账号最大角色数(默认 3),若设为 0 需改为 3;
UserNameMinLen=2、UserNameMaxLen=12:角色名长度限制(2-12 字符),确保输入的名称符合要求(避免纯数字、特殊符号)。
脚本拦截导致创建失败
服务端Mir200\Envir\QuestDiary\QFunction-0.txt(或LoginQuest.txt)可能有拦截脚本,例如:
#IF
CheckDate 2024-12-31 # 过期拦截脚本(示例)
#ACT
SendMsg 6 服务器已过期,无法创建人物
Break
搜索脚本中含 “CreateUser”“SendMsg 6” 的内容,删除或注释掉拦截逻辑(在行首加 “//”),保存后重启 GameServer。
三、客户端与服务端版本 / 协议不匹配
客户端与服务端版本不一致,会导致创建人物的请求无法正常通信:
核对版本协议号
服务端:打开Mir200\Engine.ini,查找ClientVersion=1.76(或其他版本号,如 1.80、合击版);
客户端:右键客户端Mir.exe→“属性→详细信息”,查看 “产品版本” 是否与服务端版本号一致;
若不一致,需更换对应版本的客户端(如服务端是 1.76 复古版,客户端需用 1.76 纯净版,避免用合击 / 超变客户端)。
登录器配置与服务端端口匹配
登录器需正确指向服务端 “人物创建端口”(默认 7000,部分版本为 7100):
打开登录器配置工具,查看 “服务器列表” 中的 “IP” 是否为服务端 IP(单机填 127.0.0.1),“端口” 是否为 7000;
若端口错误,修改后生成新登录器,替换客户端中的旧登录器,重新尝试创建。
四、文件权限与进程启动顺序问题
服务端文件夹无写入权限或进程启动顺序错误,会导致角色数据无法保存:
设置服务端文件夹写入权限
右键服务端根目录(如D:\MirServer)→“属性→安全”;
选择当前登录账户(如 “Administrator”),勾选 “写入” 权限(若为灰色,点击 “编辑” 开启);
重点确保DBServer\Data(数据库缓存)、Mir200\UserData(角色数据存储)两个文件夹有写入权限,避免数据存不进去。
严格按顺序启动服务端进程
错误启动顺序(如先开 GameServer 再开 DBServer)会导致数据通信失败,正确顺序:
启动 “DBServer.exe”(数据库服务进程,桌面出现黑色窗口,显示 “DB Server Start”);
启动 “LoginServer.exe”(登录服务进程,显示 “Login Server Ready”);
启动 “GameServer.exe”(游戏服务进程,显示 “Game Server Start”);
若进程启动后闪退,查看对应文件夹下的 “Log” 文件(如DBServer\Log.txt),排查错误原因(如端口占用、配置错误)。
五、快速排查流程总结
检查数据库服务是否启动,DBService.ini中账号密码与库名是否正确;
打开Gs1!Setup.txt,确认CanCreateUser=1,删除拦截脚本;
核对客户端与服务端版本号,登录器端口设为 7000;
给服务端根目录及UserData文件夹加写入权限;
按 “DBServer→LoginServer→GameServer” 顺序重启进程,尝试创建人物(角色名用 “测试 123” 这类简单名称)。

