Posts 第二课:游戏服务器架构概要
Post
Cancel

第二课:游戏服务器架构概要

《轩辕传奇》——MMORPG分区多世界的服务器架构

运营的视角

Screen Shot 2021-04-06 at 20.09.49

运维的视角

Screen Shot 2021-04-06 at 20.11.46

客户端的视角

Screen Shot 2021-04-06 at 20.13.48

大世界(无缝地图):将一个大地图分成不同的区域,每个区域用一个进程去承载,所有控制也需要一个主进程去承载。

跨世界共享:不同世界接触到的相同东西,单独提出来作为公共服务进行处理。主备从架构。

逻辑处理和持久化数据再同一个物理机上遇到的问题:

  • DB的IO太多
  • 日志文件
  • 物理机故障

将相对独立、变化少的功能(如邮件系统)拆分出来。

慎用多线程,除非只有单一职责,否则不要用多线程。主线程里逻辑太过复杂会需要添加很多锁。

切分的原则:

Screen Shot 2021-04-06 at 20.35.45

接入与负载

Screen Shot 2021-04-06 at 20.39.58

可用性

Screen Shot 2021-04-06 at 20.43.53

在线控制

Screen Shot 2021-04-06 at 20.47.00

GM系统:管理员系统,通过聊天室上传,给GM开通权限。

经分系统:对日志进行解析,连接到一个展示页面。

过载保护

Screen Shot 2021-04-06 at 20.53.27

hacker用户非正常高频请求。

DB设计

Screen Shot 2021-04-06 at 21.03.38

《轩辕传奇》——各类服务介绍

版本升级

Screen Shot 2021-04-06 at 21.04.51

版本服务器进行版本管理。

目录服务

Screen Shot 2021-04-06 at 21.05.45

每段时间上报一下。

角色登录

world/scene

Screen Shot 2021-04-06 at 21.06.36

难点:跨进程的异步事务的复杂,到引入协程。

运营支持

Screen Shot 2021-04-06 at 21.12.20

脏字过滤:起名系统、聊天系统;同一套组建加不同的策略。

验证码过滤:恶意挂机问题。AI进行识别真人玩家与挂机脚本。

This post is licensed under CC BY 4.0 by the author.

第一课:敲打的是乐趣

第三课:浅谈游戏后台开发+游戏技术人员的野望

Trending Tags