一、先明确:为什么要设置玩家取名禁用字符?
传奇架设中,玩家取名若包含特殊字符、敏感词汇或超长字符,易导致三大问题:一是游戏内昵称显示乱码,影响其他玩家体验;二是部分特殊字符(如$、&)可能触发服务端脚本解析异常,导致角色数据异常;三是恶意昵称(含不良词汇)破坏游戏环境。因此需通过配置文件限定可使用字符,仅允许字母、数字、常见中文汉字(如排除生僻字、特殊符号)。
二、前期准备:确认工具与禁用字符清单
必备工具
文本编辑器:Windows 用 Notepad++,Linux 用 vi/vim(需确保支持 UTF-8 编码,避免中文乱码);
传奇服务端配置文件:不同服务端文件名略有差异,常见为GameConfig.ini(Windows)、NameFilter.conf(Linux)、RoleNameLimit.ini(部分复古端),通常存放在服务端Config文件夹下。
常见禁用字符清单(建议优先配置)
特殊符号:!@#$%^&*()_+{}|:"<>?[]\;',./~·!@#¥%……&*()——+{}|:“”《》?【】、;‘,。/~·;
全角空格 / 不可见字符:避免玩家取 “空白昵称” 导致识别困难;
超长字符:限制昵称长度(如中文最多 6 字、英文最多 12 字符),防止超出界面显示范围;
敏感 / 违规词汇:根据需求添加(如不良绰号、违规表述),需提前整理成文本列表。
三、分环境实操:玩家取名禁用字符设置步骤
(一)Windows 服务端(以 1.76 复古端为例)
找到字符过滤配置文件
打开传奇服务端根目录,进入Config文件夹,找到NameFilter.ini(若无此文件,需在GameConfig.ini中查找 “NameLimit” 相关配置项)。
配置禁用字符规则
用 Notepad++ 打开NameFilter.ini,按以下格式编辑(示例):
; 禁用特殊符号(每行一个规则,;后为注释)
ForbidChar=!@#$%^&*()_+
ForbidChar={}|:"<>?[]\;',./
ForbidChar=~·!@#¥%……&*()——+
ForbidChar={}|:“”《》?【】、;‘,。/
; 限制昵称长度(中文1字=2字符,英文1字=1字符)
MaxLength=12 ; 最大字符数(中文最多6字)
MinLength=2 ; 最小字符数(避免1字昵称)
; 禁用全角空格
ForbidChar= ; 此处为全角空格(需切换输入法输入)
若配置在GameConfig.ini中,需找到[NameLimit]节点,直接添加上述规则(确保节点名称正确,无拼写错误)。
设置敏感词过滤(可选)
在NameFilter.ini末尾添加敏感词规则:
; 禁用敏感词汇(完整匹配)
ForbidWord=不良词汇1
ForbidWord=不良词汇2
; 模糊匹配(含该词汇即禁用,如“违规”则“违规123”也禁用)
FuzzyForbid=违规
FuzzyForbid=不良
(二)Linux 服务端(以 Ubuntu 20.04 架设为例)
定位字符过滤配置文件
进入服务端配置目录:cd /usr/local/legend/server/Config,执行ls查看文件,常见配置文件为NameFilter.conf或GameConfig.conf。
编辑禁用字符规则
用 vi 编辑文件:sudo vi NameFilter.conf,按i进入编辑模式,输入以下规则(格式与 Windows 类似,适配 Linux 编码):
# 禁用特殊符号
ForbidChar=!@#$%^&*()_+{}|:"<>?[]\;',./~·
ForbidChar=!@#¥%……&*()——+{}|:“”《》?【】、;‘,。/~·
# 昵称长度限制
MaxLength=12
MinLength=2
# 禁用全角空格与不可见字符
ForbidChar=
ForbidChar=\t # 禁用制表符
# 敏感词过滤
ForbidWord=不良词汇1
FuzzyForbid=违规
按Esc后输入:wq保存退出,若提示 “权限不足”,先执行sudo chmod 644 NameFilter.conf赋予编辑权限。
四、配置生效与测试验证
重启服务端使配置生效
Windows 服务端:关闭已启动的GameSrv、LoginSrv进程,双击 “启动服务端.bat” 重新启动;
Linux 服务端:执行pkill GameSrv终止进程,再执行cd /usr/local/legend/server && sudo nohup ./StartServer.sh &重启。
测试禁用字符效果
打开传奇客户端,尝试创建含禁用字符的账号(如 “玩家 #123”“测试 $”),若系统提示 “昵称包含禁用字符,请重新输入”,说明配置生效;
测试超长昵称(如中文 7 字 “1234567”),应提示 “昵称过长,最多 6 个中文字符”;
测试敏感词(如 “不良词汇 1”),应提示 “昵称不符合规范,请修改”。
五、常见问题解决
配置后禁用字符仍可使用
检查配置文件路径是否正确(是否修改了服务端实际加载的Config文件夹,部分服务端有 “备用配置” 目录需注意);
确认服务端已重启(未重启则配置不生效);
检查禁用字符是否包含全角 / 半角(如仅禁了半角!,全角!未禁,需同时添加)。
中文昵称显示乱码
确保配置文件编码为 UTF-8(Notepad++ 右下角选择 “UTF-8”,Linux 用file NameFilter.conf查看,显示 “UTF-8 Unicode text” 即正常);
若乱码,重新用 UTF-8 编码保存文件(Windows:Notepad++“格式 - 转为 UTF-8”;Linux:iconv -f GBK -t UTF-8 NameFilter.conf -o NameFilter.conf,需先确认原编码为 GBK)。
部分敏感词未过滤
检查敏感词是否完整(如 “不良词汇” 是否多输 / 少输字符);
若需模糊匹配,确保配置项为FuzzyForbid(部分服务端用ForbidWordFuzzy,需参考服务端说明文档调整配置项名称)。
总结:玩家取名禁用字符配置核心要点
先明确禁用范围:优先禁特殊符号、超长字符、全角空格,再按需添加敏感词;
找对配置文件:Windows 多为NameFilter.ini/GameConfig.ini,Linux 多为NameFilter.conf,避免修改错误文件;
必重启服务端:配置修改后需重启GameSrv进程,否则规则不生效;
测试全覆盖:验证特殊字符、长度、敏感词三种场景,确保过滤效果符合预期。
传奇架设:玩家取名如何设置禁用字符?Windows/Linux 实操指南
来源:
作者:
点击:

