Survive之前采用的是C+lua的设计方式,其中网关服务器全部由C编写,其余服务全部是C框架运行lua回调函数的方式编写游戏逻辑.

鉴于一般的手游对服务器端的压力不会太大,便将Survive用distri.lua框架重写了一便,distri.lua天生的支持协程,RPC和数据库访问直接使用同步接口实现,大大减少了对回调函数的使用,也使得逻辑代码的编写更加清晰和直观。

首先简单介绍一下Survive,Survive是我目前开发的手机游戏使用的服务器的开源版本,因为是一个开源框架,所以Survive并不包含太多具体的游戏逻辑.目前Survive只提供以下功能:

  • 角色的验证和创建
  • 场景地图的管理和选择
  • 场景中移动,寻路以及视野同步
  • 简单的背包数据,角色数据和技能
  • 一个简单的测试客户端和机器人客户端
  • 客户端断线重连

整个开源框架非常轻量级,目前全部lua代码(不包括distri.lua的部分)数量只有2800行左右.

下面帖一些测试客户端的截屏:

登录

角色创建

地图选择

场景1

场景2

场景3

100个机器人

感兴趣的朋友可以关注:Survive

转载于:https://www.cnblogs.com/sniperHW/p/4020130.html

distri.lua重写开源手游服务器框架Survive相关推荐

  1. 开源工具 | 手游自动化框架GAutomator,新增iOS系统和UE4引擎支

    WeTest 导读 GAutomator是腾讯WeTest推出的手游自动化测试框架,已用于腾讯多个手游项目组的自动化测试. 1.GAutomator诞生背后 研究过手游自动化测试的同学都知道,虽然市场 ...

  2. 开源手游暗黑世界客户端部分代码注解续

    开源手游,暗黑世界客户端基于Cocos2d-x 2.1.4,详情:http://www.9miao.com/thread-42811-1-1.html 接上篇博客:http://blog.csdn.n ...

  3. 手游自动化测试框架实现原理

    手游自动化测试框架需要几个模块: 脚本模块:需要对常见的操作进行API封装,脚本一般选择常见的javascript,python,lua等,这个封装主要针对APP上的函数进行封装,以降低开发难度. 针 ...

  4. 倩女手游服务器维护,倩女手游7月28日服务器在线维护公告

    亲爱的玩家们: <倩女幽魂>手游服务器已趋于稳定,除重要内容更新日外,每周四上午将不再进行例行停机维护(更新内容照常放出,本周合服服务器仍需停服维护),游戏新内容将采用在线更新的方式放出. ...

  5. 手游服务器被ddos攻击要怎么解决?

    手游服务器被ddos攻击要怎么解决? 如今做网络游戏的企业都知道服务器的安全对于我们来说至关重要!互联网上面的DDoS攻击和CC攻击几乎无处不在,而游戏服务器防御能力和处理能力要求又相对较高,普通的服 ...

  6. 斗破苍穹模拟器显示服务器人满,斗破苍穹手游服务器爆满怎么进 挤进爆满区...

    斗破苍穹手游中的服务器,它是有限制的,数量限制低很容易就爆满了,很多玩家都没注册到账号,那么服务器爆满怎么进?下面我带大家了解一下. 斗破苍穹手游服务器爆满 服务器爆满:说明这款游戏的玩家很多,非常火 ...

  7. 斗破苍穹模拟器显示服务器人满,斗破苍穹手游服务器达到上限不能创建角色原因及解决方法...

    斗破苍穹手游是最近非常火的一个游戏,很多小伙伴都在玩这个游戏,最近有些小伙伴在说这个游戏不能创建新角色了,大家都在问这个是怎么回事?小编就为大家带来了斗破苍穹手游服务器达到上限不能创建角色原因及解决方 ...

  8. 《梦幻西游》手游主程刘强:如何提供一个稳定高效的MMO手游服务器引擎

    原标题:原创 <梦幻西游>手游主程刘强:如何提供一个稳定高效的MMO手游服务器引擎 整理/手游那点事子安 随着手游越发端游化和重度化,衡量一款手游的数据除了传统的留存率.ARPU等外,还新 ...

  9. 洛阳棋牌手游服务器架设快速稳定,棋牌手游服务器

    棋牌手游服务器 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 购买服务及配置特 ...

最新文章

  1. Html5 aside标签的用法和作用
  2. python遍历循环选择题_19道Python循环遍历,while,for语句测试题,网上看到的题目,自己不看答案全部做了一次,总共3个小时左右...
  3. 智源博士后合作导师专访 | 曾毅:面向可持续发展的人工智能
  4. Leetcode 963. 最小面积矩形 II 解题思路及C++实现
  5. 《高效程序员的修炼》 读书笔记
  6. llinux 调整swap方法
  7. 快速构建网站或移动端页面:关于Bootstrap的学习笔记
  8. PHP AJAXFORM提交图片上传并显示图片源代码
  9. Zookeeper 夺命连环 9 问
  10. DaveGray推荐的视觉思维好书(一)
  11. 爬虫协程比线程爬取速度更快?
  12. linux 修改文件的权限
  13. Excel程序员常用快捷键
  14. 企业微信报错,提示无权限访问
  15. 第二届北京智源大会拉开帷幕,百度翻译同传助力国际沟通无障碍
  16. 轻巧易用,音质更进一步,南卡Lite pro 2真无线耳机上手
  17. 数据库人大金仓KingbaseES 数据库对象管理工具连接错误(实例创建失败)问题解决办法
  18. 魔术师怎么知道你脑中的数字的?
  19. 基于Springboot开发实现的图书管理系统(附源码)
  20. Flutter urlencode转换

热门文章

  1. 游戏破解引发盈利模式思考
  2. 湍流参数计算c语言,力扣978.最长湍流子数组-C语言
  3. 【深度学习】村通网之——谈谈Tensorflow Eager Execution机制之静态图和动态图的区别(一)
  4. 思想——坚定不移的信仰
  5. 快速熟悉H3 BPM的结构
  6. Android图片压缩详解
  7. 基于springboot写的毕业设计星嘉购物系统设计与实现(附资源下载)
  8. idea 类识别不出来
  9. JAVA中边长的英文,JAVA的一部分术语中英文对照(
  10. pandas下-综合练习