list_server
简介
目录服务器入口文件
当作为独立的服务器启动时,必须指定本文件为启动脚本(/e)
当作为pkg嵌入其它服务器时,必须先通过接口(set_embedded_mode)设置为嵌入模式,再调用pkg的初始化接口(list_server.setup)
组件接口
ping.gs
网络会话命令处理对象 - ping
函数原型 | 函数作用 |
---|---|
void main(object session, map msg) | 命令处理函数 |
common.gs
主模块入口文件
函数原型 | 函数作用 |
---|---|
void boot() | 执行主模块启动操作 |
void shutdown() | 执行主模块关闭操作 |
FObHash.gs
为对象绑定一个固定的随机值的组件
函数原型 | 函数作用 |
---|---|
int get_hash() | 获取本对象绑定的固定的随机值 |
FSessionCmd.gs
执行网络会话命令的处理器对象的基础组件
包含本组件的对象必须实现一个public mixed main(object conn, ...)方法
函数原型 | 函数作用 |
---|---|
string cmd_name() | 获取命令名称 |
map SUCCESS(mixed cookie, map result = ) | 新建一个成功结果 |
map FAILURE(mixed cookie, map result = ) | 新建一个失败结果 |
delayd.gs
提供延迟执行的功能模块
函数原型 | 函数作用 |
---|---|
void delay_invoke(float seconds, function func) | 延迟执行(自动根据时间选择延迟精度) |
void delay_invoke_high(float seconds, function func) | 延迟执行(高精度) |
void delay_invoke_low(float seconds, function func) | 延迟执行(低精度) |
auth.gs
提供令牌认证功能的模块
函数原型 | 函数作用 |
---|---|
bool auth_token(string token) | 认证一个令牌 |
config.gs
全局配置模块
函数原型 | 函数作用 |
---|---|
void init(string config_file) | 初始化全局配置 |
mixed get(string path) | 获取配置信息 |
mongo.gs
mongodb数据库操作模块
函数原型 | 函数作用 |
---|---|
void start() | 启动 |
bool is_enabled() | 是否已经启动本模块 |
object find_client(string name) | 根据指定的mongo数据库名称获取mongo客户端对象 |
mysql.gs
mysql数据库操作模块
函数原型 | 函数作用 |
---|---|
void start() | 启动 |
bool is_enabled() | 是否已经启动本模块 |
mixed eval(string script_name, ...) | 执行指定名称的数据库操作脚本 |
void dump() | 调试接口 - 输出所有数据库操作脚本的调试信息 |
void clear_stat() | 清空所有数据库操作脚本的统计信息 |
netd.gs
目录服务器的网络功能模块
函数原型 | 函数作用 |
---|---|
void start_listen(int port) | 监听指定端口 |
void stop_listen() | 停止监听 |
bool is_enable_debug() | 是否启用调试 |
Session.gs
网络会话对象
函数原型 | 函数作用 |
---|---|
bool is_connected() | 是否已连接 |
void bind_connection(object conn) | 绑定网络连接 |
object unbind_connection() | 解绑网络连接 |
void transfer_connection(object to) | 将当前持有的网络连接对象转移给目标网络会话对象 |
bool is_out_of_life() | 本会话是否超过生命周期 |
bool auto_close() | 尝试关闭本会话对象 |
void send(string cmd, map msg) | 发送消息 |
redis_data.gs
redis数据库操作模块
操作的目标数据库在全局配置文件的redis_database
字段和redis_dbs
字段中指定
internal_add_account_cache.gs
网络会话命令处理对象 - 添加账号缓存
函数原型 | 函数作用 |
---|---|
void main(object session, map msg) | 命令处理函数 |
internal_add_server_to_balance_group.gs
网络会话命令处理对象: 添加服务器到平衡组
函数原型 | 函数作用 |
---|---|
void main(object session, map msg) | 命令处理函数 |
internal_get_all_gs.gs
网络会话命令处理对象 - 获取所有已连接的服务器的状态
函数原型 | 函数作用 |
---|---|
void main(object session, map msg = ) | 命令处理函数 |
internal_get_server_field_values.gs
网 络会话命令处理对象 - 列出服务器列表中某个字段正在使用的所有取值(返回的取值不重复)
函数原型 | 函数作用 |
---|---|
void main(object session, map msg) | 命令处理函数 |
internal_remove_account_cache.gs
网络会话命令处理对象 - 移除账号缓存
函数原型 | 函数作用 |
---|---|
void main(object session, map msg) | 命令处理函数 |
internal_update_account_cache.gs
网络会话命令处理对象 - 更新账号缓存
函数原型 | 函数作用 |
---|---|
void main(object session, map msg) | 命令处理函数 |
internal_update_gs.gs
网络会话命令处理对象 - 更新服务器信息
函数原型 | 函数作用 |
---|---|
void main(object session, map msg) | 命令处理函数 |
account_cached.gs
维护账号缓存的功能模块
函数原型 | 函数作用 |
---|---|
mixed eval(string name, ...) | 执行指定名称的脚本 |
void debug_clean() | 调试接口 - 清楚账号缓存表 |
void add_cache(string account_id, string server_id, string rid, map info) | 添加账号角色信息缓存 |
void remove_cache(string server_id, string rid) | 移除账号角色信息缓存 |
void update_cache(string account_id, string server_id, string rid, map info) | 更新账号角色信息缓存 |
array query_caches(string account_id, mixed server_id = nil) | 查询指定服务器上的指定账号的所有角色信息缓存 |
server_balanced.gs
维护平衡组的功能模块
函数原型 | 函 数作用 |
---|---|
void notify_refresh() | 通知同步更新平衡组信息 |
bool begin_modify() | 获取修改平衡组的锁(尝试开始修改) |
void finish_modify() | 释放修改平衡组的锁(结束修改) |
map get_all_groups() | 获取所有平衡组信息 |
array get_last_sync_info() | 调试接口 - 获取最近一次同步信息 |
bool debug_init_group(string group_id = "debug", string category = "debug", int server_count = 3) | 调试接口 - 初始化一个平衡组 |
void debug_delete_group(string group_id = "debug") | 调试接口 - 删除一个平衡组 |
array get_group_by_server_id(string server_id) | 获取指定服务器ID所在的平衡组信息 |
array get_visible_servers(function fn = nil, mixed category = nil) | 获取可见的服务器列表 |
array get_recommend_servers(mixed category = nil) | 获取推荐服务器列表 |
array get_grouped_servers() | 获取已经分组的服务器列表 |
array get_ungrouped_servers() | 获取未分组的服务器列表 |
bool assure_group(string group_id, map group_data) | 确认一个平衡组数据存在(平衡组数据如果存在,则不重复创建;如果存在,则自动创建) |
bool delete_group(string group_id) | 删除一个平衡组 |
bool set_group_attribs(string group_id, map kv_pairs) | 设置平衡组属性 |
bool remove_from_group(string server_id) | 从平衡组中移除指定服务器 |
bool add_into_group(string group_id, string server_id) | 将服务器加入平衡组中 |
void sync_all_groups(...) | 同步所有平衡组数据 |
server_listd.gs
维护服务器列表的功能模块
函数原型 | 函数作用 |
---|---|
void notify_refresh() | 通知同步服 务器列表 |
void set_gs_attrib(string server_id, string key, mixed value) | 设置服务器属性 |
void remove_gs(string server_id) | 移除服务器数据 |
array get_last_sync_info() | 调式接口 - 获取最近一次的同步信息 |
void debug_remove_all() | 调式接口 - 移除所有服务器数据 |
map get_gs_simple(string server_id) | 获取服务器的简要数据 |
map get_gs(string server_id) | 获取服务器的完整数据 |
map get_all_gs_simple() | 获取所有服务器的简要数据 |
map get_all_gs() | 获取所有服务器的完整数据 |
void debug_reset_all(map datas = ) | 调式接口 - 重置所有服务器数据 |
void update_gs(string server_id, map server_data) | 更新服务器数据 |
void sync_all_gs(...) | 同步所有服务器数据 |
map filter_servers_by_field(map server_infos, string field, string value) | 根据字段值过滤服务器数据 |
bool is_gs_online(string server_id) | 判断服务器是否在线 |
int get_gs_total(string server_id) | 获取服务器总在线人数 |
void iterate_gs(function func) | 遍历所有服务器 |
gateway.gs
业务模块的入口文件
函数原型 | 函数作用 |
---|---|
void boot() | 启动 |
void shutdown() | 关闭 |
add_into_balance_group.gs
HTTP命令对象:添加服务器到平衡组
函数原型 | 函数作用 |
---|---|
void main(object req, object res) | 命令处理函数 |
create_balance_group.gs
HTTP命令处理对象: 创建平衡组
函数原型 | 函数作用 |
---|---|
void main(object req, object res) | 命令处理函数 |
destroy_balance_group.gs
HTTP命令处理对象: 删除平衡组
函数原型 | 函数作用 |
---|---|
void main(object req, object res) | 命令处理函数 |
list_account_servers.gs
HTTP命令处理对象: 获取账号在所有服务器上的角色缓存列表
函数原型 | 函数作用 |
---|---|
void main(object req, object res) | 命令处理函数 |
list_balance_groups.gs
HTTP命令处理对象: 列出所有平衡组
函数原型 | 函数作用 |
---|---|
void main(object req, object res) | 命令处理函数 |
list_recommend_servers.gs
HTTP命令处理对象: 列出推荐服务器
函数原型 | 函数作用 |
---|---|
void main(object req, object res) | 命令处理函数 |
list_servers.gs
HTTP命令处理对象:列出所有服务器
函数原型 | 函数作用 |
---|---|
void main(object req, object res) | 命令处理函数 |
list_server_field_values.gs
HTTP命令处理对象: 列出服务器列表中某个字段正在使用的所有取值(不重复)
函数原型 | 函数作用 |
---|---|
void main(object req, object res) | 命令处理函数 |
list_ungrouped_servers.gs
HTTP命令处理对象: 列出未分组的服务器
函数原型 | 函数作用 |
---|---|
void main(object req, object res) | 命令处理函数 |
list_visible_servers.gs
HTTP命令处理对象:列出所有可见的服务器
函数原型 | 函数作用 |
---|---|
void main(object req, object res) | 命令处理函数 |
query_account.gs
HTTP命令处理对象: 查询账号在服务器的角色缓存列表
函数原型 | 函数作用 |
---|---|
void main(object req, object res) | 命令处理函数 |
query_server.gs
HTTP命令处理对象: 查询服务器信息
函数原型 | 函数作用 |
---|---|
void main(object req, object res) | 命令处理函数 |
remove_from_balance_group.gs
HTTP命令处理对象:从平衡组中移除服务器
函数原型 | 函数作用 |
---|---|
void main(object req, object res) | 命令处理函数 |
set_balance_group_attribs.gs
HTTP命令处理对象: 设置平衡组属性
函数原型 | 函数作用 |
---|---|
void main(object req, object res) | 命令处理函数 |
list_server.gs
函数原型 | 函数作用 |
---|---|
void setup(string config_file) | 嵌入模式下目录服务器的初始化接口 |
preimport.gs
预导入文件
函数原型 | 函数作用 |
---|---|
void set_embedded_mode(bool flag_embedded) | 设置为嵌入模式(作为模块嵌入时使用) |
bool is_embedded_mode() | 当前是否为嵌入模式 |
样例
[参考文档](https://leiting.feishu.cn/wiki/KLzMw2gt3iBCdRktNZPcBhEenuc)