扫描打开手机站
随时逛,及时抢!
当前位置:首页>综合资讯>

公司内部资料!游戏上线前部署准备,就这新手都行

公司内部资料!游戏上线前部署准备,就这新手都行

时间:2023-06-21 22:14:18 来源:网络整理 作者:bianji123

前言

游戏快结束了。 是时候准备在线测试部署了。 选择一家靠谱的云服务器厂商还是很重要的。 这次我打算尝试使用华为云的服务。 为了上线前做好充足的准备,我先做一下预览。 赶时间的时候可以节省时间,也可以为其他同事做一个文档记录。

1. 游戏架构简介

1.1 服务器架构

不同公司的游戏服务器架构不同,所以部署的具体细节大多不同,但基本的部署准备工作还是一样的。 我们先看一下我们的游戏架构,以便读者朋友们了解后续的准备工作。

1.1.1 服务器角色具体介绍

: 游戏客户端。

:网关服务器,这里不托管游戏的链接,只分发游戏服务器的地址,玩家从gate服务器获取官方游戏服务器的ip和端口。

game:玩家主要驻留的游戏服务器只有一个。

room:房间服务器,玩家匹配进入战斗后会进入战斗服务器,如果战斗较多,可以动态扩展。

gm:后台管理服务器,可发布活动或管理玩家数据。

redis:这个主要用来做缓存,避免频繁的数据库访问压力。

mysql:主要用于数据持久化。

1.1.2 玩家数据流

()通过http访问gate ,获取游戏服务的ip和端口。

通过获取到的ip和端口直接连接到游戏服务器,方便玩家登录服务器。

当玩家操作角色进行匹配战斗时,匹配成功后所需的数据会发送到房间服务器,所有的战斗命令也会发送到房间服务。

当玩家需要查询数据时,比如背包,游戏服务器会先像redis一样查询,如果数据不存在,就会像mysql一样查询,查询到数据后,会存到缓存中。

当玩家的角色数据发生变化时,比如获取新的道具,此时就需要对数据库进行操作,游戏服务器会先更新数据库,再更新缓存。

通过向游戏服务器发出命令,在发布事件和修改玩家数据时使用 gm。

1.1.3 服务间交互协议

http协议:主要出现在访问场景比较少的地方,gate、game、Gm之间。

dubbo协议:主要用于内部服务器之间的数据交换。 优点是简单直接,就像操作本地方法一样。

: 主要用在game和game之间,因为这个是网页游戏服务器,所以用到。

1.2 部署方法

这里使用的方法有几个原因:

规范应用发布,避免环境问题。

节省时间,便于快速部署和启动。

队友更加熟悉,减少了犯错的可能性。

2. 部署准备

2.1 环境准备

2.1.1 机器准备

对服务器的配置进行表统计,准备好服务器即可。 下表为华为云官网参考。

注:具百思特网体价格实际以官网价格为准

2.1.2 方案组成

弹性云服务器(ECS):是一种可弹性扩展的计算服务,可在云端随时自助服务,帮助创建安全、可靠、灵活、高效的应用环境。

云数据库RDS for MySQL:开箱即用、稳定可靠、运行安全、弹性伸缩、易管理、经济实用等特点,让客户更专注于业务发展。

分布式缓存服务Redis版:业界首款支持Arm和x86双架构的Redis云服务,支持双机热备HA架构,提供单机、主备、代理集群、集群、读写分离实例类型以满足高读需求、弹性配置变化的写入性能场景和业务需求。

云日志服务LTS:提供一站式日志采集、秒级搜索、海量存储、结构化处理、转储、可视化图表等功能,满足应用运维、网络日志可视化分析、安全合规、和运营分析。 场景。

弹性公网IP EIP:弹性公网IP(IP)提供独立的公网IP资源,包括公网IP地址和公网出口带宽服务。 可灵活与弹性云服务器、裸机服务器、虚拟IP、弹性负载均衡、NAT网关等资源绑定和解绑,提供公网访问和被公网访问的能力。 具有多种灵活的计费方式,满足不同业务场景的百思特网需求。

2.2 镜像准备

准备好的镜像打包推送到私有仓库。 具体方法可以使用一些插件,也可以使用,或者手动推送。 无论哪种方式,这里都是可能需要的手动命令。

2.2.1 安装服务

2.2.2 封装镜像

