kbengine环境搭建(2)
做好准备工作后,可以开始搭建我们的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:服务端默认配置,在此用户可以修改cellapp、baseapp、loginapp等所有的组件配置。
注意:你可能经常需要对引擎进行升级,直接修改此处可能在升级时产生冲突,另外也不适合多个项目放在同一KBEngine环境的情况。
建议在kbengine.xml中进行重载修改,你只需要对想修改的部分按照格式在xml中重写就可以了。
kbengine.xml:服务端配置,在此用户可以修改cellapp、baseapp、loginapp等所有的组件配置。
简单项目运行配置更改
1.项目运行时需要检测服务器的mysql数据库的大小写敏感问题 配置mysql安装文件中的 my.ini中的 [mysqld] 在后面添加 lower_case_table_names=2
2.项目基本配置KBE_ROOT\assets\res\server\kbengine.xml
系统环境变量
UID:自定义,服务器组标识(1~32767)
KBE_ROOT:kbengine引擎根目录
KBE_RES_PATH:项目资源路径
KBE_BIN_PATH: 项目可执行文件路径
运行kbengine
运行服务端KBE_ROOT\assets\start_server.bat
kbengine环境搭建(2)的更多相关文章
- .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门
2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...
- Azure Service Fabric 开发环境搭建
微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...
- rnandroid环境搭建
react-native 环境搭建具体步骤这个大家已经玩烂了,这个主要是记录下来自己做win7系统遇到的坑 1.com.android.ddmlib.installexception 遇到这个问题,在 ...
- python开发环境搭建
虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...
- springMVC初探--环境搭建和第一个HelloWorld简单项目
注:此篇为学习springMVC时,做的笔记整理. MVC框架要做哪些事情? a,将url映射到java类,或者java类的方法上 b,封装用户提交的数据 c,处理请求->调用相关的业务处理—& ...
- 【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~
一.写在前面 web开发有前端和后端之分,其实android还是有前端和后端之分.android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发.androi ...
- Nexus(一)环境搭建
昨天,成功搭建了自己的 Maven 环境(详见:Maven(一)环境搭建),今天就来研究和探讨下 Nexus 的搭建! 使用背景: 安装环境:Windows 10 -64位 JDK版本:1.7 Mav ...
- 「译」JUnit 5 系列:环境搭建
原文地址:http://blog.codefx.org/libraries/junit-5-setup/ 原文日期:15, Feb, 2016 译文首发:Linesh 的博客:环境搭建 我的 Gith ...
- appium+robotframework环境搭建
appium+robotframework环境搭建步骤(Windows系统的appium自动化测试,只适用于测试安卓机:ios机需要在mac搭建appium环境后测试) 搭建步骤,共分为3部分: 一. ...
随机推荐
- Android 如何修改自动同步数据的默认开关 M
前言 欢迎大家我分享和推荐好用的代码段~~ 声明 欢迎转载,但请保留文章原始出处: CSDN:http://www.csdn.net ...
- oracle 游标-------转
-- 声明游标:CURSOR cursor_name IS select_statement --For 循环游标 --(1)定义游标 --(2)定义游标变量 --(3)使用for循环来使用这个游标 ...
- 《转》Java 信号量 Semaphore 介绍
该文章转自:http://www.cnblogs.com/whgw/archive/2011/09/29/2195555.html Semaphore当前在多线程环境下被扩放使用,操作系统的信号量是个 ...
- JSON 解析器。JSON.stringify和JSON.parse
以前用的是JavaScript 的eval. 现在JSON 提供了JSON.stringify和JSON.parse两个函数. JSON.parse用于从一个字符串中解析出json对象. JSON. ...
- Ubuntu下获取Nexus7的Root权限
一.准备 下载获取Root权限的工具包. 下载地址: http://downloadandroidrom.com/file/Nexus7/rooting/Nexus7Root.zip 二.解锁 Ubu ...
- tomcat oracle 连接池配置
<?xml version='1.0' encoding='utf-8'?> <Context displayName="zcgl" docBase=" ...
- [Leetcode][Python]25: Reverse Nodes in k-Group
# -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 25: Reverse Nodes in k-Grouphttps://oj. ...
- Ubuntu adb devices 出现??? no permissions 的解决方法
在ubuntu 12.10下运行adb devices出现: List of devices attached ???????????? no permissions 1.用命令: lsusb 以 ...
- sublime text 插件开发
前言:术语和参考资料 sublime text 2的扩展模式相当的丰富.有多种方法可以修改语法高亮模式以及所有的菜单等.它还可以创建一个新的build系统,自动补全,语言定义,代码片段,宏定义,快捷键 ...
- 面向对象程序设计-C++_课时26拷贝构造Ⅰ_课时27拷贝构造Ⅱ
一旦写了一个类,给它3个函数: 1default construtor 2virtual destructor 3copy constructor Constructions vs. assignme ...