littlebot
Published on 2025-04-03 / 0 Visits
0

【源码】基于Unreal Engine 5的多人在线游戏模板项目

项目简介

本项目是基于Unreal Engine 5的模板项目,运用了EOS (Epic Online Services)、专用服务器、Steam、模块化游戏玩法、Common UI、Advanced Locomotion System Refactored XT、Lyra建模工具等技术。采用测试驱动开发(TDD)和持续集成(CI)的开发方式,要求开发者具备C++、Jenkins和单元测试的相关知识。

项目的主要特性和功能

  1. 在线服务功能:通过EOSGameInstance C++类向蓝图暴露基本EOS功能,如登录、好友管理、邀请、创建和加入会话等,EOSPlus支持二级认证系统(默认Steam)。
  2. 模块化游戏玩法:支持UI扩展,优化Mod/UGC创作流程,可在角色和UI中灵活应用。
  3. 主菜单系统:基于CommonUI构建,有标签导航、输入路由、加载屏幕、主要布局和异步混入实现(Push Widget)。
  4. 服务器浏览器:正在开发,通过辅助函数实现相关功能。
  5. 先进动作系统:Advanced Locomotion System Refactored有扩展的角色状态、改进的脚印系统,即将支持滑动和跳跃(XT)功能。
  6. 建模工具:集成Lyra Procedural Level块工具,使用几何脚本并改编成插件。
  7. 编辑器工具:TTToolbox提供编辑器工具,方便将角色和动画重新定位到ALS骨骼;SkeletalMeshMerger可在运行时合并骨骼组件。
  8. 开发流程:采用测试驱动开发(TDD)和持续集成(CI),保证代码质量和开发效率。

安装使用步骤

基本设置

  1. Unreal Engine 5源代码构建设置
    • 运行Setup.bat并等待完成。
    • 运行GenerateProjectFiles.bat并等待完成。
    • 打开UE5.sln
    • 在解决方案资源管理器中,右键单击UE5并选择“构建”,等待初始构建完成。
  2. Linux交叉编译设置
    • 下载并安装clang -20 13.0.1到默认文件夹。
    • 再次运行GenerateProjectFiles.bat并等待完成。
    • 再次运行Setup.bat并等待完成。
    • 再次打开UE5.sln,此时顶部标准工具栏中Linux应作为目标可用。
    • 在Visual Studio中重新构建UE5。
    • 重新构建后,打开Target Vector项目,在打开地图选项卡中点击“平台”旁边的下拉菜单,若一切设置正确,Linux应出现在Content/SDK/设备管理列表中。
  3. 项目设置
    • 在Unreal Engine 5源代码构建的顶级目录下创建一个名为Projects的子目录。
    • 将本项目复制到Projects文件夹中,目录结构应为/Projects/[项目仓库名称]
    • 再次运行GenerateProjectFiles.bat
    • 完成后,打开UE5.sln文件,TargetVector应出现在“游戏”文件夹下。
  4. EOS设置
    • Config文件夹中创建一个名为EOSSettings.ini的文本文件,复制并粘贴以下内容: ini [/Script/OnlineSubsystemEOS.EOSSettings] +Artifacts=(ArtifactName="EOSArtifact",ClientId="",ClientSecret="",ProductId="",SandboxId="",DeploymentId="",EncryptionKey="")
    • 完成ini文件中所需的Artifacts字段,这些值可在Epic开发者门户的应用程序详细信息中找到。
    • 使用编辑器打开项目,在项目设置 > 地图和模式中,在游戏实例类下拉菜单中选择EOS_GameInstance类。
  5. 测试:使用EOS_Testing.bat文件测试基本的EOS功能,编辑“ue5path”变量以反映你的Unreal Engine 5安装目录。目前,要在多个玩家之间测试EOS功能,每个玩家都需要一个Epic和Steam登录账号。

高级设置

  1. CI/TDD开发流程
    • 进行本地更改。
    • 提交并将更改推送到git远程仓库(或发起拉取请求)。
    • Jenkins接收通知,将远程仓库的每个更改拉取到Jenkins工作区。
    • Jenkins启动与该仓库关联的管道。
    • 管道构建项目。
    • 管道在进行代码覆盖的同时运行测试。
    • 管道显示构建状态和测试报告。
  2. 首次设置步骤
    • 安装所有必需的程序。
    • 设置域名、动态DNS或使用ngrok通过端口(默认8080)访问Jenkins。
    • 设置Discord,获取Webhook并在Jenkins中配置环境变量TVDISCORDWEBHOOK
    • 创建Unreal项目。
    • 完成EOS设置。
    • 创建Jenkins多分支管道项目。
    • 将项目更改推送到远程git服务器,以激活Jenkins中的构建触发器。
  3. 自动化测试:项目中包含2个简单的C++测试,位于“Game.”组中,已在Jenkinsfile中设置好运行。可在/Source/Tests文件夹中创建新的C++测试,并将其添加到“Game.”组中,以在Jenkins构建时自动运行测试和代码覆盖。也可修改Jenkinsfile以使用其他测试组或特定测试。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】