category

Mmo

共 180 篇文章。
全部文章GolangGameSaasRustPythonJava游戏开发客户端开发GameDevTypescriptCocosEngineMmoLua
mmo

《MMO 服务器开发》13.2 公会仓库与捐献流水

公会仓库是多人共享的资产容器,捐献则是一份只增不改的流水账。本节用 aegis 从零实现:仓库按物品种类限槽但允许无限堆叠,捐献用请求号幂等去重避免重试翻倍,提现按职位控权并按日限额。重点讲清「先判幂等再写库存」的顺序为什么是正确性的关键,并用真跑的 L1 测试验证重试不翻倍、超额提现被拦、跨日重置生效。

6 分钟阅读
MMO 游戏服务端 玩法系统
mmo

《MMO 服务器开发》13.1 入会、职位与权限

公会系统是 MMO 里第一个跨玩家的持久组织:入会有自由与审批两种策略,职位有会长到成员五级,权限是一张职位到动作的位掩码表。本节用 aegis 从零实现单服公会模型——把权限收敛成一张可审计的表、让入会与审批幂等、把职位变更约束在层级之内,并用真跑的 L1 测试钉死满员竞态、重复申请与越级任免三条边界。

7 分钟阅读
MMO 游戏服务端 玩法系统
mmo

《MMO 服务器开发》11.3 好友关系与关系一致性

好友关系是 MMO 里最容易不一致的共享状态:它是双向的,一次只写一半就会留下「半边关系」。本节把关系图建成有向边、把双向一致写死成不变量、用全局唯一的 opID 幂等窗口挡住重发,并给出半边检测与补偿的实现,呼应卷一的幂等窗口与顺序保证,让关系一致从口头约定变成机器可验证的断言。

6 分钟阅读
MMO 游戏服务端 玩法系统
mmo

《MMO 服务器开发》11.2 敏感词与限速治理

敏感词与限速是聊天管线的两级治理:前者挡内容,后者挡频率,两者都必须便宜到能挂在每条消息的同步路径上。本节用 AC 自动机实现一次扫描命中所有敏感词、用每玩家每频道的令牌桶限速,再把禁言、限速、过滤串成一条顺序固定、可 go test 的三级管线,并给出本机实测的匹配开销对照。

7 分钟阅读
MMO 游戏服务端 玩法系统
mmo

《MMO 服务器开发》10.3 每日重置与时区窗口

每日任务几点重置,是整条时间链上最容易被时区坑掉的地方:主机在哪个时区、夏令时怎么切、时钟被 NTP 往回拨一下会不会重置两次。本节把「今天」钉在一个固定时区上,用「日键」而不是时间减法判断跨天,并让重置跟踪器只向前触发,最后用真跑的测试覆盖边界、周界与时钟回拨。

8 分钟阅读
MMO 游戏服务端 玩法系统
mmo

《MMO 服务器开发》10.1 任务依赖图与循环检测

任务表里一条前置关系画错,整条任务线就会锁死:玩家接了 A 却发现要先完成 B,而 B 又要求先完成 A。本节把任务配置建成有向图,用 Kahn 算法做拓扑排序,用三色 DFS 把设计者画错的那一圈环精确指出来,再用一组真跑的 Go 测试证明正常表能排出合法顺序、环表能被定位到具体节点。

7 分钟阅读
MMO 游戏服务端 玩法系统
mmo

《MMO 服务器开发》8.3 装备与强化

装备是背包里唯一同时带「位置」和「个体属性」的东西。本节实现装备位与换装(旧装备换下回背包),给出按等级配置成功率、材料消耗与保底等级的强化表;强化在同一事务里扣材料、失败掉级、材料不足整笔回滚,随机源由调用方注入以保证可复现,产出的强化等级作为第 9 章属性计算的输入。

8 分钟阅读
MMO 游戏服务端 玩法系统