Code Monkey home page Code Monkey logo

kbengine / kbengine Goto Github PK

View Code? Open in Web Editor NEW
5.4K 547.0 2.3K 325.88 MB

A MMOG engine of server.

Home Page: https://kbengine.github.io

License: Other

Shell 1.95% Python 27.24% CSS 0.06% HTML 1.11% Makefile 5.04% C++ 11.81% C 48.27% CMake 0.18% Perl 3.77% Inno Setup 0.01% Awk 0.02% XSLT 0.01% Java 0.01% Assembly 0.49% XS 0.01% eC 0.01% Emacs Lisp 0.01% Scheme 0.01% Prolog 0.03% SAS 0.01%
kbengine unity3d mmog-engine mmorpg gameserver unrealengine server game-server

kbengine's Introduction

KBEngine

Build Status Appveyor (Windows) Build  Status

Homepage

https://kbengine.github.io/

Releases

Sources		: https://github.com/kbengine/kbengine/releases/latest

Demo sources

Unity3d		: https://github.com/kbengine/kbengine_unity3d_demo/releases/latest
Unity3d		: https://github.com/kbengine/kbengine_unity3d_warring/releases/latest
UE4		: https://github.com/kbengine/kbengine_ue4_demo/releases/latest
Ogre		: https://github.com/kbengine/kbengine_ogre_demo/releases/latest
Cocos2d_js	: https://github.com/kbengine/kbengine_cocos2d_js_demo/releases/latest
Godot Engine	: https://github.com/krogank9/kbe_godot_demo/releases/latest

Docs

Docs		: https://kbengine.github.io/docs/
API		: https://github.com/kbengine/kbengine/tree/master/docs

Support

Email		: kbesrv?gmail.com
QQ		: 3603661
BBS		: http://bbs.kbengine.org
Maillist	: https://groups.google.com/d/forum/kbengine_maillist

Stresstest

https://www.youtube.com/watch?v=sWtk3CfxyGY
http://v.youku.com/v_show/id_XMjgyMjM0MTYwNA==.html?spm=a2h3j.8428770.3416059.1

What is KBEngine?

An open source MMOG server engine. 
Just use Python scripting to be able to complete any game logic simply and efficiently (supports hotfixing).
Various KBEngine plugins can be quickly combined with (Unity3D, OGRE, Cocos2d-x, HTML5, etc.) technology to 
form a complete game client.

The engine is written in C++, and saves developers from having to re-implement common server-side 
technology, allowing them to concentrate on game logic development, to quickly create a variety of games.

(Because it is often asked what the upper limit of the load is that KBEngine can handle, the underlying 
architecture has been designed as a multi-process distributed dynamic load balancing solution. In theory, 
by continuously expanding the hardware, the upper limit of the load can also be continuously increased. 
The upper limit of the capacity of a single machine depends on the complexity of the game logic itself.)

Create a new game asset library

Execute:
	new_assets.bat

Output:
	server_assets

中文

官网论坛,QQ交流群:461368412、16535321、716679842

什么是KBEngine?

一款开源的MMOG游戏服务端引擎,
仅Python脚本即可简单高效的完成任何游戏逻辑(支持热更新),
使用配套客户端插件能够快速与(Unity3D、UE4、OGRE、HTML5、等等)结合形成一个完整的客户端。

引擎使用C++编写,开发者无需重复的实现游戏服务端通用的底层技术,
将精力真正集中到游戏开发层面上来,稳定可靠并且快速的打造各种网络游戏。

(经常被问到承载上限,KBEngine底层架构被设计为多进程分布式动态负载均衡方案,
理论上只需要不断扩展硬件就能够不断增加承载上限,单台机器的承载上限取决于游戏逻辑本身的复杂度。)

kbengine's People

Contributors

10406201 avatar 1958 avatar basesrv avatar bitdeli-chef avatar bydreamxxx avatar caodhuan avatar casinohe avatar chenlinyan avatar dora-byr avatar finchcn avatar gamegrd avatar huhubis avatar jacob0407 avatar jay602 avatar jyunfan2015 avatar kbengine avatar kebiao avatar klights avatar krogank9 avatar liudaafang avatar lupurs avatar mssk12315 avatar rc3097 avatar ruleless avatar sdayu avatar sersoong avatar srvbots avatar u3dkbe avatar worldg avatar zhuyeaini avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kbengine's Issues

