2 Star 19 Fork 16

Nomat / CCCGame

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

lcc-framework框架工程模板文档

QQ交流群:861746804

什么是lcc-framework框架?

lcc-framework是专门为游戏开发引擎cocos creator设计的游戏开发框架,旨在帮助开发者更方便,更快速,模块化的开发单机或者网络游戏。该框架完整包含三个部分:

  1. 客户端框架及配套cocos creator插件。

    客户端框架是基于多分包的模块化游戏内容组织框架,并且提供UI、场景、多语言、配置、数据表、网络等系列便利功能。配套cocos creator插件主要为客户端框架服务,提供分包代码声明文件生成、游戏发布时框架裁剪等功能。框架代码提供了非常细致的裁剪功能,可以自定义框架保留的模块,并且对于小型项目也提供自动裁剪功能,即使是小游戏也可以使用该框架。
  2. 服务器框架及配套服务器发布与控制脚本。

    服务器框架是基于客户端框架开发的与之配套的框架,主要提供配置、数据库、日志、网络、数据表、工作者管理 等系列便利功能。服务器框架API和客户端框架API大部分一致,并且功能通用,比如网络模块是互通的,学习难度不会太高。配套服务器发布与控制脚本提供游戏服务器的发布与控制功能。当前游戏服务器使用typescript开发,在运行前是需要编译为javascript的,发布操作就是编译程序代码并且提取资源文件到发布目录。控制脚本可以控制多个服务器的启动和停止。
  3. 原始资源配置与构建工具。

    原始资源配置用于在外部配置游戏数据,主要提供数据表Excel表、多语言Excel表、通信协议配置等系列功能。该功能主要提供给策划使用Excel表格配置游戏常量数据,提供给开发者配置客户端和服务器之间通信协议(服务器与服务器之间也可以使用这些通信协议)。资源构建工具主要编译原始资源配置为客户端和服务器需要的解析格式。

该框架的三部分也可以单独或者部分使用。比如客户端框架及配套cocos creator插件 + 原始资源配置与资源构建工具适用于纯单机游戏,服务器框架及配套服务器发布与控制脚本 + 原始资源配置与资源构建工具适用于独立服务器,完整三个部分一起适用于网络游戏。

lcc-framework框架文档引用

使用软件安装说明

  • cocos creator 2.4.x 用于客户端。

  • Python3.x 用于构建脚本工具。并且安装依赖:

    • pip install fonttools 用于字体裁剪。
    • pip install ply 用于协议文件解析。
    • pip install xlrd==1.2.0 用于配置表格读取。
  • Nodejs 用于服务器,安装时最好查以下安装方法。并且安装依赖:

    • npm i typescript -g 用于使用Typescript进行开发。
    • npm i gulp -g 用于使用构建操作。

工程模板目录文件结构说明

    .
    ├── client (cocos creator 客户端工程目录,目前是测试用例工程)
    │   ├── @types (声明文件目录)
    │   ├── assets
    │   │   ├── lcc-framework (lcc-framework客户端框架)
    │   │   └── resources (resources分包目录)
    │   │       └── lcc-assets (构建的资源生成目录)
    │   ├── settings
    │   └── packages
    │       └── lcc-framework-client (lcc-framework客户端框架插件)
    ├── origins (资源配置根目录)
    │   └── resources (resource分包配置目录)
    │       └── assets (resource分包文字资源目录)
    ├── lcc-framework-scripts (资源构建脚本工具)
    └── server (服务器根目录)
        ├── assets (服务器资源目录)
        │   └── lcc-assets (构建的资源生成目录)
        ├── config (服务器配置文件目录)
        │   └── servers.json (服务器实例配置文件)
        └── node (Node服务器目录)
            ├── lcc-framework-server (lcc-framework服务器框架)
            ├── test (框架代码自动测试工程)
            ├── scripts (服务器发布于控制脚本工具)
            └── servers (业务服务器目录)
                ├── _test (测试用例服务器)
                └── _template (服务器模板)

上面只列出了比较重要的目录文件。并且在使用过程中如果不需要,可以选择移除client客户端目录或者server服务器目录。

工程模板初始化

  1. 安装工程模板子模块。

    当前工程模板依赖三个子模块:lcc-framework-clientlcc-framework-serverlcc-framework-scripts
    如果你是使用的Git拉取的本工程模板,可以直接在根目录执行Git的命令git submodule update --init --recursive,以更新子模块,注意client/packages/lcc-framework-clientlcc-framework-scripts需要切换到分支2.4.x。(如果是Git可视化工具请自行百度用法)
    如果你是复制的工程模板,那么就需要进行以下操作:

    • 下载Git源码https://gitee.com/nomat/lcc-framework-client分支2.4.x,解压放入client/packages目录。
    • 下载Git工程https://gitee.com/nomat/lcc-framework-server,解压放入server/node目录。
    • 下载Git工程https://gitee.com/nomat/lcc-framework-scripts分支2.4.x,解压放入根目录。
  2. 初始化服务器

    server目录内执行init,等待执行结束。

服务器发布与控制脚本说明

  1. 创建业务服务器

    server/node/servers 目录内存放游戏服务器,可以直接复制服务器模板_template直接修改。然后在server/config/servers.json文件中配置服务器。在服务器目录内,以 _ 开始的服务器目录只做本地调试使用,发布时会忽略这个服务器。
    例如,创建名为test服务器,直接复制一份_template,修改为test。然后配置server/config/servers.json文件如下:

        {
            // GID 整个工程ID,如果一台物理机上运行多个当前工程,那么这个值要不相同。
            "GID":"Game",   
    
            // 服务器列表
            "servers":[
                {
                    // 服务器ID,只要在这个工程中唯一就行
                    "PID" : "test",
    
                    // 启用这个配置
                    "enable" : true,
    
                    // 服务器为 test,  server/node/servers/test目录中服务器。
                    "server" : "test",
    
                    // 服务器配置文件
                    "config" : "${localpath}/server-test.json"
                }
            ]
        }

    config服务器配置文件路径,会在服务器创建的时候通过process.argv[2]传入。可以在服务器代码里面获取。
    注意:服务器启动的时候是执行服务器目录下的bin/main.js文件。如果不是使用的服务器模板,则要自己创建。

  2. 服务器工程的发布与控制。

    server目录内执行publishNode,则会在server/publish目录下生成以日期时间命名的发布工程目录。
    进入发布工程目录内,执行install以安装依赖。
    最后,使用gamectl start启动所有服务器;gamectl stop停止所有服务器;gamectl restart重启所有服务器。

  3. 启动测试用例服务器。

    在测试模板客户端用例的时候,需要首先启动测试服务器。
    进入server/node/servers/_test目录,使用vscode打开工作区,使用ctrl + shift + B打开任务列表,选择build回车执行,最后使用F5调试。如果vscode报错请自行百度原因。

MIT License Copyright (c) 2021 Nomat Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

lcc-framework框架工程模板。lcc-framework框架是为cocos cerator设计的基于多分包游戏内容组织框架。 展开 收起
TypeScript 等 3 种语言
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
TypeScript
1
https://gitee.com/nomat/cccgame.git
git@gitee.com:nomat/cccgame.git
nomat
cccgame
CCCGame
2.4.x

搜索帮助

14c37bed 8189591 565d56ea 8189591