首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一种经典网游服务器架构

3- 这是一条本地TCP/IP连接,这条连接主要用来进行服务器组在登陆服务器注册,以及登陆服务器验证帐户后,向用户服务器注册帐户登陆信息,以及进行对已经登陆帐户角色信息进行操作(比如踢掉当前登陆角色...),还有服务器信息更新(当前在线玩家数量等)。...5- 这条连接也是一条本地TCP/IP连接,它用来进行公共信息服务器和数个游戏服务器交互,用来交换一些游戏世界级信息(比如公会信息,跨服组队信息,跨服聊天频道等)。...(毕竟连接次数少了,也降低了连不上服务器出现几率) 在这个架构里面,GameServer实际上是一个游戏逻辑综合体,里面可以再去扩展成几个不同逻辑服务器,通过PublicServer进行公共数据交换...4- 帐号验证完成之后,进行区内服务器选择。 5- 服务器选择完成之后,进入角色管理。同时,角色在不同服务器里不能共享。 市面上符合上面几个表现特征游戏相当多,而且也不乏旷世巨作。

1.6K40

关于网游分布式服务器讨论?

对于网络游戏而言,由于其主要游戏逻辑计算是在服务器端完成,数据同步与广播信息传递也是通过服务器完成,所以,是否拥有一个有经验服务器端设计人员已经成为一款网游产品能否成功关键之一。...谈到网络通信,就不能不涉及如下五个问题: 1、 常见网游服务通信器架构概述 2、 网游服务器设计基本原则 3、 网游服务器通信架构设计所需基本技术 4、 网游服务器通信架构测试 5、 网游服务器通信架构设计常见问题...下面我们就从第一个问题说起: 常见网游服务器通信架构概述   目前,国内网游市场中大体存在两种类型网游游戏:MMORPG(如:魔兽世界)和休闲网游(如:QQ休闲游戏和联众游戏,而如泡泡堂一类游戏与...而网游服务器通信架构设计,则包括了基于服务器组之上整个游戏世界通信架构,以及在一个服务器组之内服务器通信架构。   我们先来看看单独服务器组内部通信是如何设计。   ...各个网游项目会根据游戏特点不同,而灵活选择自己服务器组成方案。经常可以见到一种方案是:场景服务器、非场景服务器服务器管理器、AI服务器以及数据库代理服务器

1.5K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    网游类似魔兽世界服务器维护都是在干嘛?

    程序团队最重要是缩小 Bug 影响,比如热更新屏蔽玩法,然后解决 Bug。有时候硬件故障会导致整个服务器某些结点负载不均衡,或者万一数据库服务器挂了就得赶紧切数据库。...另外看到很多答案都说重启服务器,其实我想说,我们真的很少重启服务器。每次重启代价都很大。除非硬件更新或者特殊情况是不会重启服务器。...其实一般意义上讲服务器重启可以理解为两种,一种是硬件重启,一种是服务器进程重启。硬件重启比较少,服务器进程重启基本上是必须。 很多人问为什么硬件重启代价很大。感觉大家回答。我直接把评论补充上来。...@曦和风 如果是自动启动程序的话没有问题,但是服务器很多系统配置和软件设置都要开机后重新折腾,同时,还要和其他服务器通信,恢复到启动前状态,或者从其他服务器同步信息,正确处理关机期间各种操作,事情多...(吐槽一下谁让 EVE 用是 Windows 服务器呢。)

    2.2K120

    简单实用网游服务器架构 - GameRes游戏新闻网

    简单实用网游服务器架构 此文并不是聚润堂所在公司当前运营网游游戏服务器架构,而是在看过了近十个商业网游架构,在现阶段心目中规划简单实用网游服务器架构。...网游本质是人和人之间关系,人越多,关系越多,越能把人留住。...开服头三天,人数是最多,为了保证一个月后,玩家等级达到一定等级,策划玩法都可以完全展开,单组服务器容纳人数越多越好,如果是PVE结构游戏,最好能容纳1万人左右。...这样在一个月后流失率50%情况下,还有5000人左右在一组服务器内,已经产生比较强大社会结构,各种高级玩法才有进行基础。如果是PVP洗用户游戏,容纳人数越高越好。...gls:game login server,游戏登录服务器,某种程序上,其不是核心组件,gls调用外部接口,进行基本用户名密码认证。

    1.4K50

    服务器双线什么意思?有什么使用优势?

    对于企业而言服务器至关重要,它几乎链接着企业业务,也是员工业务沟通桥梁,为了保持服务器稳定持续工作,很多企业都很关心服务器双线问题,相对来说现在大部分企业使用都是服务器双线,那服务器双线什么意思...双线是指电信和联通,双线服务器其实是通过科技手段,在一台服务器或多台服务器中接入电信和联通ISP服务,这样一台服务器上就能同时获得双线线路,从而提高网络互访速度,从根源上解决网络延迟卡顿问题,提高访问者访问网页时流畅体验...服务器双线处理能够有效解决电信和联通不互通问题,能够同时想用双线服务,另外,使用双线服务器能够提高网速,提升访问者访问网页流畅度和舒适度,因此大部分企业都会选择使用服务器双线。...综上,相应概念就为大家介绍到这,相信看到这里有的业主会询问这类服务器价格贵不贵,相比之下双线服务器要比单线服务器自然贵一些,不仅多了一条线,硬件和IP等方面也不同,如果企业业务量较大,网页访问人数比较多...,为了良好网页体验,建议企业选用双线服务器

    3.2K40

    简单实用网游服务器架构 - GameRes游戏新闻网

    简单实用网游服务器架构 此文并不是聚润堂所在公司当前运营网游游戏服务器架构,而是在看过了近十个商业网游架构,在现阶段心目中规划简单实用网游服务器架构。...网游本质是人和人之间关系,人越多,关系越多,越能把人留住。...开服头三天,人数是最多,为了保证一个月后,玩家等级达到一定等级,策划玩法都可以完全展开,单组服务器容纳人数越多越好,如果是PVE结构游戏,最好能容纳1万人左右。...这样在一个月后流失率50%情况下,还有5000人左右在一组服务器内,已经产生比较强大社会结构,各种高级玩法才有进行基础。如果是PVP洗用户游戏,容纳人数越高越好。...gls:game login server,游戏登录服务器,某种程序上,其不是核心组件,gls调用外部接口,进行基本用户名密码认证。

    1.7K70

    服务器租用单线、双线、bgp 相比有哪些区别优势?

    我们常说单线服务器双线服务器和bgp服务器就是机房线路不一样。...单线服务器往往是指单线电信服务器、单线网通服务器双线服务器则是指电信、网通、移动同时有2家线路接入双线服务器,我们常说BGP多线服务器由于电信与网通覆盖率是最高,所以主要也是指由拥有电信与网通双线路组成双线服务器和...在服务器租用或是服务器托管中,bgp和单线服务器相比,选择双线服务器有哪些优势? 1、双线服务器可以有效解决南方电信与北方网通互联网通信存在瓶颈,解决南北访客访问需求。...2、提供双线服务器IDC服务商骨干路由设备能够判断到IDC机房最佳路由,实现电信访客访问电信线路,网通访客访问网通线路,以保证不同网络运营商用户访问服务器速度。...如果用户群体不固定的话,还是建议大家选择双线服务器租用,因在单线服务器租用与双线服务器租用价格方面相差不会太多,却是能保证南北不同地区以及不同运营商用户之间访问速度。

    5K50

    网游服务器架构设计需要考虑一些关键因素

    相对于Casual Game网游来说,MMORPG本身游戏设计方面的特性就决定了MMORPG 服务器设计和实现难度会更大、对服务器系统要求更高。这个难度又主要体现在服务器架构设计方面。...服务器组架构(Server Cluster Architecture)主要评价标准包括: Stability,稳定性 稳定提供游戏服务,是服务器系统确保用户体验最基本要求。...Efficiency,效率 服务器运行时效率主要体现在服务器系统承载能力上。...如果这种情况出现,也常常会导致开发人员工作耦合,在日常开发中,工作效率就难以保证。想象一下要Debug某个模块时候需要手动在不同远程服务器上更新开启3、5个不同服务器程序。...在网游服务器架 构设计上考虑内容上可扩充性,也是有必要,通过技术细节改进总可以得到或多或少改进,但是在架构设计阶段就考虑到可扩展性才是聪明做法。 作者:JerryWang

    1.2K40

    服务器托管双线技术方案怎么写_自己搭建内网穿透服务器全端口

    双IP双线路实现方式是指在一台服务器上安装两块网卡,分别接入电信网线与网通网线并设置一个网通IP与一个电信IP,这样一台服务器上就有了两个 IP地址,需要在服务器上添加网通或电信路由表来实现网通用户与电信用户分别从不同线路访问...本双IP双线路接入法在一定程度上提高了网通与电信用户访问网站速度,但缺点是由于服务器接入是双网卡必须在服务器上进行路由表设置,这给普通 用户增加了维护难度,并且所有的数据包都需要在服务器上进行路由判断然后再发往不同网卡...二、 单IP双线路 普通单IP双线路是指在服务器上设置一个IP,此IP是网通IP或是电信IP,通过路由设备设置数据包是通过是电信网络或是网通网络发出来实现 双线技术。...服务器上行路由与下行路由都能选择最优路径,所以能真正实现高速单IP双线访问。 2....双IP双线成本较低,但网络不够稳定并且占用大量服务器资源;普通单IP双线路只是实现了部分双线效果所以访问速度不稳定;CDN方式对静态网页效果很好但对交互性很强网页效果不太理想,而且维护工作量要增加较大

    3.5K100

    网游内存数据库设计(2)

    先贴出测试前端服务器代码: #include "netservice.h"#include "msg_loop.h"#include "datasocket.h"#include "SysTime.h...前端网络模块使用了在上一篇中介绍网络框架,启动时先插入100W条32位整型记录,然后进入消息循环,不断处理从客户端发过来操作请求....服务器处理协议并将结果返回给客户端. 然后是测试客户端: ?...操作接口使用用户级线程实现,以支持同步调用接口,用户级线程发出请求后就阻塞自己,直到结果返回时才被唤醒: 关键部分在test_select,把自己coro地址作为id打包到协议中,发往服务器,然后调用...服务器返回数据包 中也带了对应coro_id,以通知客户端调度系统该唤醒哪个coro.coro被唤醒后从结果包中读取操作结果和数据,返回给上层调用者.

    93540

    由全民吃鸡引发网游加速学习总结

    通过网游加速来保障网络流畅和稳定实在是太重要了。 二、 一起来熟悉网游加速 1、网游加速目的 网游加速目的是为了让个人用户能够快速地连接到游戏服务器,让用户游戏更流畅。...表1——中国大陆国际出口理论网络延迟 图2——如何有效降低国内访问国外游戏服务器网络延迟是个综合性问题 3、网游加速基本原理 网游加速器主要是在骨干网发挥作用。...为了提升网络互联速度,网游加速器厂商专门搭建或租用了高带宽双线机房,架设多个节点服务器,编写网络加速器客户端,借助节点服务器来高效完成玩家跨网连接游戏服务器请求。...它需要部署双线V**服务器作为加速节点,用于电信和联通之间自动快速切换。客户端通过加速服务器自动选择速度最快服务器。...1、实现框架 游戏加速网游加速主要是通过代理加速。依据代理加速基本原理,需要依赖LSP注入以及部署socks5服务器来实现如下图4。

    14.2K150

    为什么go语言适合开发网游服务器

    网游角度看: 要成功运营一款网游,很大程度上依赖于玩家自发形成社区。只有玩家自发形成一个稳定生态系统,游戏才能持续下去,避免鬼城出现。...再来看网游常见玩法,除了排行榜这类统计和数据汇总功能外,基本没有需要大量CPU时间应用。以前项目里,即时战斗产生各种伤害计算对CPU消耗也不大。...玩家要完成一次操作,需要通过客户端-服务器端-客户端这样一个来回,为了获得高响应速度,满足玩家体验,服务器处理也不能占用太多时间。所以,每次请求对应CPU占用是比较小。...针对网游这些特点,golang语言特性十分适合开发游戏服务器端。 首先,go语言提供goroutine机制作为原生并发机制。...进行网游开发程序员,可以将游戏逻辑按照单线程阻塞式写,不需要额外考虑线程调度问题,以及线程间数据依赖问题。

    1.6K70

    为什么go语言适合开发网游服务器

    前段时间在golang-China读到这个贴:有木人用(或打算)golang做游戏服务器端? 个人觉得golang十分适合进行网游服务器端开发,写下这篇文章总结一下。...从网游角度看: 要成功运营一款网游,很大程度上依赖于玩家自发形成社区。只有玩家自发形成一个稳定生态系统,游戏才能持续下去,避免鬼城出现。...玩家要完成一次操作,需要通过客户端-服务器端-客户端这样一个来回,为了获得高响应速度,满足玩家体验,服务器处理也不能占用太多时间。所以,每次请求对应CPU占用是比较小。...针对网游这些特点,golang语言特性十分适合开发游戏服务器端。 首先,go语言提供goroutine机制作为原生并发机制。...进行网游开发程序员,可以将游戏逻辑按照单线程阻塞式写,不需要额外考虑线程调度问题,以及线程间数据依赖问题。

    2.9K60

    高效网游服务器实现探讨 - jack-wang - C++博客

    高效网游服务器实现探讨 随着多核处理器普及,如何充分利用多核并行工作就成为高性能程序设计一个重点。本系列文章将围绕高性能网游服务器实现,探讨这方面的技术。...网游服务器特点是: 具有大量客户端连接(数百至数千个),每个客户端都以一定速率不断发送和接收数据; 服务器数据流量通常在几个至几十个Mbps之间; 数据需要实时处理; 数据包具有时序关系,往往需要按照严格先后顺序予以处理...网游服务器实际上代表了一类典型新兴流数据处理服务器。这里只是为了讨论方便而限定于网游服务器,但是所讨论原理和技术应该是普适。 同步多线程技术肯定是无法满足要求。...请参考其双锁算法伪码。 现在来讨论游戏消息传送。在一个网游运营成本中,带宽费用应该是很大一块。因此如何高效编码以及收发消息就成为节省运营成本关键。这里面能做很多文章。...我们知道聊天和语音消息优先级比较低,而且可以通过专门服务器来处理。真正比较关键、能够影响玩家游戏体验,是那些状态变更、动作、玩家之间或者玩家和服务器/NPC之间实时交互消息。

    1K110

    网游内存数据库设计(2)

    先贴出测试前端服务器代码: #include "netservice.h"#include "msg_loop.h"#include "datasocket.h"#include "SysTime.h...前端网络模块使用了在上一篇中介绍网络框架,启动时先插入100W条32位整型记录,然后进入消息循环,不断处理从客户端发过来操作请求....服务器处理协议并将结果返回给客户端. 然后是测试客户端: ?...操作接口使用用户级线程实现,以支持同步调用接口,用户级线程发出请求后就阻塞自己,直到结果返回时才被唤醒: 关键部分在test_select,把自己coro地址作为id打包到协议中,发往服务器,然后调用...服务器返回数据包 中也带了对应coro_id,以通知客户端调度系统该唤醒哪个coro.coro被唤醒后从结果包中读取操作结果和数据,返回给上层调用者.

    1.1K80

    一种用于网游服务器支持多路复用网络协议处理框架

    应用背景: 在网络游戏服务器设计中,一般都会遇到协议多路复用场景。比如登录服务器和玩家客户端之间有1:N多个TCP连接;登录服务器和游戏服务器之间是1:1TCP连接。...玩家登录游戏大致流程是这样: 玩家连接登录服务器 登录服务器向数据库请求玩家数据 登录服务器获取到玩家数据,把玩家数据转发给游戏服务器进行加载包括创建玩家对象等 登录服务器获取到加载成功回应后,通知玩家客户端可以进入游戏世界...在3和4中,因为登录服务器和游戏服务器通常只有一个TCP连接,所有玩家数据都是通过这个连接进行传输,所以需要从协议包中区分出是哪个玩家数据。...协议说明: 通常网游网络协议都是报文形式,即使底层是使用TCP,也会用一些方法把数据拆分成一个个报文(本文中称为协议包)。...比如登录服务器等待游戏服务器加载玩家数据结果通知。 发送一个数据包,不需要回应。比如游戏服务器加载玩家数据后,给登录服务器发送结果通知。

    1K100

    网游服务器架构设计需要考虑一些关键因素

    相对于Casual Game网游来说,MMORPG本身游戏设计方面的特性就决定了MMORPG 服务器设计和实现难度会更大、对服务器系统要求更高。这个难度又主要体现在服务器架构设计方面。...服务器组架构(Server Cluster Architecture)主要评价标准包括: Stability,稳定性 稳定提供游戏服务,是服务器系统确保用户体验最基本要求。...Efficiency,效率 服务器运行时效率主要体现在服务器系统承载能力上。...如果这种情况出现,也常常会导致开发人员工作耦合,在日常开发中,工作效率就难以保证。想象一下要Debug某个模块时候需要手动在不同远程服务器上更新开启3、5个不同服务器程序。...在网游服务器架 构设计上考虑内容上可扩充性,也是有必要,通过技术细节改进总可以得到或多或少改进,但是在架构设计阶段就考虑到可扩展性才是聪明做法。 作者:JerryWang

    1.2K140

    网游内存数据库设计(1)

    首先,网络游戏数据在数据库中是以表形式保存,每个玩家数据占用其中一行或几行.以玩家基本属性为例: 基本表: chainfo 表结构:chaid,chaname,hp,mp,maxhp,maxmp...为了提高查询效率,在内存中建立一个大hash-table,hash-table中只支持两种数据结构:变长list和定长 array.list用以表示集,array表示数据行.根据建立逻辑索引,...,list就是这个玩家所有任务集合,如果游戏逻辑需要获取这个玩家任务列表,可以通过以下key获取"mission,chaid,1001".当然仅有一个行集是不够, 因为当用户某个任务数据变动时,...必须遍历list,找到正确array再将变动更新到正确array中.而网络游戏中最频繁就是更新操作了,为了提高效率,为每一个 任务行建立一个逻辑索引"chaid,missionid",将任务对应数据行也存放在...我做法不是在array被删 除时通知所有的list删除对应array,而是通过db_array_clear,清除array中存放有效数据。

    1.1K70

    一种用于网游服务器支持多路复用网络协议处理框架

    应用背景: 在网络游戏服务器设计中,一般都会遇到协议多路复用场景。比如登录服务器和玩家客户端之间有1:N多个TCP连接;登录服务器和游戏服务器之间是1:1TCP连接。...玩家登录游戏大致流程是这样: 玩家连接登录服务器 登录服务器向数据库请求玩家数据 登录服务器获取到玩家数据,把玩家数据转发给游戏服务器进行加载包括创建玩家对象等 登录服务器获取到加载成功回应后,通知玩家客户端可以进入游戏世界...在3和4中,因为登录服务器和游戏服务器通常只有一个TCP连接,所有玩家数据都是通过这个连接进行传输,所以需要从协议包中区分出是哪个玩家数据。...协议说明: 通常网游网络协议都是报文形式,即使底层是使用TCP,也会用一些方法把数据拆分成一个个报文(本文中称为协议包)。...比如登录服务器等待游戏服务器加载玩家数据结果通知。 发送一个数据包,不需要回应。比如游戏服务器加载玩家数据后,给登录服务器发送结果通知。

    87560

    网游内存数据库设计(1)

    首先,网络游戏数据在数据库中是以表形式保存,每个玩家数据占用其中一行或几行.以玩家基本属性为例: 基本表: chainfo 表结构:chaid,chaname,hp,mp,maxhp,maxmp...为了提高查询效率,在内存中建立一个大hash-table,hash-table中只支持两种数据结构:变长list和定长 array.list用以表示集,array表示数据行.根据建立逻辑索引,...,list就是这个玩家所有任务集合,如果游戏逻辑需要获取这个玩家任务列表,可以通过以下key获取"mission,chaid,1001".当然仅有一个行集是不够, 因为当用户某个任务数据变动时,...必须遍历list,找到正确array再将变动更新到正确array中.而网络游戏中最频繁就是更新操作了,为了提高效率,为每一个 任务行建立一个逻辑索引"chaid,missionid",将任务对应数据行也存放在...我做法不是在array被删 除时通知所有的list删除对应array,而是通过db_array_clear,清除array中存放有效数据。

    1.4K60
    领券