authserver
简介
认证服务器的入口脚本(/e
支持集成到项目的嵌入模式(通过set_embedded_mode设置,执行setup初始化)
组件接口
authserver.gs
| 函数原型 | 函数作用 |
|---|---|
| void setup(string config_file) | 嵌入模式下的初始化模块 |
develop.gs
账号认证方式 - 开发认证(仅实验室使用)
| 函数原型 | 函数作用 |
|---|---|
| map auth(...) | 开发认证(这里无需任何认证参数,永远通过) |
| int auth_token(string token, map token_info, ...) | 验证认证令牌 |
password.gs
账号认证方式 - 密码认证
| 函数原型 | 函数作用 |
|---|---|
| mixed auth(string account, string password, map output_when_fail = ) | 密码认证 |
| int auth_token(string token, map token_info, string account_id, string account) | 验证认证令牌 |
FHandlerBase.gs
客户端指令处理基础组件
所有指令处理对象都应该包含本组件
| 函数原型 | 函数作用 |
|---|---|
| string cmd_name() | 获取客户端指令 |
| bool is_handler() | 是不是能普通客户端和内部客户端都可以执行本指令 |
| map SUCCESS(mixed cookie, map result = ) | 生成一个统一格式的成功结果 |
| map FAILURE(mixed cookie, map result = ) | 生成一个统一格式的失败结果 |
AccountD.gs
提供账号相关功能的模块
AuthD.gs
提供账号认证功能的模块
GroupD.gs
提供服务器区组功能的模块
SerialNumberD.gs
提供序列号(激活码)功能的模块
client_auth_account.gs
客户端验证账号、密码
| 函数原型 | 函数作用 |
|---|---|
| void main(object agent, map msg) | 指令处理入口 |
client_bind_visitor.gs
客户端游客帐号绑定成为正式帐号
| 函数原型 | 函数作用 |
|---|---|
| void main(object agent, map msg) | 指令处理入口 |
client_check_account.gs
客户端检查账号是不是已经存在
| 函数原型 | 函数作用 |
|---|---|
| void main(object agent, map msg) | 指令处理入口 |
client_create_account.gs
客户端创建账号
| 函数原型 | 函数作用 |
|---|---|
| void main(object agent, map msg) | 指令处理入口 |
client_modify_password.gs
客户端修改密码
| 函数原型 | 函数作用 |
|---|---|
| void main(object agent, map msg) | 指令处理入口 |
internal_auth_account.gs
内部客户端 - 验证账号、密码
| 函数原型 | 函数作用 |
|---|---|
| void main(object agent, map msg) | 指令处理入口 |
internal_auth_token.gs
内部客户端 - 验证认证令牌
| 函数原型 | 函数作用 |
|---|---|
| void main(object agent, map msg) | 指令处理入口 |
internal_block_account.gs
内部客户端 - 封禁账号
| 函数原型 | 函数作用 |
|---|---|
| void main(object agent, map msg) | 指令处理入口 |
internal_gen_sn.gs
内部客户端 - 生成并发放一个序列号
| 函数原型 | 函数作用 |
|---|---|
| void main(object agent, map msg) | 指令处理入口 |
internal_group_opt.gs
内部客户端 - 服务器区组选项设置操作: 查询/更新等
| 函数原型 | 函数作用 |
|---|---|
| void main(object agent, map msg) | 指令处理入口 |
internal_modify_password.gs
内部客户端 - 修改账号密码
| 函数原型 | 函数作用 |
|---|---|
| void main(object agent, map msg) | 指令处理入口 |
internal_pull_blocked_accounts.gs
内部客户端 - 拖取封闭账号列表
每次拖取的开始位置都是上次拖取的结束
默认从0位置开始,可以通过"count"指定拖取的区间大小
通过多次发送internal_pull_blocked_accounts,直至返回值中的"finished"返回true(账号表遍历完毕),
每次返回值中的"accounts"合并起来就是所有的封闭账号
| 函数原型 | 函数作用 |
|---|---|
| void main(object agent, map msg) | 指令处理入口 |
internal_read_account.gs
内部客户端 - 读取账号信息
| 函数原型 | 函数作用 |
|---|---|
| void main(object agent, map msg) | 指令处理入口 |
internal_shutdown.gs
内部客户端 - 关闭本服务器
| 函数原型 | 函数作用 |
|---|---|
| void main(object agent, map msg) | 指令处理入口 |
internal_take_over_opt.gs
内部客户端 - 接管账号/取消接管账号
| 函数原型 | 函数作用 |
|---|---|
| void main(object agent, map msg) | 指令处理入口 |
internal_unblock_account.gs
内部客户端 - 解封账号
| 函数原型 | 函数作用 |
|---|---|
| void main(object agent, map msg) | 指令处理入口 |
auth_account.gs
http接口 - 客户端验证账号、密码
| 函数原型 | 函数作用 |
|---|---|
| void main(object req, object res) | 指令处理入口 |
bind_visitor.gs
http接口 - 客户端游客帐号绑定成为正式帐号
| 函数原型 | 函数作用 |
|---|---|
| void main(object req, object res) | 指令处理入口 |
check_account.gs
http接口 - 客户端检查账号是不是已经存在
| 函数原型 | 函数作用 |
|---|---|
| void main(object req, object res) | 指令处理入口 |
create_account.gs
http接口 - 客户端创建账号
| 函数原型 | 函数作用 |
|---|---|
| void main(object req, object res) | 指令处理入口 |
modify_password.gs
http接口 - 客户端修改密码
| 函数原型 | 函数作用 |
|---|---|
| void main(object req, object res) | 指令处理入口 |
config.gs
提供本服务器配置的功能模块
| 函数原型 | 函数作用 |
|---|---|
| void init(string config_file) | 通过配置文件初始化配置 |
| mixed get(string path) | 获取配置值 |
debug_stat.gs
提供调试统计功能的模块
| 函数原型 | 函数作用 |
|---|---|
| object start_stat() | 启动一个统计(创建一个统计对象) |
stat_helper.gs
统计对象
| 函数原型 | 函数作用 |
|---|---|
| void record_min_max_total(string step, mixed value) | 记录指定步骤的最小值、最大值、总和 |
| void record_cost_time(string step) | 记录指定步骤的耗 时 |
| void record_value(string step, mixed value) | 记录指定步骤的当前值 |
| void add_value(string step, int times) | 累积指定步骤的值 |
| void record_min_value(string step, int value) | 记录指定步骤的最小值 |
| void record_max_value(string step, int value) | 记录指定步骤的最大值 |
| mixed get(string step) | 获取指定步骤的值 |
| map get_all_data() | 获取所有步骤的值 |
Agent.gs
客户端连接对象
| 函数原型 | 函数作用 |
|---|---|
| bool is_internal() | 是不是内部客户端连接(内部客户端是受信连接) |
| string get_server_type() | 获取客户端连接对应的服务端口类型 |
| string desc() | 获取本对象的描述文本 |
| void bind_connection(object conn) | 绑定一个网络连接 |
| object unbind_connection() | 解除和网络连接对象的绑定 |
| void dispatch(mixed payload) | 分发客户端指令(投递到协程服务池中处理) |
| bool is_out_of_life() | 判断是不是超出生命周期 |
| void set_timeout(int seconds) | 设置存活时长 |
| bool auto_close() | 尝试自动关闭本对象(接入pkg.session_scanner的接口) |
| void set_temp(string key, mixed val) | 设置临时数据 |
| mixed query_temp(string key) | 查询临时数据 |
| void process_command(mixed payload) | 处理客户端指令 |
| void send_message(string cmd, map msg) | 发送消息 |
| void send_response(string cmd, mixed cookie, map msg) | 发送应答响应消息 |
agents.gs
提供客户端对象管理功能的模块
| 函数原型 | 函数作用 |
|---|---|
| void add(object agent) | 添加一个客户端连接对象 |
| void remove(object agent) | 移除一个客户端连接对象 |
| map get_all_agents() | 获取所有客户端连接对象词典 |
| array get_internal_agents() | 获取所有内部客户端连接对象列表 |
| map clean_all_agents() | 清理所有客户端连接对象词典 |
msg_handlerd.gs
提供客户端指令处理功能的模块
| 函数原型 | 函数作用 |
|---|---|
| void process_command(object agent, array payload) | 处理客户端指令 |
netd.gs
提供网络服务功能的模块
历史原因,起了个别扭的模块名称netd.....
| 函数原型 | 函数作用 |
|---|---|
| void dump() | 调试接口 - 输出服务端口信息 |
| void enable_debug(bool enable) | 设置调试开关 |
| bool is_enable_debug() | 是不是已打开调试开关 |
| string allocate_service_name() | 随机分配一个服务协程池名称 |
tip.gs
提供提示功能的模块
| 函数原型 | 函数作用 |
|---|---|
| string get(mixed id) | 获取指定id 的提示内容 |
preimport.gs
预定义文件
| 函数原型 | 函数作用 |
|---|---|
| void set_embedded_mode(bool flag_embedded) | 设置嵌入模式 |
| bool is_embedded_mode() | 是不是处于嵌入模式 |