UnrealGameSync 介绍与部署

UnrealGameSync

UnrealGameSync 是 UE 引擎开发工作流中的一个重要环节

在多人合作开发的大团队中,每时每刻都有成员在提交版本

要找到一个可用版本,通常是困难的

UnrealGameSync 就是为了解决这个问题

它能醒目的告知团队成员,哪些版本是可以使用的,极大的提高生产力
在这里插入图片描述

UnrealGameSync 组成

UnrealGameSync 有图中的,划线的 5 部分组成
在这里插入图片描述

组件说明
Installer安装器,分发给团队里的成员;用来安装 UnrealGameSyncLauncher
UnrealGameSyncLauncher更新并启动 UnrealGameSync
UnrealGameSync使用界面
MetadataServerUnrealGameSyncbackend,提供 api 存取数据
PostBadqeStatusCI/CD 通过它往MetadataServer写版本相关信息

UnrealGameSync 编译

  1. 下载 UE5 源码 UnrealEngine
  2. 执行 UnrealEngine/Setup.bat
  3. 执行 UnrealEngine/GenerateProjectFiles.bat
  4. UnrealGameSync 代码,使用 UnrealEngine\Engine\Source\Programs\UnrealGameSync\UnrealGameSync.sln 打开

编译完,点击 exe ,如果提示 .net 环境未安装

把 UnrealGameSync.sln 里所有 .net sdk 版本改为 5.0 后,再重新编译

UnrealGameSync 部署前置步骤1 - 安装 P4 环境

包括 2 部分:

  1. Perforce 服务器安装
  2. P4V 客户端安装

可以参考网友的文章: 学习从零创建并配置一个P4服务器

UnrealGameSync 部署前置步骤2 - 安装 IIS 服务环境

  1. 安装过程略,网上文档很多

UnrealGameSync 部署前置步骤3 - 安装 MySQL 8

  1. 安装程序 https://dev.mysql.com/downloads/installer/
  2. my.cnf 中查找 sql_mode 配置 ,去掉ONLY_FULL_GROUP_BY后,重启 MySQL 服务

UnrealGameSync 部署前置步骤4 - P4 仓库提交 UE 项目

使用 UE5 生成 1 个项目,提交到 P4 仓库

UnrealGameSync 组件 - Installer

Installer 会把UnrealGameSync的更新程序UnrealGameSyncLauncher安装到使用端

因此后续的UnrealGameSync魔改更新,不需要重新分发安装程序

如果有遇到 .net sdk 版本问题,而改过版本的:
UnrealEngine\Engine\Source\Programs\UnrealGameSync\Installer\Build.bat内修改相关目录,如:
在这里插入图片描述

UnrealGameSync 组件 - UnrealGameSyncLauncher

  1. P4 仓库创建,如 //abc/UnrealGameSync 库。用来提交新版本 UnrealGameSync
    在这里插入图片描述
  2. UnrealEngine\Engine\Source\Programs\UnrealGameSync\UnrealGameSync\DeploymentSettings.cs 中的 DefaultDepotPath 值,填写仓库地址:
    public static readonly string? DefaultDepotPath = "//abc/UnrealGameSync";
    
  3. 重新编译UnrealGameSyncLauncherInstaller
  4. 至此UnrealGameSyncLauncherInstaller相关已完结

UnrealGameSync 组件 - MetabataServer

  1. 编译的只有 DLL
  2. 发布到某文件夹中在这里插入图片描述
  3. IIS 把该文件夹,添加为网站 在这里插入图片描述

编译问题

  • UnrealEngine\Engine\Source\Programs\UnrealGameSync\MetadataServer\Web.template.config添加 MySQL 连接字符串,如:
    <connectionStrings>
          <add name="ConnectionString" connectionString="server=127.0.0.1;user id=root;password=123456;" providerName="MySql.Data.MySqlClient"/>
    </connectionStrings>
    

编译运行问题

  • MetabataServer MySQL 相关代码异常
    • 把引用MySQL.Data删除,重启加入引用;再重新编译、发布

运行问题

  • 页面提示无权限,IIS 网站添加 Everyone 账号

UnrealGameSync 组件 - PostBadqeStatus

可以使用类似以下命令,查看MetabataServer 是否正常工作:

PostBadgeStatus.exe -Name=build_server -Change=4 -Project=//abc/main/DSTest -RestUrl="http://localhost:12000" -Status=Success -Url="http://localhost/xxx"

CI/CD 流程中,也可以使用PostBadgeStatus.exe对版本设置状态、标签

UnrealGameSync 组件 - UnrealGameSync

  1. UnrealEngine\Engine\Source\Programs\UnrealGameSync\UnrealGameSync\DeploymentSettings.cs 中的 ApiUrl 值,填写MetabataServer 网站的地址,例如:
    public static readonly string? ApiUrl = "http://localhost:12000/";
    
  2. 重新发布,提交 p4 //abc/UnrealGameSync/Relase ,这样UnrealGameSyncLauncher可以更新到最新版本

注意事项
UnrealGameSync 完整功能需要把UnrealEngine\Engine整个源码,拷贝到项目目录才行,类似:
在这里插入图片描述

官方文档

  • https://docs.unrealengine.com/5.1/zh-CN/unreal-game-sync-reference-guide-for-unreal-engine/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fananchong2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值