服务端启动不安全

可能还在组网过程中逻辑已经开始了, 这时候可能会访问一些全局共享数据但数据未同步过来

onGlobalData多次接收bug

在第一台baseapp启动时创建SpaceMgr entity,且在init中注册SpaceMgr到globalData,会在KBEngine.onGlobalData接收到两次,而如果延迟10s注册到globalData就没有问题。

邮箱注册会有问题。

往kbe_accountinfos写pending账号时dbid都为0造成索引重复, 出错后会写失败造成注册失败。

字典中<Persistent>false</Persistent>存储时会出错。

<ITEM>  FIXED_DICT
    <Properties>
        <uid>       <Type>  INT32       </Type> </uid>
        <id>        <Type>  INT32   </Type> </id>
        <amount>    <Type>  INT32   </Type> </amount>
        <order>     <Type>  INT16   </Type> </order>
        <extra>
            <Type>  BLOB    </Type>
            <DatabaseLength> 1024 </DatabaseLength>
        </extra>
        <tmpExtra>
            <Type>  BLOB    </Type>
            <Persistent>false</Persistent>
        </tmpExtra>
    </Properties>
</ITEM>
<ITEMS>     ARRAY       <of>            ITEM                        </of></ITEMS>   

jemalloc加入测试

如果达到测试预期则默认linux中使用, 用户可以调整编译选项来关闭。

error

Components::checkComponentUsable: packet invalid(recvsize(0) != ctype_cid_len(13).

线程中导致资源回收问题

Core was generated by `./dbmgr --cid=401 --grouporder=1 --globalorder=401'.
Program terminated with signal 11, Segmentation fault.
#0 ?? () at /home/daikeliang/kbengine/kbe/src/lib/dependencies/boost/optional/optional.hpp:442

442 unspecified_bool_type safe_bool() const { return m_initialized ? &this_type::is_initialized : 0 ; }
Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.132.el6.x86_64 keyutils-libs-1.4-4.el6.x86_64 krb5-libs-1.10.3-15.el6_5.1.x86_64 libcom_err-1.41.12-18.el6.x86_64 libgcc-4.4.7-4.el6.x86_64 libselinux-2.0.94-5.3.el6_4.1.x86_64 libstdc++-4.4.7-4.el6.x86_64 mysql-libs-5.1.73-3.el6_5.x86_64 nss-softokn-freebl-3.14.3-9.el6.x86_64 openssl-1.0.1e-16.el6_5.7.x86_64 zlib-1.2.3-29.el6.x86_64
(gdb) where
#0 ?? () at /home/daikeliang/kbengine/kbe/src/lib/dependencies/boost/optional/optional.hpp:442
#1 0x0000000000713097 in reclaimObject (this=0xe54240, destroy=false) at /home/daikeliang/kbengine/kbe/src/lib/cstdkbe/objectpool.hpp:181
#2 KBEngine::DebugHelper::clearBufferedLog (this=0xe54240, destroy=false) at debug_helper.cpp:271
#3 0x000000000071392d in KBEngine::DebugHelper::onMessage (this=0xe54240, logType=, str=0x7f8bdcf99158 "Buffered_DBTasks::onFiniTask: Playing buffered task for entityID=1, dbid=0\n", length=)

at debug_helper.cpp:397

#4 0x00000000007147f0 in KBEngine::DebugHelper::info_msg (this=0xe54240, s="Buffered_DBTasks::onFiniTask: Playing buffered task for entityID=1, dbid=0\n") at debug_helper.cpp:496
#5 0x0000000000714924 in KBEngine::DebugHelper::info_msg (this=0xe54240, fmt=) at debug_helper.cpp:482
#6 0x0000000000626fa4 in KBEngine::Buffered_DBTasks::tryGetNextTask (this=0x7fffc16b1e90, pTask=) at buffered_dbtasks.cpp:160
#7 0x00000000006ea3fe in KBEngine::DBThread::tryGetTask (this=0x13ef4d0) at db_threadpool.cpp:68
#8 0x00000000006e3edc in KBEngine::thread::TPThread::threadFunc (arg=) at threadpool.cpp:617
#9 0x00000033168079d1 in start_thread () from /lib64/libpthread.so.0
#10 0x00000033164e8b6d in clone () from /lib64/libc.so.6

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.