在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:majiang开源软件地址:https://gitee.com/zuoge85/majiang开源软件介绍:OpenMajiang(麻将)
现在我决定继续更新这个项目!并在我的blog 和公众号发布系列文章! 测试服务器已经可以用,请不要用微信打开! 地址<www.paipaimj.com> 我的blog地址: https://www.forkjoin.org 关注我的微信公众号: 开发QQ群 173103450 麻将开发系列blog第一篇 服务器入门 https://www.forkjoin.org/2017/09-06-majiang-0/ 说明
测试服务器可以微信打开了,但是不能微信登录。谢谢, 游戏服务器启动说明服务器需要启动3个进程,启动顺序没有关系!相关端口都可以修改,只有gateway 端口应该暴露出去,其他都是内部端口 1. mj-boss (中心控制服务器,控制登录等)主文件 类名 game.boss.BossMain配置文件 resources/BossConfig.xml 修改数据库连接数据库初始化文件 server/boss.sql 2. mj-scene (场景服务器可以多开,但是没测试,游戏的主要逻辑在这儿)主文件 类名 game.scene.SceneMain配置文件 resources/SceneConfig.xml 修改数据库连接也需要连接 boss 对应数据库。但是实际上只是配置了,未使用 3. mj-gateway (网关服务器,可以多开)主文件 类名 game.scene.GatewayMain配置文件 resources/GatewayConfig.xml不需要数据库
##外围服务器 外围服务器只要是实现微信登录和管理这些的 1.mj-client (h5壳+微信登录等相关接口 + 管理接口)
static 下放copy 的游戏h5 静态文件 application.yml 是配置人均 启动 majiang.client.boss.BossClient然后访问启动后的http服务器http://127.0.0.1:8080 就能打开游戏的h5版本 游戏服务器开发说明首先如果你已经能成功启动游戏服务器,那么恭喜你,哈哈现在进入开发阶段 1. 数据库(mj-dao)数据库dao层在mj-dao 子项目内框架主要是基于spring jdbc template的生成器生成器生成dao 和 实体内,注意生成的内不压修改,扩展可以采用 继承来实现 生成器主类 game.game.db.DaoBuilder,执行这个类就能生成相关文件, 开发流程是 修改数据库接口->生成器生成dao->调用 执行有日志,注意生成文件路径是否正确 1. 消息(mj-data)客户端和服务器间通信都需要消息模块进行解包游戏协议是基于socket或者websocket 的二进制协议,协议会自动缩减 字段占用字节,所以不用在乎int long 等类似的区别 协议定义文件在mj-data 下面的resources/msg目录内可以参考之前的文件了解消息可以互相引用,头部handler 定义是否生成客户端或者服务器的Handler类 协议生成执行 game.msg.MsgMain,生成后会覆盖相关文件 消息到达服务器后通过gateway 处理msg.login 目录下的消息都会转发给boss 服务器,其他全部到scene 服务器转发代码在 game.gateway.GatewayService的 forwardFormUser 函数 scene 和 boss 服务器处理消息的过程是。继承需要处理的消息的Hander 实现处理函数 比如 game.scene.handler 下面的那些类 使用@Component 声明成组件,被spring自动装配,处理消息时注意线程,可以参考之前的代码 线程安全和数据一致性全部依赖同一用户的消息永远在一个固定线程内处理 客户端开发调试客户端使用layabox 1.6.1开发 使用as3 语言开发 使用layabox 打开 client 内的 laya-client 项目 主文件是GameMain.as3 ,使用layabox 调试的时候修改 GameMain内的服务器地址 搜索 变量serverUrl node-client使用 nodejs 的打包构建的相关东西先安装nodejs 环境,然后还需要 https://www.npmjs.com/package/imagemagick-native 然后进入目录执行 npm install然后安装gulpjs 安装好环境后 gulp dist 打包客户端,压缩优化代码和文件到 node-cliet的dist目录gulp webclient 打包客户端,输出到 server/project/distribution/src/static 下面gulp cordova 打包客户端,输出cordova下面 cordova安装好nodejs 环境准备cordova 环境。 |
请发表评论