摘要:
KBEngine是一款开源的MMOG游戏服务端引擎,使用C++编写,用Python脚本即可简单高效的完成任何游戏逻辑(支持热更新)。 KBEngine底层架构被设计为多进程分布式动态负载均衡方案,理论上只需要不断扩展硬件就能够不断增加承载上限,单台机器的承载上限取决于游戏逻辑本身的复杂度。 基于实体 阅读全文
摘要:
skynet中提供了一个简单的计时器实现,可以设置一个超时时间,时间到达后给对应的服务发送消息。 skynet中没有使用signal信号的方式来实现计时器,而是程序自身进行计时并处理计时器事件。另外,skynet中将时间由近及远划分为五个level,在时间复杂度和空间复杂度上达到了平衡。 初始化计时 阅读全文
摘要:
skynet 的 C API 采用异步读写,你可以使用 C 调用,监听一个端口,或发起一个 TCP 连接。但具体的操作结果要等待 skynet 的事件回调。skynet 会把结果以 PTYPE_SOCKET 类型的消息发送给发起请求的服务。(参考skynet_socket.h) 在处理实际业务中,这 阅读全文
摘要:
一些拓扑: https://blog.csdn.net/to_be_better/article/details/56954500 登录服务器 https://github.com/cloudwu/skynet/wiki/LoginServer https://github.com/cloudwu/ 阅读全文
摘要:
服务器引擎 这里 数据库(缓存) 现在比较流行的两种数据库,关系型数据库mysql,sql server和非关系型数据库redis、mongodb。 memcached曾经的优势是可以集群,但是现在redis也可以了。 redis支持更多数据结构,支持数据持久化。所以redis可以看做memcach 阅读全文
摘要:
单节点模式 执行命令:redis-server.exe redis6379.conf 该命令指定了配置文件,不指定的情况下默认读取的配置文件是redis.conf配置文件 主从模式(数据备份) 主节点和从节点使用完全相同的服务器实现, 它们的功能(functionally)也完全一样, 但从节点通常 阅读全文
摘要:
文件根据实现功能的不同,可以分为四部分: 1虚拟机运转的核心功能 lapi.c C语言接口lctype.c C标准库中ctype相关实现ldebug.c Debug接口ldo.c 函数调用以及栈管理lfunc.c 函数原型及闭包管理lgc.c 垃圾回收lmem.c 内存管理接口lobject.c 对 阅读全文
摘要:
当你发布lua时,你或许不想用户看到你的lua源码,更不想用户修改你的lua代码和系统内部的秘密,那就需要用别的方式来发布。 最终的文本文件可以通过lua作者提供的标准发布版本中的程序来执行。这个程序称做luac.exe,把lua文本文件“编译”成二进制的文件。这样就可以让别人更难知道你的游戏是如何 阅读全文
摘要:
在之前lua学习:lua作配置文件里,我们学会了用lua作配置文件。 其实lua在游戏开发中可以作为一个强大的保存、载入游戏数据的工具。 1.载入游戏数据 比如说,现在我有一份表单: data.xls 用什么工具解析这个Excel文件并将数据载入游戏? 我们可以使用Lua来完成这个工作。不过要先将表 阅读全文
摘要:
https://www.cnblogs.com/dimin/p/7838674.html https://blog.csdn.net/nekocode/article/details/7960371 lua与C/C++交互,主要靠lua API和向lua注册好的函数。如下图 注:LuaGlue就是让 阅读全文