云原生游戏开服时间模拟工具 - fake-time-injector

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 当游戏服完成云原生化改造,进行模拟时间设置的时候,就会遇到一些问题。因为默认情况下Pod的时间是继承ECS的时间设置的。如果直接修改ECS的时间,会影响该节点所有的Pod,这对于测试环境而言是不可接受的,需要不影响其他节点的Pod时间修改方式。fake-time-injector是阿里云与莉莉丝游戏通过CloudNativeGame社区一起开源的用于云原生场景下修改模拟时间的组件,协助游戏运维人员简单快速完成开服模拟时间测试。

项目背景



模拟时间是游戏测试中非常重要的步骤,模拟时间可以让开发人员更全面的测试游戏中和时间相关性较强的功能的正确性,比较典型的例如活动,限时道具等。通过模拟时间,开发者们可以观察这些系统在不同时间段内的表现,并进一步优化游戏的整体体验。模拟时间还可以用于测试游戏的稳定性。在游戏中,很多操作可能会涉及到时间的计算,如技能冷却时间、成长经验计算等。通过模拟时间,开发者们可以测试这些操作在长时间运行下是否稳定,以及是否存在潜在的bug和错误。此外,模拟时间的跨度可能会很长,次数也可能很多很频繁,是游戏测试中非常常用的功能。

云原生游戏开服时间模拟工具 - fake-time-injector

当游戏服完成云原生化改造,进行模拟时间设置的时候,就会遇到一些问题。因为默认情况下Pod的时间是继承ECS的时间设置的。如果直接修改ECS的时间,会影响该节点所有的Pod,这对于测试环境而言是不可接受的,需要不影响其他节点的Pod时间修改方式。

fake-time-injector是阿里云与莉莉丝游戏通过CloudNativeGame社区一起开源的用于云原生场景下修改模拟时间的组件。支持

  • Go
  • C
  • Erlang
  • C++
  • Ruby
  • PHP
  • JavaScript
  • Python
  • Java

等多种语言和各种不同的游戏框架,部署好组件后,开发者可以通过简单的配置,实现Pod级别的模拟时间注入。

apiVersion: v1
kind: Pod
metadata:
  name: testpod
  namespace: kube-system
  labels:
    app: myapp
    version: v1
  annotations:
    cloudnativegame.io/process-name: "hello"
    cloudnativegame.io/fake-time: "2024-01-01 00:00:00"
spec:
  containers:
    - name: myhello
      image: registry.cn-hangzhou.aliyuncs.com/acs/hello:v1

注入完毕后,Pod中可以看到对应的
image.png
更多详细用法可以参考:https://github.com/CloudNativeGame/fake-time-injector

关于CloudNativeGame社区

CloudNativeGame社区是阿里云协同国内一线的游戏公司(龙渊、鹰角、B站、莉莉丝等)共同建立的游戏开源社区,旨在分享游戏行业在云原生领域的最佳实践,将通用性的需求与场景,通过开源项目的方式共享给游戏行业,让云原生技术可以真正成为游戏行业复苏的发动机。目前CloudNativeGame已经开源了三个不同项目:

非常希望越来越多的游戏开发者可以参与到CloudNativeGame社区,让云原生游戏的生态可以越来越丰富。

目录
相关文章
|
7月前
|
存储 Cloud Native Docker
百度搜索:蓝易云【云原生之使用Docker部署Notepad个人任务管理工具】
这样,你就成功地使用Docker部署了Notepad个人任务管理工具。通过Docker部署Notepad可以使应用的安装和配置更加便捷,并且可以隔离应用环境,避免影响到宿主机的系统。希望以上教程对你有所帮助!如果你有其他问题,请随时继续提问。
101 0
|
Cloud Native 数据可视化 数据安全/隐私保护
云原生之部署Docker可视化管理工具docker.ui
云原生之部署Docker可视化管理工具docker.ui
565 2
|
7月前
|
监控 Cloud Native
如何选择合适的云原生可观测工具
如何选择合适的云原生可观测工具
|
4月前
|
消息中间件 运维 监控
|
7月前
|
监控 Cloud Native 测试技术
云原生之使用Docker部署ServerBee服务器监控工具
【5月更文挑战第6天】云原生之使用Docker部署ServerBee服务器监控工具
103 2
|
7月前
|
Cloud Native Java 开发者
Spring Boot 4.0:构建云原生Java应用的前沿工具
Spring Boot 4.0:构建云原生Java应用的前沿工具
|
7月前
|
存储 缓存 监控
如何在云原生可观测工具中获得更好的性能
如何在云原生可观测工具中获得更好的性能
|
消息中间件 Cloud Native 安全
消息队列和应用工具产品体系-云原生技术的未来展望
消息队列和应用工具产品体系-云原生技术的未来展望
消息队列和应用工具产品体系-云原生技术的未来展望
|
监控 Cloud Native jenkins
云原生之docker部署jenkins持续集成工具
云原生之docker部署jenkins持续集成工具
378 2
云原生之docker部署jenkins持续集成工具
|
Cloud Native JavaScript 前端开发
云原生之使用Docker部署Laverna笔记工具
云原生之使用Docker部署Laverna笔记工具
273 2
云原生之使用Docker部署Laverna笔记工具