ejabberd为游戏免除注册限制
来源:互联网 发布:linux 清空回收站 编辑:程序博客网 时间:2024/04/30 04:58
ejabberd为游戏免除注册限制
(金庆的专栏 2016.11)
ejabberd聊天服务器默认会限制同一IP注册帐号须间隔600s。
在游戏中需要为每个角色注册一个聊天帐号,不应该有此限制。
可以更改服务器代码,为游戏服务器免除这一注册间隔时间。
假设游戏服用专用的帐号登录ejabberd, 然后为这种帐号免除注册限制。
在ejabberd.yml配置访问控制列表(ACL)中添加 game_master:
acl: game_master: user: - "game_master_1@localhost" - "game_master_2@localhost"
game_master 帐号预先创建,供游戏服务器登录ejabberd.
mod_register的配置中,将 “access_from: deny” 改为 “access_from: all”.
“access_from: deny” 表示任何用户都不能注册帐号,只能是登录前注册。
“access_from: all” 表示登录用户也能注册帐号。
这样game_master帐号先登录,然后就可以注册新帐号了。
添加 access_from_without_time_limit,允许game_master无注册限制。
mod_register: access_from: all access: register ## Allow some user register accounts without registration_timeout limit. access_from_without_time_limit: - allow: game_master
实际上也可以这样直接配置:
access_from_without_time_limit: - allow: - user: game_master_1@localhost - user: game_master_2@localhost
配置成 acl 的好处是,可以用
ejabberdctl reload_config
重新加载 acl, 而模块配置部分无法重新加载。
acl 配置还可以在 http admin 界面更改。
代码需稍加更改,修改mod_register.erl.
try_register/5 添加 From 参数改为 try_register/6
try_register(User, Server, Password, From, SourceRaw, Lang)
并将其中
case check_timeout(Source) of
改成
CheckTimeout = case check_from_without_time_limit(From, Server) of allow -> true; _ -> check_timeout(Source)end,case CheckTimeout of
即如果From是gm帐号时,CheckTimeout直接通过,不再判断600s的间隔。
check_from_without_time_limit/2 仿照check_from/2,这样实现:
check_from_without_time_limit(JID, Server) -> Access = gen_mod:get_module_opt(Server, ?MODULE, access_from_without_time_limit, fun(A) -> A end, none), acl:match_rule(Server, Access, JID).
添加:
mod_opt_type(access_from_without_time_limit) -> fun acl:access_rules_validator/1;...mod_opt_type(_) -> [..., access_from_without_time_limit, ...].
- ejabberd为游戏免除注册限制
- ejabberd分析(二) 用户注册
- ejabberd分析(二) 用户注册
- ejabberd
- ejabberd
- 为您的应用程序加上注册的限制
- 为您的应用程序加上注册的限制
- 基于Hemlock的ejabberd ActionScript游戏客户端开发
- XMPP ejabberd 服务器编程(一)为服务器添加模块
- 将限制转换为力量——设计一键(One-Button)游戏
- XMPP 用户注册限制解决方案
- 注册 用户名 非法关键字限制
- 游戏注册系统
- 限制文本框为数字
- 解决:为保证帐号安全,您在这里的注册受到限制。 建议您下载网易官方手机客户端邮箱大师进行注册 原文信息: 解决:为保证帐号安全,您在这里的注册受到限制。 建议您下载网易官方手机客户端邮箱大师进行注册
- 免除费用 Fee waiver
- linux 技巧 免除密码
- ejabberd 安装
- cookie中存中文
- 调用函数不同参数以及返回值
- 微服务的可变和不可变
- C++学习摘要3
- 托盘操作
- ejabberd为游戏免除注册限制
- ELF文件和BIN文件
- Leetcode-152. Maximum Product Subarray
- Android中的四大组件
- stosd,stosb,stosw汇编指令
- CentOS服务器网络配置
- 嵌入式概述
- hdu 4283 (区间dp)
- 并查集初步小结。。