PSS框架支持对框架内部运行状态操作的指令集。
这些指令包括框架的插件管理,工作线程状态管理,框架基本参数查询,连接数列表,服务器端口管理,IP管理等等。
命令格式为:
<命令输出格式> <用户名> <命令字> <参数><命令结束符>
例如:
b freeeyes ShowServerInfo -a&
b: 输出结果以二进制结果输出,如果想以文本结构输出,这里可以使用 i (比如在telnet下)
freeeyes: 用户名,这个是必须的,PSS框架会对用户进行校验,具体校验设置在main.xml (设置用户名)和ConsoleCommand.xml (设置对应的权限)有权限才能被执行。
ShowServerInfo: 命令的名称.
-a: 命令的参数部分。
&: 命令结束符,是必须的。
##2.命令说明(以二进制结果输出返回)
命令样例 | 说明 | 返回数据结构 | |
---|---|---|---|
ShowServerInfo -a | 获得框架基本运行参数 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint16 | 服务器ID | ||
uint8 | 服务器名称字符串长度 | ||
char | 服务器名称 | ||
uint8 | 服务版本字符串长度 | ||
char | 服务器版本 | ||
uint16 | 服务器插件个数 | ||
uint16 | 服务器工作线程个数 | ||
uint16 | 服务器协议包版本号 | ||
uint8 | 服务器字序大端还是小段,0小端 1大端 | ||
uint8 | 服务器字序 0 主机序 1 网络序 | ||
ShowModule -a | 查看所有框架正在运行的插件 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint32 | 当前运行插件个数 | ||
uint8 | 插件文件名长度 | ||
char | 插件文件名 | ||
uint8 | 插件名称长度 | ||
char | 插件名称 | ||
uint8 | 插件路径长度 | ||
char | 插件路径 | ||
uint8 | 插件启动参数长度 | ||
char | 插件启动参数 | ||
uint8 | 插件描述长度 | ||
char | 插件描述 | ||
uint8 | 插件加载时间长度 | ||
char | 插件加载时间 | ||
uint8 | 插件当前运行状态字 0 为正常 | ||
uint32 | 插件当前运行错误码 0 为正常 | ||
LoadModule ./,TcpTest.so,Param | 加载一个插件,TcpTest.so是文件名,./是插件在服务器上的路径,Param是插件启动参数 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint8 | 插件启动结果 0 成功 1 失败 | ||
UnLoadModule TestTcp | 卸载一个插件,TestTcp是插件自己的名字(注意不是文件名,是设置在插件内的名称) | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint8 | 插件启动结果 0 成功 1 失败 | ||
ReLoadModule TestTcp | 重载一个插件,TestTcp是插件自己的名字(注意不是文件名,是设置在插件内的名称) | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint8 | 插件启动结果 0 成功 1 失败 | ||
ClientCount -cp | 当前客户端连接数 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint32 | 当前客户端连接总数 | ||
uint32 | 当前客户端连接池剩余总数 | ||
uint32 | 当前客户端连接池总数 | ||
CommandInfo 0x1000 | 查询指定信令信息, 0x1000为信令十六进制ID | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint32 | 信令个数 | ||
uint16 | 当前信令个数 | ||
uint16 | 信令ID | ||
uint32 | 信令已执行次数 | ||
uint64 | 信令已执行总分时间,单位毫秒 | ||
CommandTimeout -a | 查询所有超时信令列表 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint32 | 超时信令个数 | ||
uint16 | 超时信令ID | ||
uint32 | 超时信令发生时间 | ||
uint32 | 运行时间,单位是秒 | ||
CommandTimeoutclr -a | 清空超时信令列表 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint8 | 执行状态 0 成功 | ||
CommandDataLog -a | 存储CommandDataLog | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint8 | 执行状态 0 成功 | ||
WorkThreadState -s | 查看工作线程状态 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint8 | 工作线程个数 | ||
uint8 | 工作线程ID | ||
uint32 | 工作线程最后运行时间,格式为1970-01-01到现在的秒值 | ||
uint32 | 工作线程启动时间,格式为1970-01-01到现在的秒值 | ||
uint8 | 工作线程当前状态 | ||
uint32 | 工作线程当前处理数据包总数 | ||
uint16 | 工作线程当前运行信令ID | ||
uint16 | 工作线程平均包处理时间,单位是毫秒 | ||
uint16 | 工作线程最近一分钟处理的数据包数量 | ||
ConnectClient -a | 当前TCP客户端链接的信息 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint32 | 当前连接数总数 | ||
uint8 | 连接名称字符串长度 | ||
char | 连接名称字符串,默认是连接的客户端IP,也可以自己设置 | ||
uint32 | 连接ID | ||
uint32 | 连接接收包总数 | ||
uint32 | 连接发送包总数 | ||
uint32 | 连接接收包总字节 | ||
uint32 | 连接发送包总字节 | ||
uint32 | 连接创建时间,格式为1970-01-01到现在的秒值 | ||
uint32 | 连接活跃时间,单位是秒值 | ||
uint32 | 连接接收队列数据包总数 | ||
uint64 | 连接接收总消耗时间 | ||
uint64 | 连接发送总消耗时间 | ||
UDPConnectClient -a | 当前UDP客户端链接的信息 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint32 | 当前连接数总数 | ||
uint8 | 连接名称字符串长度 | ||
char | 连接名称字符串,默认是连接的客户端IP,也可以自己设置 | ||
uint32 | 连接ID | ||
uint32 | 连接接收包总数 | ||
uint32 | 连接发送包总数 | ||
uint32 | 连接接收包总字节 | ||
uint32 | 连接发送包总字节 | ||
uint32 | 连接创建时间,格式为1970-01-01到现在的秒值 | ||
uint32 | 连接活跃时间,单位是秒值 | ||
uint32 | 连接接收队列数据包总数 | ||
uint64 | 连接接收总消耗时间 | ||
uint64 | 连接发送总消耗时间 | ||
CloseClient 1 | 关闭指定的ConnectID的客户端连接 1 为连接ID | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint8 | 执行状态 0 成功 | ||
ForbiddenIP -c 127.0.0.2 -t 1 -s 30 | 禁止指定的IP连接服务器,-c 是IP,-t 是类型 0 暂时 1 永久 -s 是封禁时长,单位是秒 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint8 | 执行状态 0 成功 | ||
ShowForbiddenIP -a | 查看封禁IP列表 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint32 | 封禁IP个数 | ||
uint8 | 封禁IP长度 | ||
char | 封禁IP | ||
uint8 | 封禁类型 0 暂时 1 永久 | ||
uint32 | 封禁开始时间,格式为1970-01-01到现在的秒值 | ||
uint32 | 封禁秒数 | ||
LiftedIP 127.0.0.2 | 解除封禁IP | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint8 | 执行状态 0 成功 | ||
ServerConnectTCP -a | 服务器间通讯(TCP) | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint32 | 服务器间连接总数 | ||
uint8 | 远端服务器IP长度 | ||
char | 远端服务器IP | ||
uint8 | 连接当前状态 0已连接 1 未连接 | ||
uint32 | 连接ID | ||
uint32 | 连接接收包总数 | ||
uint32 | 连接发送包总数 | ||
uint32 | 连接接收包总字节 | ||
uint32 | 连接发送包总字节 | ||
uint32 | 连接创建时间,格式为1970-01-01到现在的秒值 | ||
uint32 | 连接活跃时间,单位是秒值 | ||
uint32 | 连接接收队列数据包总数 | ||
uint64 | 连接接收总消耗时间 | ||
uint64 | 连接发送总消耗时间 | ||
ServerConnectUDP -a | 服务器间通讯(UDP) | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint32 | 服务器间连接总数 | ||
uint8 | 远端服务器IP长度 | ||
char | 远端服务器IP | ||
uint8 | 连接当前状态 0已连接 1 未连接 | ||
uint32 | 连接ID | ||
uint32 | 连接接收包总数 | ||
uint32 | 连接发送包总数 | ||
uint32 | 连接接收包总字节 | ||
uint32 | 连接发送包总字节 | ||
uint32 | 连接创建时间,格式为1970-01-01到现在的秒值 | ||
uint32 | 连接活跃时间,单位是秒值 | ||
uint32 | 连接接收队列数据包总数 | ||
uint64 | 连接接收总消耗时间 | ||
uint64 | 连接发送总消耗时间 | ||
ShowCurrProcessInfo -a | 查看服务器框架当前CPU,内存和网络运行状态 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint32 | CPU运行比例 | ||
uint32 | 当前占用内存字节数 | ||
uint8 | 流量开关状态,0是关闭,1是打开 | ||
uint32 | 当前一分钟服务器网络吞吐(入) | ||
uint32 | 当前一分钟服务器网络吞吐(出) | ||
ShowAllCommand -a | 查看所有信令运行信息 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint32 | 信令总数 | ||
uint8 | 模块名称长度 | ||
char | 模块名称 | ||
uint16 | 信令ID | ||
uint32 | 当前信令处理总数 | ||
uint32 | 当前信令处理总时间,单位毫秒 | ||
ReConnectServer -s 172.0.10.1 | 重连远程连接 -s 远程服务器的IP地址 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint8 | 执行状态 0 成功 | ||
SetDebug -s 0 | 设置DEBUG文件输出状态 -s 0 打开 1 关闭 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint8 | 执行状态 0 成功 | ||
ShowDebug -a | 查询DEBUG文件输出状态 -s 0 打开 1 关闭 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint8 | 0 打开 1 关闭 | ||
GetConnectIPInfo -s 1 | 通过ConnectID获得相关的IP信息 1为ConnectID | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint16 | 0 找到了对应IP信息 1 没 找到了对应IP信息 | ||
uint8 | 当前IP描述长度 | ||
char | 当前IP描述 | ||
uint32 | IP端口 | ||
GetLogInfo -a | 得到当前日志信息 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint32 | 日志的个数 | ||
uint32 | 当前日志等级 | ||
uint16 | 日志ID | ||
uint8 | 服务器名称长度 | ||
char | 服务器名称 | ||
uint8 | 日志名称长度 | ||
char | 日志名称 | ||
uint8 | 日志输出类型 0 写文件 1 写屏幕 | ||
uint16 | 当前日志等级 | ||
SetLogLevel -l 1 | 设置日志等级 -l 为 1级以上日志全部不输出 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint8 | 执行状态 0 成功 | ||
GetWorkThreadAI -a | 得到Thread的AI配置信息 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint16 | 当前线程个数 | ||
uint32 | 工作线程ID | ||
uint8 | AI开关 0 关闭 1 打开 | ||
uint32 | 业务包处理超时时间 | ||
uint32 | 工作线程超时包的时间范围,单位是秒 | ||
uint32 | 工作线程超时包的单位时间内的超时次数上限 | ||
uint32 | 停止此命令服务的时间 | ||
GetWorkThreadTO -a | 得到Thread的所有超时数据包信息 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint16 | 当前线程个数 | ||
uint32 | 工作线程ID | ||
uint16 | 超时的信令ID | ||
uint32 | 超时当前时间,以1970-01-01以来开始计算的秒数 | ||
uint32 | 命令执行时间,单位是毫秒 | ||
SetWorkThreadAI -i 1,1000,2000,10 | 设置ThreadAI的配置信息,1为开启,1000处理时限 2000检查时限 10停止需要到达的次数 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint8 | 执行状态 0 成功 | ||
GetNickNameInfo -n 127.0.0.1 | 通过IP别名获得客户端IP信息 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint32 | 获得IP的个数 | ||
uint32 | 对应的CommandID | ||
uint8 | IP的长度 | ||
char | IP | ||
uint32 | IP端口 | ||
uint8 | 别名长度 | ||
char | 别名 | ||
uint8 | 当前连接是否日志打开 0 未开启 1 开启 | ||
SetConnectLog -n 1 -f 0 | 设置连接日志开启状态 -n是 ConnectID -f是 0 开启 1 关闭 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint8 | 执行状态 0 成功 | ||
SetMaxConnectCount -n 20000 | 设置当前服务器允许的最大连接数 -n 是连接数 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint8 | 执行状态 0 成功 | ||
AddListen -i 127.0.0.1 -p 10003 -t 1 -n 1 | 动态在服务器打开一个新的监听端口 -i IP -p 端口 -t 1 TCP 2 UDP -n 对应的PacketParseID | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint8 | 执行状态 0 成功 | ||
DelListen -i 127.0.0.1 -p 10003 -t 1 | 动态在服务器关闭监听端口 -i IP -p 端口 -t 1 TCP 2 UDP | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint8 | 执行状态 0 成功 | ||
ShowListen -a | 查看现有打开的服务器端口信息 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint32 | 监听的个数 | ||
uint8 | IP的长度 | ||
char | IP | ||
uint32 | IP端口 | ||
TestFileStart -f a.xml | 执行文件压测指令 -f 指定压测文件名 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint8 | 执行状态 0 成功 | ||
TestFileStop -a | 停止文件压测 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint8 | 执行状态 0 成功 | ||
SetTrackIP -i 127.0.0.1 -c 5 | 给指定客户端IP的数据染色,-i是客户端的IP,-c是染色数据包数 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint8 | 执行状态 0 成功 | ||
SetTrackCommand -i 0x1000 -c 5 | 给指定信令ID的数据染色,-i信令ID,格式是0xXXXX,-c是染色数据包数 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint8 | 执行状态 0 成功,1 失败 | ||
GetTrackCommandInfo -a | 查看当前染色的信令执行信息 | 类型 | 说明 |
uint16 | 返回命令ID | ||
uint8 | 当前信令个数 | ||
uint16 | 信令ID | ||
uint16 | 信令当前已染色个数(已处理) | ||
uint16 | 信令需要染色总数 |