|
近期修复了百宝云注册码系统遗留的虚拟机无限多开的bug后,并且对单机多开功能进行了一系列的优化
下面给大家介绍,单机多开功能后需要注意的问题
1、首先给大家介绍如何开启单机多开功能(单机多开一定要绑定机器码,否则设置了也不会生效)
在项目属性中,我们可以设置单台机器客户端的开启数量,默认为1个,也就是常说的单机单开
在实际应用中,大家可以根据自己的需求设置不同的客户端数量,大家要注意不要设置客户端数量为0,如果为0那么本项目所有的注册码都不能登陆
2、客户端要注意的问题
问题1:按以老的代码逻辑,客户端在退出后,后台管理端需要30分钟才会刷新在线状态,这样会引起多个客户端同时在线,会一直占用在线客户端数量的问题
解决方法:客户端退出的时候,调用RegCodeLogOut()即可,因为RegCodeLogOut()函数的功能就是让当前客户端立即刷新后台离线状态
问题2:如果客户端意外退出,一直占用在线客户端数量怎么办?有两种解决方法
解决方法1:拥有后台管理权限(只有作者拥有),可以进入注册码管理界面,先找到对应的注册码,点击 下线功能菜单,此时会弹出当前注册码所有在线的客户端列表(如下图)
解决方法2:调用客户端插件中的ClientOffline(regcode,machinecode)函数,此函数的功能是让注册码相关联的所有客户端全部下线
此函数需要注意的地方就是,注册码与机器码必须对应,否则此功能会调用失败,机器码的限制主要为了防止此功能被恶意使用
machinecode:默认情况下直接调用 GetMachinecode 函数获取,如果用户设置自定义机器码,那么请对自定义的机器码进行一次MD5运算
- //以下为TC封装的 动态库调用方式
- 功能 客户端下线(注册码, 机器码)
- 变量 ret = 动态库调用(全局_DLL路径, "long", "ClientOfflineW", "wchar *", 注册码, "wchar *", 机器码)
- 如果(ret == 1)
- traceprint("注册码下线 成功")
- 否则如果(ret == null)
- traceprint("注册码下线 失败 " & 获取错误信息(1))
- else
- traceprint("注册码下线 失败 " & 获取最后错误信息())
- 结束
- 返回 ret
- 结束
- 功能 获取机器码()
- 变量 result
- 动态库调用(全局_DLL路径, "long", "GetMachinecode", "pchar *", result, "long", 1024)
- traceprint("获取机器码:" & result)
- 返回 result
- 结束
- 客户端下线("注册码", 获取机器码())
复制代码
对于单机多开功能,有什么不明白的地方,可以在帖子后面留言或者直接私信我
|
|