# fusion **Repository Path**: jallyx/fusion ## Basic Information - **Project Name**: fusion - **Description**: MMORPG项目底层库实现。 - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 3 - **Created**: 2018-08-07 - **Last Updated**: 2023-04-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # fusion #### 项目介绍 MMORPG项目底层库实现。 #### 软件架构 异步任务实现:将逻辑线程的可独立任务剥离到其它线程去执行,并在任务完成后将结果返回主线程。
Lua绑定库:C++封装,让C++与Lua之间尽量做到无缝交互。
MySQL封装:简化MySQL的C++调用接口。
网络层:MMORPG项目的核心之一,所有与网络交互的功能都被封装在此模块中,如异步发包、TCP沾包处理、接受连接、发起连接等,简而言之,你将不再需要关心或了解网络编程,所有的脏活、累活它都已经替你完成了。
RPC实现:简化RPC远程调用。
时间轮定时器:效率极高的一种定时器实现。
AOI的九宫格、十字链表实现。
类Protobuf的代码生成工具,可以用于生成自动打包消息体的代码,然而它的主要功能是用于辅助序列化具有json字段的数据表,当然也支持将结构体打包成json字符串。
其它一些工具类,算了,自己去发掘吧,external目录下的代码基本上都属于此类。 #### 安装教程 1. CentOS 7.x CentOS7默认采用的是MariaDB数据库,鉴于这个数据库现在跟MySQL差别越来越大了,所以建议还是替换成原生的MySQL数据库。
下载地址如下:
https://dev.mysql.com/downloads/mysql/
不过,既然用的是Linux系统,还是上yum工具吧!
在如下地址可以找到仓库包:
https://dev.mysql.com/downloads/repo/yum/
安装仓库:
yum localinstall -y https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
安装开发包:
yum install -y mysql-community-devel 安装Boost开发包:
yum install -y boost-devel 以下开发包不是必须的,但是默认编译会用到。
yum install -y openssl-devel
yum install -y libcurl-devel
yum install -y zlib-devel
yum install -y lz4-devel 最后还需要一个构建工具CMake,用来检测编译是可以通过的,代码绝对没有语法错误。
yum install -y cmake 2. Visual Studio 2015 请参考如下地址:
https://gitee.com/jallyx/fusion4windows #### 使用说明 本项目只是一个游戏底层库的实现,不是游戏框架。重要的事情说3遍,这不是游戏框架,命名就已经暗示了它是工具类代码的一个合集,至少对于我个人而言,我已经将项目中用到的基础代码全部移到了这儿。
所以它的目标是,在不改变一个项目设计框架的情况下,帮助你优化项目底层。
细节不多说了,明白的人自然明白,不明白的人我也懒得解释了。 #### 参与贡献 不支持新功能开发,只接受BUG修正。