# 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修正。