KBEngine(CBE)引擎研究 (一) 启动正确的进程

简介

KBEngine引擎(后来官方改名为CBE,下同)是一套完善的游戏服务器引擎
底层采用C++编写,脚本采用的是python
官方文档:link: 文档

CBE文件夹构成

按照官方demo的操作手册:link: demo
可以看到目录结构是这样的:
在这里插入图片描述
也就是每一个项目都有一个自己独立的文件夹。他们会共享bke中的脚本,如果自己的项目文件夹中有同名脚本、配置都会优先采用。非常方便同时开发多个项目。

启动对应的服务器

那我们启动对应的服务器时,是进入对应的文件夹,启动里面的bat。
这里可以看下bat写了什么
打开startServer.bat

@echo off
set curpath=%~dp0

cd ..
set KBE_ROOT=%cd%
set KBE_RES_PATH=%KBE_ROOT%/kbe/res/;%curpath%/;%curpath%/scripts/;%curpath%/res/
set KBE_BIN_PATH=%KBE_ROOT%/kbe/bin/server/

if defined uid (echo UID = %uid%)

cd %curpath%
call "kill_server.bat"

echo KBE_ROOT = %KBE_ROOT%
echo KBE_RES_PATH = %KBE_RES_PATH%
echo KBE_BIN_PATH = %KBE_BIN_PATH%

start %KBE_BIN_PATH%/machine.exe --cid=1000 --gus=1
start %KBE_BIN_PATH%/logger.exe --cid=2000 --gus=2
start %KBE_BIN_PATH%/interfaces.exe --cid=3000 --gus=3
start %KBE_BIN_PATH%/dbmgr.exe --cid=4000 --gus=4
start %KBE_BIN_PATH%/baseappmgr.exe --cid=5000 --gus=5
start %KBE_BIN_PATH%/cellappmgr.exe --cid=6000 --gus=6
start %KBE_BIN_PATH%/baseapp.exe --cid=7001 --gus=7
@rem start %KBE_BIN_PATH%/baseapp.exe --cid=7002 --gus=8 --hide=1
start %KBE_BIN_PATH%/cellapp.exe --cid=8001 --gus=9
@rem start %KBE_BIN_PATH%/cellapp.exe --cid=8002  --gus=10 --hide=1
start %KBE_BIN_PATH%/loginapp.exe --cid=9000 --gus=11

可以看到启动很简单
只需要在vs中设置好启动参数,例如:--cid=9000 --gus=11

VS中设置环境变量启动

实际启动后会发现大量报错。再仔细研究下bat文件,发现上边还设置了3个临时环境变量。那这个东西怎么搞呢?

在visual studio中 项目->调试->环境这里面可以设置启动进程时的环境变量。
设置之后发现依旧不行,经过调试发现,环境变量设置的不对,看起来vs并没有支持多个环境变量的设置。

经过一段时间的搜索,发现这是vs中一个老bug。终于找到了解决方案。
可以看最后的一个回复。
link:stacoverflow

解决方案

在vs安装目录,所有xml后缀的文件,查找包含‘LocalDebuggerEnvironment’的文件
我本机vs2017,文件名为debugger_local_windows.xml
找到LocalDebuggerEnvironment的位置,把该项中的Separator 改成 Separator="
" (不要直接复制,手动写入这几个字符)
于是在项目->调试->环境中就可以通过回车设置多个环境变量。

但这个设置有问题,不支持%%这个关键词,于是最终设置的会比较丑陋
以loginapp为例,以我本机路径为例,环境变量设置如下:
KBE_ROOT=E:\code\kbe\kbengine-2.3.5
KBE_RES_PATH=E:\code\kbe\kbengine-2.3.5/kbe/res/;E:\code\kbe\kbengine-2.3.5\kbengine_demos_assets-2.1.0/;E:\code\kbe\kbengine-2.3.5\kbengine_demos_assets-2.1.0/scripts/;E:\code\kbe\kbengine-2.3.5\kbengine_demos_assets-2.1.0/res/
KBE_BIN_PATH=E:\code\kbe\kbengine-2.3.5/kbe/bin/server/

除此之外还有一个uid可以设置,这个需要在bat中修改,同时vs中环境变量也要添加

到此,我们这个进程就可以使用vs启动成功了,加载的也是对应项目中的配置和脚本。

猜你喜欢

转载自blog.csdn.net/qq_37543025/article/details/86656638
今日推荐