KBEngine
一个开源的、跨平台的MMO服务器引擎
服务器编程概述(一)
第1章:概览
这个文档包含了一些有关KBEngine引擎创建实体和用户数据结构的参考信息。这是描述KBEngine引擎系统的更详细的一篇文章。
如果要参考API信息,请参阅KBEngine 脚本API文档。
实体是组成游戏世界的一种数据结构。通过实体,你可以创建玩家、NPC、战利品、聊天室或者是其他一些可以在你游戏里面交互的东西。
每个实体都是由很多Python脚本作为具体实现,然后用XML文件把这些文件关联在一起组成的。这些文件都位于<res>文件夹下面的script文件夹里面(即<res>/scripts),这里的<res>的位置是由环境变量KBE_RES_PATH来定义的。
在官方的DEMO中,这个环境变量是这么写的:
Windows: KBE_RES_PATH =%KBE_ROOT%/kbe/res;%KBE_ROOT%/demo/;%KBE_ROOT%/demo/res/
Linux: KBE_RES_PATH=$KBE_ROOT/kbe/res/:$KBE_ROOT/demo/:$KBE_ROOT/demo/res/
因为有了环境变量,所以您随时可以更改res文件夹的所在位置。
下面的这个清单列举了有关实体的重要文件夹和文件:
|- res (工程的所有资源)
|- server (通常放置服务端相关的配置文件)
|- scripts (所有的游戏逻辑,python文件)
|- entities.xml (实体声明文件)
|- base (Base的Python逻辑)
|- cell (Cell的Python逻辑)
|- client (Client的Python逻辑)
|- bots (机器人的Python逻辑,压力测试)
|- common (逻辑公共文件夹)
|- data (游戏逻辑用到的数据资源)
|- db (dbmgr扩展脚本)
|- entity_defs (实体定义与声明)
|- <entity>.def (实体定义文件,这是定义entities.xml中每个实体的文件)
|- interfaces (实体的接口声明)
|- server_common (服务端逻辑公共)
|- user_type (自定义用户类型目录)
|- alias.xml (工程中数据类型