原文地址:http://www.cnblogs.com/hellohuang/p/6294763.html 
# HMX-Server
HMX-Server分步式服务器框架,主要分为网关、登录、世界、场景、数据服务器,适用于大中小型项目

# 安装步骤
1. 下载后,将Source/dependence/下的boost,protobuf里面的lib.rar解压到当前目录
2. 安装Cmake-3.4 x64以上版本,vs2015 x64 ,mysql5.6 x64
3. 用Cmake进行创建方案然后并整个解决方案编译
4. 导入Source/sql/下的hmx-data.sql数据,数据密码配置在Source/WorldServer/serices.xml文件中
5. 在vs中按顺序启动WorldServer.exe、BServer.exe、GameServer.exe、LoginServer.exe、GatewayServer.exe或在Bin/Debug/中双击RunServers.bat启动服务器
5. 在vs中启动Client.exe或在Bin/Debug/双击Client.exe启动客户端进行测试

***
# 运行示例图

**世界服启动**

**数据服**

**场景服**

**登录服**

**网关服**

**客户端**

# 目录介绍
1. Bin/Debug/ 编译存放目录
2. Resource/ 配置及资源目录
3. Source/ 源代码文件

  • 1. Client/ 测试客户端
  • 2. DBServer/ 数据库处理服
  • 3. dependence/ 第三方依赖库
  • 4. FlatServer/ 平台方案服(跨平台转发协议用,暂未实现)
  • 5. GameServer/ 场景服务器
  • 6. GatewayServer/ 网关服务器
  • 7. HelpTools/ 工具项目(用于生成数据、处理数据辅助开发用)
  • 8. Include/ 共用引入文件
  • 9. LibNetMysql/ Mysql数据库封装类库
  • 10. LibNetSocket/ Socket封装类库
  • 11. LibProtocol/ Protocol协议类目录
  • 12. LibSrvcore/ 本项目共用类库
  • 13. LoginServer/ 登录服务器
  • 14. LogServer/ 日志服务器(数据库日志、暂未实现)
  • 15. MQServer/ 消息队列服务器(处理外部可延时事件,持久例事件处理,如充值、后台调用等;暂未实现)
  • 16. ShiftServer/ 区域管理服务器(暂未实现)
  • 17. sql/ 数据库更新记录目录
  • 18. WorldServer/ 世界服务器

4. vc14/ 这个是用cmake 生成的文件目录(名字自定)

# 服务器层级介绍
        平台服          <-----------平台服-------->Mysql(管理后台数据库)
          |
          / \
        区域服1 区域服2
          |
            / \             世界服、数据服、登录服
      世界服1 世界服N       <------------------------>Mysql(游戏数据库)
       / | \ \
       / | \ | \
       / | \ | \
    场景服1 场景服N \ <-> 数据服 <-> 登录服
      \ \      |       ---    /
       \       |(世界服)       /
        \    | /
        网关服1 网关服N

# NetSerivce.cpp 总管理器文件
1. 聚合了大部分该服务器的管理类,所有资源都需要从NetSerivce中获得,这样做的目的是将资源都聚合在一起,提供统一接口,方便记忆与管理,比如:你所找要的资源->NetSerivces实例对象->get各个资源类->get所需要的资源
2. NetSerivce也包括了main函数,启动程序的入口
3. serivces.xml配置文件以WorldServer/目录下的为准,当重新编译WorldServer时,会自动将它拷贝到Bin/Debug和vs项目调度目录下

[github]https://github.com/huangzuduan/HMX-Server

