zoukankan      html  css  js  c++  java
  • kbengine环境搭建(2)

    1.简单介绍

    2.环境搭建

    3.FQA

    4.代码执行流程

    做好准备工作后,可以开始搭建我们的kbengine服务端,运行成功kbengine服务端,共有9个服务会相应的被打开,并会全部提示【info】found all components!

    准备工作

    1.在github上下载项目最新的源码

    2.下载测试的客户端源码(这里使用unity3d)

    kbengine服务端源码目录介绍

    当前目录为: KBE_ROOT根目录

    KBE_ROOT/assets【KBE_ROOT/kbengine_demos_assets】:游戏工程例子根目录

      res :工程的所有资源

        server:放置服务端相关配置

      scripts:所有游戏逻辑的相关python文件

        base、cell、client :(python逻辑)

        bots:机器人测试的python逻辑

        common:公共文件

        data:逻辑的数据资源

        db:dbmgr的扩展文件,数据访问操作

        entity_defs:实体定义

          interface:实体接口定义

        server_common:服务端公共逻辑

        user_type:自定义用户类型目录

        login.....:游戏具体实现python逻辑

    KBE_ROOT/doc:API文档及项目指南

    KBE_ROOT/kbe:引擎目录

      tools:工具

        server:服务端工具

          guiconsole:可视化的控制台工具

          install:引擎安装工具

          pycluster:跨平台python脚本集群控制工具

        xlsx2py:游戏数据表导出工具

      src:KBEngine源代码

        build:makefile公共脚本

        client:客户端插件和例子目录

        lib:项目模块源代码

          client_lib:客户端底层公共框架

          cstdkbe:标准库

          db_mysql:Mysql数据库实现

          dbmgr_lib:数据操作公共接口

          dependencies:依赖库

          entitydef:实体解析模块

          helper:协助性模块

          math:数学公式相关模块

          navigation:2d/3d导航模块

          network:网络处理模块

          pyscript:脚本插件

          python:python源代码

          resmgr:资源管理器

          server:服务端公共模块

          thread:多线程模块

          xml:xml文件解析模块

        libs:编译后的lib文件存放

        server:服务端源代码

          cellapp:与位置信息相关的游戏逻辑

          baseapp:客户端通信,与位置无关的游戏逻辑(公会、聊天、大厅、排行)

          loginapp:处理实体的注册与登录

          dbmgr:实体数据存储与查询

          machine:机器人 实体压力测试

          tools:服务端助手工具

            bots:压力测试源码

            guiconsole:可视化控制台源码

            logger:日志管理器

            interface:接口管理器

      res:引擎资源目录

        key:RSA密钥

        scripts:python脚本库

        server:服务端引擎配置

          log4cxx_properties:日志配置

      bin:编译后的项目可执行文件存放位置

        server:编译后的客户端存放目录

    unity3d_demo源码介绍

    Assets

      Plugins
        kbengine:KBEngine插件层(包含了网络消息处理、客户端实体维护、与服务端对接层)
       Scripts
         kbe_scripts:客户端逻辑脚本层
          Account.cs:对应于服务端的账号实体的客户端部分实现
          Avatar.cs:对应于服务端的角色实体的客户端部分实现
          clientapp.cs:按照服务端的概念cellapp、baseapp、etc,这里我们抽象出一个clientapp
          Combat.cs: 对应于服务端的def interfaces/Combat的客户端部分实现
          GameObject.cs:对应于服务端的def interfaces/GameObject的客户端部分实现
          Gate.cs:对应于服务端的Gate实体的客户端部分实现
          Monster.cs: 对应于服务端的Monster实体的客户端部分实现
          NPC.cs:对应于服务端的NPC实体的客户端部分实现
          Skill.cs:一个简单的不能再简单的技能执行类,服务端cell/skill下面也有,而客户端主要是进行一些检查
          SkillBox.cs:玩家的技能列表,对应于服务端的def interfaces/Skillbox的客户端部分实现
          SkillObject.cs:技能对象(施法者、目标、受术者等),服务端cell/skill下面也有
          u3d_scripts:客户端UI等表现层
          UI.cs:处理UI部分
          World.cs: 处理场景世界部分
          GameEntity.cs:所有服务端同步过来的实体在表现层都必须继承该类,完成统一的表现(头顶名称、血条等)与控制(实体状态、移动)

    相关配置介绍

    entities.xml:服务端所有有效的实体类型必须在此进行注册,引擎初始化时会根据此处依次加载实体的描述信息。

    kbengine_defs.xml:服务端默认配置,在此用户可以修改cellappbaseapp、loginapp等所有的组件配置。
    注意:你可能经常需要对引擎进行升级,直接修改此处可能在升级时产生冲突,另外也不适合多个项目放在同一KBEngine环境的情况。
    建议在kbengine.xml中进行重载修改,你只需要对想修改的部分按照格式在xml中重写就可以了。 

    kbengine.xml:服务端配置,在此用户可以修改cellappbaseapp、loginapp等所有的组件配置。

    简单项目运行配置更改

    1.项目运行时需要检测服务器的mysql数据库的大小写敏感问题 配置mysql安装文件中的 my.ini中的 [mysqld] 在后面添加 lower_case_table_names=2 

    2.项目基本配置KBE_ROOTassets esserverkbengine.xml

    系统环境变量

    UID:自定义,服务器组标识(1~32767)

    KBE_ROOT:kbengine引擎根目录

    KBE_RES_PATH:项目资源路径

    KBE_BIN_PATH: 项目可执行文件路径

    运行kbengine

    运行服务端KBE_ROOTassetsstart_server.bat

  • 相关阅读:
    Visual Studio 编译使用 Trilinos中 Belos库 求解线性方程组 (待续)
    Visual Studio编译使用CLAPACK
    Visual Studio 页面文件太小,无法完成操作
    wpf中的BringToFront
    想买的书
    远程桌面使用matlab报错License Manager Error -103的解决办法
    工厂模式-理解Spring的Bean工厂(马士兵经典例子)
    面向对象、继承封装、多态小例子(马士兵)
    检查pod版本及更新pod
    mac之开发中的环境配置
  • 原文地址:https://www.cnblogs.com/z-yue/p/5789292.html
Copyright © 2011-2022 走看看