将jar包复制到同一目录,执行以下命令打包镜像。

2.2.3 将镜像打包为本地文件

图像导出为压缩包,方便传输。

2.2.4 解压镜像

登录服务器后,将上述文件复制到本机,使用以下命令将镜像导入到本机:

2.3 部署脚本

注:以上为开发环境,部分环境变量是默认的,正式环境部署时需要动态调整

2.4 注意事项

网关服务器需要开通公网ip。

excel配置文件要提前规划好,挂载到脚本中

挂载的数据目录和日志目录需要提前规划好。

每个服务器内部的端口映射要提前规划好

脚本中需要修改环境变量,包括mysql和redis数据库地址,要连接的服务器ip和端口,以及相关的服务器配置等。

3. 正式部署

3.1 环境研究

游戏痛点:

新游戏发布,大量玩家在线,高并发访问扩展不及时;

网络延迟高、游戏卡顿、玩家离线; 自建周期长、成本高,且无法弹性扩展。

大多数游戏服务器都是计算密集型的,因此游戏服务器云厂商选择的核心点如下:

资源扩展能力,可及时扩展,按需灵活购买资源,实现动态扩展,成本优化,支持游戏开服、扩服、合服等场景下的业务运营。

带宽稳定,华为云内网带宽转发效率高,ELB亿级并发,网络结构动态自动优化,持续、稳定、高效、低时延的网络。

在安全防御方面,华为云提供单线T级DDoS高防IP服务和百万QPS级CC防护。 基于黑客攻击机器学习、业务风控大数据智能隔离等AI能力,保障手游长期安全运行。

易用、资费便宜是每个企业的追求。 降本增效,多种计费方式,初期预算低,按需使用,用多少付多少,有效缓解企业启动资金压力,节省资金。

概要:华为云游戏云部署解决方案,提供覆盖全球的云基础设施,支持千万级玩家同时在线稳定运行,助力游戏企业打造精品游戏,保证游戏部署灵活,运营无忧和维护。

3.2 服务器购买

以下是购买时的一些服务器截图,可以作为参考配置,正式生产环境会根据资源进行动态配置。

注:点击查看大图

3.3 华为云核心优势总结

数据库能力:在高并发场景下,性能稳定性优于竞品 Mysql主备切换效率优于竞品。

海外地区亚太覆盖:华为的网络质量(延迟和丢包)普遍优于竞争对手。 (日本、韩国、越南、台湾除外)。

算力:ECS——同类型ECS比竞品提升15%,PPS领先,容器——快速供应,性能比开源提升20%。

网络能力:内网带宽转发效率最高。 ELB亿级并发。

安全防护:华为云构建安全平台,隔离租户,提供完善的安全服务,保障业务和数据安全,为您的游戏保驾护航。

运维极简:运维工作上云,平台为游戏客户提供7*24小时服务,专人保障,专家支持,保障重大赛事业务稳定。

数据可靠性高:通过合理的商业和技术努力,ECS服务承诺单实例维度每个服务周期的服务可用率不低于99.975%; 单地域多可用区维度每个服务周期的服务可用率不低于99.995%; 基于分布式架构,可弹性扩展的虚拟块存储服务,具有高数据可靠性和高I/O吞吐量,可保证任意一个副本发生故障时数据的快速迁移和恢复,避免单一硬件故障导致的数据丢失

3.4 机器环境准备

3.4.1 安装

远程登录机器后,切换到root用户,执行以下命令安装环境

3.4.2 复制文件到目标百思特网

文件列表如下:

按照2.2相关命令将镜像文件复制到本地。 如果您使用私有仓库,则无需执行此步骤。

将配置文件复制到机器上,将所有excel配置文件复制到机器上,在启动脚本中配置挂载

启动脚本,在规划的目录下创建并修改启动脚本,并设置相应的参数。

3.4.3 脚本执行

所有文件准备好后,切换到脚本所在目录,直接启动脚本。 我们以游戏为例

3.4.4 验证服务器是否正常

先查看所有服务器的日志是否有错误,然后用特殊账号登录验证服务器是否正常

验证点:

可以正常登录

可以匹配战斗

本文地址:https://www.best73.com/zdmzt/268209.html
特别声明:以上内容来源于编辑整理发布,如有不妥之处,请与我方联系删除处理。
热门资讯
查看更多