- 注册
- 2025/09/07
- 消息
- 76
- 主题 作者
- #1
SCNET x25-09-21 WA 服务端更新与配置文档
本帖子包含服务端的更新内容与核心配置文件介绍。如需了解详细的使用方法,请查阅完整教程。WEBAPI是由JIIL独立编写的魔改版服务端,致力于提供各种方便功能和提供最先前的bug修复和最人性化的交互体验,本教程将不断完善。
各系统启动方法
Windows 启动
直接双击 Windows点我启动.exe即可。- 如果启动报错提示缺少组件,会自动引导你完成安装。
Linux 启动
- 为启动脚本赋予执行权限:
chmod +x LinuxUse.sh 然后启动./LinuxUse.sh- 如果系统已安装所有依赖,直接运行上述命令也会自动启动。
配置项说明 (settings.xml)
以下配置需手动添加至 settings.xml文件中。请在服务器关闭时修改配置。| 配置项 | 功能描述 | 默认值 | 可选值/范围 | 备注 |
|---|---|---|---|---|
| AutoRestartOnCrash | 服务端崩溃时是否自动重启。 | true(启用) | true/ false | |
| MaxRestartAttempts | 设置服务端崩溃后的最大自动重启次数。 | 3 | 正整数 | |
| StopName | 是否启用防改名功能。启用后,玩家尝试改名将被自动拒绝。 | False(禁用) | true/ false | |
| IsNewPluginsLoad | 是否启用新版插件加载与排布系统。 | False(禁用) | true/ false | |
| BlockDefaultAndSimpleNames | 是否启用名称严格检查。启用后将禁止玩家使用默认名称及过于简单的名称。 | true(开启) | true/ false | 注意:当前系统检测到违规名称时会直接踢出玩家,而不会提供人类可读的具体原因,请知悉。 |
| VersionShow | 版本标识符。在服务器列表显示的版本号后增加自定义后缀。 | 空 | 任意字符串 | 例:设置为你好欢迎,则版本号显示为 x25.01.xx-你好欢迎。 |
| trustedSkinsOnly | 仅信任服务端皮肤。开启后,将仅使用并分发服务端的皮肤,客户端自定义皮肤对其他玩家不可见也无法下载。 | false(关闭) | true/ false | 此功能未经严格测试,默认关闭,不建议开启。 |
| IsNewWorlds | 测试新的世界加载功能(目前暂时作废) | False(禁用) | true/ false | 默认关闭,一定不要打开,否则你的世界极有可能无法加载,并且没有任何优化成效 |
PlayerDelay | 玩家加入延迟等待,允许服务端每多少秒加入一名玩家 | 0(无限制) | 任意数字 | 请勿设置的特别长,一般设置为五到十秒即可。 |
提示:修改配置文件时,可参照下图示意进行添加:
1758362503363.png
注意:绝大部分功能(如经济、传送等)的配置位于各插件自身的目录中。在游戏内或控制台输入help命令可查看详细功能列表及使用方法。
内置插件与功能
游戏内命令执行 (Configs/jcmd.json)
此插件允许在游戏中通过命令执行控制台指令。通过修改 jcmd.json可设置密码等参数(默认无密码,无密码时将拒绝执行)。- 使用教程:
/jcmd 密码 要执行的命令 - 注意:此插件为内置插件,无法删除。若不需使用,可忽略。
统一密码管理 (/jpw)
此插件为服务端及其他插件提供统一的密码验证接口。- 命令列表:
/jpw new 新密码- 首次设置密码。/jpw set 旧密码 新密码- 修改已有密码。
- 注意:密码经加密存储,但请勿设置过于简单的密码,以防暴力破解。
名称管理器 (Plugins/NameManager/name1/config.json)
用于管理玩家名称的相关规则。
代码:
{
"MaxNameLength": 15,
"EB": false,
"StopMinZiYS": true,
"StopMinZiCF": true
}
MaxNameLength:玩家名称的最大长度。EB:插件功能总开关。StopMinZiYS,StopMinZiCF:名称验证相关选项(具体作用暂略)。
开发者指南:密码管理插件集成
其他插件可通过以下方式调用密码管理插件 (CmdPasswordManager) 的公共接口。获取插件实例
代码:
CmdPasswordManager passwordManager = null;
foreach (var cmd in CmdManager.GetProcessCmdList())
{
if (cmd is CmdPasswordManager)
{
passwordManager = cmd as CmdPasswordManager;
break;
}
}
if (passwordManager == null)
{
Console.WriteLine("密码管理器未找到");
return;
}
可用公共接口
- 验证玩家密码
bool isValid = passwordManager.VerifyPlayerPassword(token, password); - 获取玩家密码信息
var passwordInfo = passwordManager.GetPlayerPasswordInfo(token); - 创建认证Token
string token = passwordManager.CreateAuthToken(playerId, playerName); - 验证Token有效性
代码:string validatedPlayerId; bool isTokenValid = passwordManager.ValidateToken(token, out validatedPlayerId); - 检查是否已设密码
bool hasPassword = passwordManager.HasPassword(playerId);
配置文件中的其他项可自行研究或询问。本文将随版本更新而完善。
附件
最后编辑: