全区全服PVP服务器管理策略

本文探讨了一种适用于全区全服的游戏PVP架构方案。该方案通过将逻辑服与大厅服进行合理分配,并利用特定进程管理战斗服,实现了玩家间的有效匹配与战斗。通过详细流程介绍,展示了如何实现玩家加入战斗的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载请注明:http://blog.youkuaiyun.com/herm_lib/article/details/8654396


首先我们要确定的是,能做全区全服的前提是,游戏不能有公共空间,就那种任何人都可以随便进出,然后有视野的空间,像MMORPG新手村,主城之类的;而副本、战场是带有私有性的局部空间,你的角色进出是有条件的。这两个的区别很关键。

下面来看一下全区全服带有PVP服务器的一种处理策略。结构可以尽量做到简化,逻辑服与大厅服像下面这样:

              

这里的lobbyd1(图中少了d了,不管了,改图太麻烦)是管理pvpd进程用的,一个lobbyd管理多个pvpd,而且lobbyd之间没有任何关联。

我们再看一下,lobbyd和pvpd是怎么关联起来的。


pvpd主动连接到lobbyd上。我们这里逻辑服(logicd)和战斗服(pvpd)走了不同的接入服。


我们简单地描述一下处理流程,某一个角色加入战斗的大致过程(可能细节上有偏差):

[1]  获取战斗的房间号,根据房间号hash到某个lobbyd;

[2] 登记到lobbyd,这个目的是让其他人可以看到某些房间人数之类的,同时获取pvpd的地址信息(比如ip&port)和进入凭证(ticket);(像房间人数之类的能否从pvpd获取?)

[3] 根据上面的地址信息,连接到指定的pvpd, 根据房间号和凭证进入指定房间;

[4] 战斗....

[5] 战斗结束,断开连接。

我们这里pvpd用了独立的接入服,因为一般战斗的消息包是10个以后,所以做一次连接和断开的动作是可接受。

                                    

      





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值