用户是如何匹配进入到游戏的? 简介目前domo中实现了一个完整的游戏,中国象棋,实现了对应用cocos creator实现的客户端。之后做了匹配逻辑,匹配逻辑的表现是仿照LOL英雄联盟做的。 匹配进入游戏流程 c2s 玩家请求hallserver匹配 s2s hallserver请求matchserver匹配 matchserver 定时执行撮合逻辑 s2s matchserver找到撮合对象后,请求对应gameserver游 2023-05-03 skynet_fly 文档 > 实战篇 #skynet_fly_word
如何在skynet_fly_demo新增一个游戏? 简介通常基于游戏大厅的对战类型游戏不会只有一款玩法,像英雄联盟会有匹配场,排位场,大乱斗,还有一些限时玩法,克隆,无限火力。这些特殊玩法,通常分开开服比较好,相互隔离不影响。skynet_fly_demo利用了skynet_fly房间类游戏架构可以非常快速的搭建房间对战类游戏,非常适合这种架构模式。那么如何在skynet_fly_demo新增一个游戏?我将已新增一个数字炸弹游戏为例子,进行逐步讲解 2023-05-03 skynet_fly 文档 > 实战篇 #skynet_fly_word
大厅服如何对模块功能进行拆分隔离? 简介通常一个游戏大厅会有很多功能模块,比如用户信息管理,活动大厅,任务,邮件,充值,商店,这些功能通过不会一个人开发,会很多人一起开发,如果都写在一个文件中,耦合度太高,合作编码太容易修改冲突。所以在编码逻辑上要做到尽量隔离。 skynet_fly_demo是如何做的?一个独立的功能模块无法是需要处理5种事件 客户端消息 服务器之间的消息 模块之间的接口调用 用户的登录,登出事情 自己注册的定时 2023-05-03 skynet_fly 文档 > 实战篇 #skynet_fly_word
前言 项目简介skynet_fly的理念是基于skynet开发开箱即用的微服务框架,旨在大家使用该框架,不会想着需要修改底层源码,而是基于该框架对服务端做一个快速搭建。skynet_fly持续迭代的原则,尽量向下兼容,不会因向下兼容性而束手束脚,后续考虑使用版本更新日志记录大版本的改动信息。 框架优势skynet_fly是基于skynet扩展的可以快速开发web,游戏,和需要rpc调用的框架。使用sky 2023-02-25 skynet_fly 文档 > 入门篇 #skynet_fly_word
编译 推荐使用git,使用git clone的方式拉取下来,因为使用下载的方式,还需要去手动下载对应的submodule,skynet的代码。 拉取代码git clone https://github.com/huahua132/skynet_fly.git 拉取子模块代码cd skynet_flygit submodule update --init 拉取skynet代码代码子模块cd skynetg 2023-02-25 skynet_fly 文档 > 入门篇 #skynet_fly_word
构建服务脚手架 为啥需要脚手架?如果你对缘由感兴趣,可以看看这个 作用 生成skynet 启动配置文件 生成服务基础运维脚本 构建命令skynet_fly/binshell/make_server.sh skynet_fly_path 我们已构建skynet_fly/examples/webapp为例子 进入服务文件夹目录下。cd skynet_fly/examples/webapp 构建运维脚本。bash 2023-02-25 skynet_fly 文档 > 入门篇 #skynet_fly_word
load_mods配置文件的使用 前言load_mods配置文件是skynet_fly非常核心的东西。通常一个服务为了区分不同环境,都会有一个服务配置项。传统的服务端配置可能就是key-value形式的配置项,因为大部分传统服务端都是把配置做成全局单例,方便读取。 skynet 有个启动配置,为啥还要新增一个? 因为skynet_env都是key-value形式的,而且是配置在全局变量中,不方便做配置遍历。 skynet_env读 2023-02-25 skynet_fly 文档 > 入门篇 #skynet_fly_word
开发环境推荐 vscode + Oracle VM VirtualBoxvscode加虚拟机的方式,是我常用的开发方式。 安装虚拟机 安装VirtualBox,官网下载安装即可 下载centos或者ubantu镜像 centos ubuntu 使用VirtualBox安装虚拟机这里自行百度。 vscode安装插件luaHelpersftp 配置SFTP 创建配置ctrl shift p 编辑配置 1 2023-02-25 skynet_fly 文档 > 入门篇 #skynet_fly_word
如何编写可热更服务模块 前言使用skynet开发服务,通常不会把所有任务写在一个服务中,一般会拆分成一个个服务单元,服务单元通过rpc调用协同工作。 简介可热更服务模块 本质上就是一个skynet的lua服务,是用skynet.newservice API 创建的。只是会加载指定的 xxx_m.lua文件,相当于用相同的盒子包装不同的东西。 示例12345678910111213141516171819202122232 2023-02-25 skynet_fly 文档 > 入门篇 #skynet_fly_word
项目文件夹介绍 3rd存放第三方依赖 binshell服务构建工具 examples示例学习服务 lualibskynet_fly lua库文件代码 moduleskynet_fly 提供的可热更服务模块 scriptlua shell 脚本工具代码 serviceskynet普通服务 skynetskynet代码 test单元测试服务代码,主要用来编写一些模块的单元测试。 2023-02-25 skynet_fly 文档 > 入门篇 #skynet_fly_word