HMX-Server C++ 分步式服务器大版本更新了(有源码)的更多相关文章

  1. 基于Zookeeper的分步式队列系统集成案例

    基于Zookeeper的分步式队列系统集成案例 Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, ...

  2. Apple公司Darwin流式服务器源代码分析

    当前,伴随着Internet的飞速发展,计算机网络已经进入到每一个普通人的家庭.在这个过程中,一个值得我们关注的现象是:Internet中存储和传输内容的构成已经发生了本质的改变,从传统的基于文本或少 ...

  3. 10Java Server Pages 隐式对象

    Java Server Pages 隐式对象 JSP隐式对象是Web容器加载的一组类的实例,它不像一般的Java对象那样用“new”去获取实例,而是可以直接在JSP页面使用的对象.JSP提供的隐式对象 ...

  4. Windows Server 2003搭建邮件服务器

    Windows Server 2003搭建邮件服务器 由于Windows Server 2003默认是没有安装我们搭建邮件服务器所需要的POP3和SMTP服务的,因此需要我们自己来安装.方法如下: 1 ...

  5. 转】Mahout分步式程序开发 聚类Kmeans

    原博文出自于: http://blog.fens.me/hadoop-mahout-kmeans/ 感谢! Mahout分步式程序开发 聚类Kmeans Hadoop家族系列文章,主要介绍Hadoop ...

  6. 转】Mahout分步式程序开发 基于物品的协同过滤ItemCF

    原博文出自于: http://blog.fens.me/hadoop-mahout-mapreduce-itemcf/ 感谢! Posted: Oct 14, 2013 Tags: Hadoopite ...

  7. Mahout分步式程序开发 聚类Kmeans(转)

    Posted: Oct 14, 2013 Tags: clusterHadoopkmeansMahoutR聚类 Comments: 13 Comments Mahout分步式程序开发 聚类Kmeans ...

  8. sql server登录名、服务器角色、数据库用户、数据库角色、架构区别联系

    原创链接:https://www.cnblogs.com/lxf1117/p/6762315.html sql server登录名.服务器角色.数据库用户.数据库角色.架构区别联系 1.一个数据库用户 ...

  9. Mahout分步式程序开发 基于物品的协同过滤ItemCF

    http://blog.fens.me/hadoop-mahout-mapreduce-itemcf/ Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, ...

随机推荐

  1. zepto学习之路--数组去重和原生reduce

    好吧开始读zepto的源代码,最前面给处理trim和reduce的原生实现,感觉写的很紧凑,其中reduce写的有点晦涩,个人感觉还不错.主要zepto的作者是无分号党,看起了有点不习惯. 3 if ...

  2. Linux:crontab的安装以及使用方法

    安装crontab: [root@wulaoer ~]# yum install vixie-cron [root@wulaoer ~]# yum install crontabs 说明:vixie- ...

  3. JAVA基础-多态

    多态 polymophism: 动态绑定, 迟绑定, 指在执行期间(java), 而不是编译期间(javac), 判断所引用对象的实际类型, 根据实际类型调用响应的方法. 3个条件: 1. 继承 2. ...

  4. JS中判定问题

    今天项目遇到一个很奇怪的问题,具体问题不好说明简化下,有如下一个方法: function editStu(index, rowData) { if (index == "") { ...

  5. Spring ---annotation (重点)--Resource, Component 重要!!!

    beans.xml: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="ht ...

  6. Linux内核源代码目录树结构

    Linux内核源代码目录树结构. arch:包含和硬件体系结构相关的代码,每种平台占一个相应的目录.和32位PC相关的代码存放在i386目录下,其中比较重要的包括kernel(内核核心部分).mm(内 ...

  7. iOS学习基本常识

    转发至:http://blog.sina.com.cn/s/blog_9266da3d010184i0.html 1. 了解main函数,  UIApplication是初始化程序的核心,它接受4个参 ...

  8. iOS关于UITabView和UIAlertController,UIAlertAction以及UINavigation,值修改的传递页面推送

    关于UITabView和UIAlertController,UIAlertAction以及UINavigation,值修改的传递 集合嵌套集合的操作 声明 两个必须的的代理 实现部分代码 - (voi ...

  9. 控制流之continue

    continue语句continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后 继续 进行下一轮循环.使用continue语句~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...

  10. Android如何监听蓝牙耳机的按键事件(转)

    源: Android如何监听蓝牙耳机的按键事件 写在前面: 直接想要代码很简单,你直接把滚动条拉到最底端就可以看到.如果想要十分地了解为什么,那就按照我规划的一步一步来理解.以下测试环境以手头上有的「 ...