跳到主要内容

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

提供账号相关功能的模块

函数原型函数作用
bool is_legal_account(mixed account)是不是有效的账号名称
bool is_legal_password(mixed client_password)是不是有效的客户端密码
bool update_account_fields(string account, map data, map conditions = )更新指定账号的一组账号信息
int allocate_account_id()分配一个账号数字ID
int allocate_visitor_number()分配一个游客数字ID(用于生成游客账号)
mixed create_account(map param)创建一个账号
mixed debug_create_account(string account, string password)调试接口 - 创建一个普通账号
mixed read_account(string account)读取账号信息
mixed modify_password(string account, string client_password, string new_client_password, bool force = false)修改密码
mixed set_password(string account, string password)设置密码
mixed add_password(string account, string client_password)为账号增加一个密码
mixed bind_visitor(string account, string client_password, string new_account, string new_client_password)游客账号绑定为普通正式帐号
mixed bind_serial_number(string account, string sn)账号绑定一个序列号
bool check_account_password(string account, string client_password)验证账号密码是否匹配
bool is_password_pair_match(string server_password, string client_password)验证服务端密码和客户端密码是否匹配
string make_password_for_server(string client_password)用客户端密码生成服务端密码(用于保存)
string make_password_for_client(string original_password)用密码明文生成客户端密码
mixed take_over(string account, string pwd, string reason, int seconds = 86400)接管账号
mixed cancel_take_over(string account)取消账号接管
bool verify_account_password(map account_info, string client_password)验证账号信息和密码是否匹配
bool clean_one_time_take_over_password(map account_info)清除一次性接管密码
bool is_account_taken_over(map account_info)账号信息是否处于被接管状态
mixed migrate_account(string old_account, string new_account, string new_password)迁移账号数据
mixed block_account(string account, string reason)永久封禁账号
mixed block_account_to_time(string account, string reason, int expiration_time)封闭账号到指定时间
mixed unblock_account(string account)解禁账号
bool is_account_blocked(map account_info)账号是不是处于封禁状态
map pull_blocked_accounts(object agent, int count = 10)从最近一次位置开始拖取封禁账号列表

AuthD.gs

提供账号认证功能的模块

函数原型函数作用
mixed auth(string type, ...)账号认证
string new_token(string type, map token_info, int living_seconds)为指定的认证方式生成认证令牌
void drop_token(string token)删除认证令牌
map get_token_info(string token)获取认证令牌信息
int auth_token(string token, ...)验证认证令牌

GroupD.gs

提供服务器区组功能的模块

函数原型函数作用
void enable_register(string group, bool flag, string reason)开放/关闭指定区组的账号注册功能
bool is_register_enabled(string group)指定区组的账号注册功能是否开放
string get_reject_reason(string group)获取指定区组的拒绝账号注册的原因
void set_register_limit(string group, int upper_limit)设置指定区组的账号注册数量的最大值
int get_register_limit(string group)获取指定区组的账号注册数量的最大值
void set_register_warn_num(string group, int register_warn_num)设置指定区组的账号注册数量的警告值
int get_register_warn_num(string group)获取指定区组的账号注册数量的警告值
int get_register_account_num(string group)获取指定区组的已注册账号数量
void inc_register_account_num(string group, int num = 1)增加指定区组的已注册账号数量
bool is_allow_register(string group)指定区组是否开放账号注册功能
mixed query_global(string path = nil)获取指定配置路径的区组全局配置
void replace_global(map dict)替换区组全局配置数据
void set_global(string path, mixed value)设置指定配置路径的区组全局配置值
void delete_global(string path = nil)删除指定配置路径的区组全局配置值
mixed query(string group, string field = nil)获取指定区组的指定配置值
void replace(string group, map dict)替换指定区组的配置数据
void set(string group, string field, mixed value)设置指定区组的指定配置
void multi_set(string group, map dict)设置指定区组的一组配置
void delete(string group, string field = nil)删除指定区组的指定配置
int inc_global_counter(string counter_name, int value)增加指定名称的全局计数
int get_global_counter(string counter_name)获取指定名称的全局计数值
void set_global_counter(string counter_name, int value)设置指定名称的全局计数
int inc_group_counter(string group, string counter_name, int value)增加指定区组的指定计数
int get_group_counter(string group, string counter_name)获取指定区组的指定计数值
void set_group_counter(string group, string counter_name, int value)设置指定区组的指定计数

SerialNumberD.gs

提供序列号(激活码)功能的模块

函数原型函数作用
bool is_legal_sn(mixed sn)是不是一个有效的序列号
bool update_sn_fields(string sn, map data, map conditions)更新序列号的一组属性值
bool bind_account(string sn, string account)序列号绑定账号
bool unbind_account(string sn, string account)解除序列号上绑定的账号
mixed batch_peek_from_database(int amount = -1, string batch_id = "")批量发放序列号
string peek_from_database(string batch_id = "")发放一个序列号
void gen_into_database(int amount = 1000, string batch_id = "")批量生成序列号

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()是不是处于嵌入模式