`
eric_weitm
  • 浏览: 242203 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

网游服务端技术总结 基于mangos源码 (一)

阅读更多
整个game server的并发模型

一 概述
game server至少要提供如下几类的功能 :
  1、响应客户端请求-------WorldRunnable
  2、后台命令  -------CliRunnable
  3、分布式架构(RMI等) -------MaNGOSsoapRunnable

可以看到针对这几类功能,mangos都给予了支持。

二、WorldRunnable响应客户端请求的并发实现
  game server会提供很多服务,如组队、加好友、交易、走路、战斗……,从宏观上讲这些服务是同时对外提供的,另外IO操作是费时的,
必须将IO与逻辑处理分开,这样的话一个基本的实现是这样的:
1、开启IO线程,所有费时的操作交由此处处理   WorldDatabase.ThreadStart();
2、利用协程来实现各个子系统,或者利用心跳来实现各个子系统的调度(不能开很多线程,线程代价太高)

三、Mangos的心跳实现
void World::Update(uint32 diff)
  基本上包括几类:
  1、检查定时器---------------时间
  2、刷任务
  3、维护session---------------------人物
  4、全局环境更新(map、battleGround)--------地点
  5、处理服务器事件------------------事件
  6、其他(数据同步、后台调试、IO回调……)

四、game server运行的机制
  1、定时器触发
  2、事件触发(松耦合)

五、典型的一种service的实现方式
1、IO协程将cammand入队
2、worker协程 依次fetch、execute
   核心数据结构是线程安全的队列
分享到:
评论

相关推荐

    mangos源码(游戏服务器端程序框架)

    mangos不是一个魔兽私服模拟器,它是一个开源的自由软件项目,是用c++和C#编程语言,实现的一个支持大型多人在线角色扮演游戏服务器的程序框架,在这个框架下,它理论上应该支持任何客户端的网络游戏,由于现在很多...

    MANGOS源码-魔兽私服

    mangos不是一个魔兽私服模拟器,它是一个开源的自由软件项目,是用c++和C#编程语言,实现的一个支持大型多人在线角色扮演游戏服务器的程序框架,在这个框架下,它理论上应该支持任何客户端的网络游戏,由于现在很多...

    mangos_0.13_9506_MangOS9506_

    Mangos是一个开源的、免费的、基于Linux的服务器端实现,它允许用户在本地运行自己的魔兽世界服务器,无需连接到官方的Blizzard服务器。 Mangos的核心功能在于模拟原版游戏服务器的行为,包括角色移动、战斗逻辑、...

    mangos_0.13_9506_MangOS9506_源码.zip

    《MangOS 0.13 9506 源码解析与技术探讨》 MangOS 0.13 9506 是一个开源的操作系统内核版本,其源码提供了深入理解操作系统设计与实现的宝贵资料。在深入探讨这个源码之前,我们先来了解一下MangOS项目的基本情况。...

    Mangos_技术资料2.rar

    总之,下载并研究《Mangos_技术资料2.rar》将带你进入一个充满挑战和创新的世界,不仅能够深入了解《魔兽世界》背后的服务器技术,还能提升你在游戏服务器开发、数据库管理和网络编程等方面的专业技能。

    Linux MaNGOS-0.14.tar.gz MangOS

    MangOS是一款基于Linux操作系统的大型多人在线角色扮演游戏(MMORPG)服务器模拟器,它允许玩家在本地环境中运行自己的魔兽世界服务器,用于自定义游戏体验、测试或进行私人游戏。 **Linux基础** Linux是基于Unix的...

    mangos-0.9.0

    总的来说,"mangos-0.9.0" 是一个充满挑战与机遇的项目,它为魔兽世界爱好者提供了一个自由探索游戏世界的新平台,同时也为开发者提供了一个学习和实践网络服务端编程的实战环境。尽管初期可能需要投入一些时间和...

    开源的魔兽世界参考架构——mangos

    随着网络游戏的兴起和发展,越来越多的人开始关注网络游戏背后的服务器架构和技术实现。暴雪娱乐的《魔兽世界》作为一款全球知名的大型多人在线角色扮演游戏(MMORPG),不仅以其丰富的游戏内容和深度的故事背景吸引...

    基于mangos的websocket协议跨平台文件传输工具

    1. 文件无任何依赖可以编译成linux,window,arm平台都能使用 2. 单文件根据执行参数可以既可以当服务端用也可以当客户端用 3. 支持上传模式和下载...11. 基于websocket协议非常容易用nginx反向代理容易实现7层负载均衡

    mangos 0.16

    mangos项目是一个用C++编写的开源服务器端软件,其目标是完全模仿WoW的游戏逻辑和网络通信协议。这个项目不仅为游戏爱好者提供了自定义游戏环境的可能性,也为软件开发者提供了深入学习游戏服务器架构的机会。mangos...

    mangos开源魔兽世界服务器代码

    mangos是一个开源的、基于Linux的魔兽世界服务器实现,它允许开发者和爱好者研究、学习以及构建自己的魔兽世界私人服务器。本文将深入探讨mangos项目的细节,以便于理解其工作原理和技术特性。 一、mangos项目概述 ...

    mangos分析笔记

    通过阅读这些笔记,读者不仅可以了解Mangos的工作原理,还能学习到游戏服务器开发的相关技术,如数据库设计、网络编程、多线程处理以及游戏逻辑实现。这将对想要参与开源游戏项目或自建游戏服务器的开发者提供宝贵的...

    mangos_0.13_9183_MangOS9183_

    总结来说,MangOS 0.13 9183版是针对魔兽世界3.0.3客户端的一个强大私人服务器解决方案,它提供了一套完整的框架,让开发者可以构建自己的游戏环境。通过深入了解其核心升级和使用方法,我们可以更好地利用这个工具...

    mangos服务器架构.pdf

    Mangos服务器架构是一种游戏服务器架构,主要用于游戏服务器的设计和实现。该架构的核心组件包括登录服、游戏服和数据库等。登录服是游戏服务器的入口,负责验证用户的账号和密码,并提供游戏世界列表供用户选择。...

    魔兽世界MANGOS数据库分析.doc

    魔兽世界MANGOS数据库分析

    mangos-0.9.0在vs2010中编译通过

    版本0.9.0是Mangos的一个重要里程碑,提供了稳定的游戏体验。在Visual Studio 2010(VS2010)中编译Mangos-0.9.0可能对一些初学者来说是个挑战,但只要遵循正确的步骤,这个过程其实并不复杂。以下是一份详细的编译...

    纯java写的魔兽联机源码!绝对的好东西!

    这是一个纯java写的魔兽对战平台.不抓包.原理非常简单. 可以聊天,可以发布自己的魔兽主机.有人建立主机或者人满了也会有声音提示. 主机是自动发布的,不需要客服端搜索。 也不需要连、接转。整个过程就是一个局域网...

    Mangos Zero Server x64 Release

    这款服务器端是基于Mangos项目开发的,而Mangos项目是一个开源的、用于模拟魔兽世界服务器的软件,旨在为用户提供一个与官方服务器类似的游戏体验。 在Mangos Zero Server x64 Release中,“Zero”代表了其核心设计...

Global site tag (gtag.js) - Google Analytics