UNPKG

occaecatidicta

Version:
128 lines (72 loc) 5.1 kB
title: 快速入门 --- ## 环境依赖 操作系统:支持 macOS,Linux,Windows 运行环境:node.js建议选择 LTS 版本,最低要求 8.x ## 安装 Omelox 可以直接安装在应用程序中,也可以安装在全局。 ```sh npm i omelox -g // 安装在全局 npm i omelox --save // 安装在应用 ``` ## 新建项目 使用omelox的命令行工具可以快速创建一个项目,命令如下: $ omelox init ./HelloWorld 或者你也可以使用下面的三个命令: $ mkdir HelloWorld $ cd HelloWorld $ omelox init 这两种创建方式是等价的,更多关于omelox命令行使用的文档,请参阅[omelox命令行工具使用](omelox命令行工具使用)。在初始化项目的时候,用户需要选择其底层使用的通信协议(**暂时只支持1 websocket模式**),分为socket.io和websocket。 然后,进入到HelloWorld文件夹,安装依赖包: $ sh npm-install.sh windows用户,可以直接运行 `npm-install.bat` ## 项目目录结构 让我们来看看一个omelox项目的大致结构 新建立的项目结构如下图所示: ![项目目录结构](images/HelloWorldFolder.png) 该目录结构很清楚地展示了游戏项目的前后端分层结构,分别在各个目录下填写相关代码,即可快速开发游戏。下面对各个目录进行简要分析: #### game-server game-server是用omelox框架搭建的游戏服务器,以文件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](http://expressjs.com)框架搭建的web服务器,以文件app.js作为入口,当然开发者可以选择Nginx等其他web服务器。如果游戏的客户端不是web的话,如Android平台的话,这个目录就不是必须的了。当然,在这个例子中,我们的客户端是web,所以web服务器还是必须的。 ## 启动项目 对于我们这个例子来说,由于客户端是web,所以必须启动game-server(游戏服务器)和web-server(web服务器) 编译game-server服务器: $ cd game-server $ npm run build 启动game-server服务器: $ cd dist $ omelox start 启动web-server服务器: $ cd web-server $ node app 在启动过程中可能会有端口号冲突导致启动不成功,只需在config里面修改使用的端口号即可。如果上面的启动都没有问题的话,我们就可以对我们的HelloWorld进行测试了。用浏览器(推荐使用chrome)访问 `http://localhost:3001`或者 `http://127.0.0.1:3001` 即可, 点击Test Game Server,提示 *game server is ok* 说明运行成功,如下图所示: ![test](images/helloworld_test_snapshot.png) ## 查看服务器 可以使用`omelox list`查看已经启动的服务器,如下图所示: ![test](images/list_snapshot.png) 服务器状态可以查看5种状态信息: * serverId:服务器的serverId,同config配置表中的id。 * serverType:服务器的serverType,同config配置表中的type。 * pid:服务器对应的进程pid。 * heapUsed:该服务器已经使用的堆大小(单位:兆)。 * uptime:该服务器启动时长(单位:分钟)。 ## 关闭项目 可以使用以下两种方式关闭项目: $ cd game-server/dist $ omelox stop 或者 $ cd game-server/dist $ omelox kill 其中`omelox stop`比较优雅,`omelox kill`比较粗暴,安全性低,开发环境下可以使用,产品环境慎用,更详细的omelox命令行用法请参阅[omelox命令行工具使用](omelox命令行工具使用)。 ## 小结 到这里为止,我们已经成功安装了omelox,并成功运行了HelloWorld。接下来,建议你看一下omelox整体的一个较详细的概述。 如果你已经迫不及待地想写代码,可以去omelox例子教程, 那里以一个chat应用为例,一步一步地向你展示如何来使用omelox进行一个实际应用的开发,以及omelox的一些API的使用方式等。