Pinus学习

Pinus学习运行架构 客户端通过 websocket 长连接连到 connector 服务器群 connector 负责承载连接 并把请求转发到后端的服务器群 后端的服务器群主要包括按场景分区的场景服务器 area 聊天服务器 chat 和状态服务器等 status 这些服务器负责各自的业务逻辑 真实的案例中还会有各种其它类型的服务器

大家好,我是讯享网,很高兴认识大家。
运行架构

 

  • 客户端通过websocket长连接连到connector服务器群。
  • connector负责承载连接,并把请求转发到后端的服务器群。
  • 后端的服务器群主要包括按场景分区的场景服务器(area)、聊天服务器(chat)和状态服务器等(status), 这些服务器负责各自的业务逻辑。真实的案例中还会有各种其它类型的服务器。
  • 后端服务器处理完逻辑后把结果返回给connector, 再由connector广播回给客户端。
  • master负责统一管理这些服务器,包括各服务器的启动、监控和关闭等功能。
架构抽象

前端服务器(frontend)的职责:

  • 负责承载客户端请求的连接
  • 维护session信息
  • 把请求转发到后端
  • 把后端需要广播的消息发到前端

后端服务器(backend)的职责:

  • 处理业务逻辑, 包括RPC和前端请求的逻辑
  • 把消息推送回前端

安装

使用pinus的命令行工具可以快速创建一个项目,命令如下:

$ pinus init ./demo

或者
$ mkdir demo
$ cd demo
$ pinus init

安装依赖包

$ sh npm-install.sh

或windows  直接运行 npm-install.bat

 
讯享网

 

 game-server

game-server是用pinus框架搭建的游戏服务器,以文件app.js作为入口,运行游戏的所有逻辑和功能。在接下来的开发中,所有游戏逻辑、功能、配置等都在该目录下进行

  • app子目录

这个目录下放置所有的游戏服务器代码的地方,用户在这里实现不同类型的服务器,添加对应的Handler,Remote等等。

  • config子目录

game-server下config包括了游戏服务器的所有配置信息。配置信息以JSON文件的格式进行定义,包含有日志、master、server等服务器的配置信息。该目录还可以进行扩展,对数据库配置信息、地图信息和数值表等信息进行定义。总而言之,这里是放着所有游戏服务器相关的配置信息的地方。

  • logs子目录

日志是项目中不可或缺的,可以对项目的运行情况进行很好的备份,也是系统运维的参考数据之一,logs存放了游戏服务器所有的日志信息。

 shared

shared存放一些前后端、game-server与web-server共用代码,由于都是javascript代码,那么对于一些工具或者算法代码,就可以前后端共用,极大地提高了代码重用性

 web-server

web-server是用express 3.x框架搭建的web服务器,以文件app.js作为入口,当然开发者可以选择Nginx等其他web服务器。如果游戏的客户端不是web的话,如Android平台的话,这个目录就不是必须的了。当然,在这个例子中,我们的客户端是web,所以web服务器还是必须的。

启动:

       windows需要安装下载模块到node_modules

  cd game-server   

  npm i 或者 npm install

      编译game-server服务器:

启动game-server服务器:

启动web-server服务器:

关闭项目

    windows关闭命令窗口就行

$ cd game-server/dist
$ pinus stop
或者

Pinus官网中文地址:

Pinus - 让做游戏变得简单

小讯
上一篇 2025-03-08 08:01
下一篇 2025-02-05 19:24

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/56325.html