UE4游戏上架Steam全流程

本人使用的是UE4.27.2, Windows 11操作系统。

首先,在ue4项目的插件设置中,勾选Online Subsystem 和 Online Subsystem Steam, 然后重启编辑器。

然后在项目文件夹下的Config/DefaultEngine.ini添加以下内容:

[/Script/Engine.GameEngine]
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")

[OnlineSubsystem]
DefaultPlatformService=Steam

[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=2066920
bRelaunchInSteam=true
GameVersion=1.0.0.0
Achievement_0_Id="ACH_WORLD_1"
Achievement_1_Id="ACH_WORLD_2"
Achievement_2_Id="ACH_WORLD_3"
Achievement_3_Id="ACH_BOSS"
Achievement_4_Id="ACH_FINISH_ALL"
Achievement_5_Id="ACH_IMPOSSIBLE"
Achievement_6_Id="ACH_WHAT"

[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"

其中SteamDevAppId是你的AppId,是要在Steamwork里申请的,具体怎么申请,其他人的博客已经写的很详细了,可以参考这篇。我申请的时候,立马给我回复说税务信息的地址无法审核,我就给他发送了我的身份证复印件,然后说明这个就是我的地址。第二天就通过了,但是要注意,通过的时候是不会给你发邮件的,你要自己上Steamwork查看。AppId的位置如下图所示:

配置文件中还有这些成就设置,其中后面的内容是在Steamwork上设置的成就Id,如下图所示。前面的变量名按顺序设置即可,我不知道为啥变量名要这样,但是反正能运行……

Achievement_0_Id="ACH_WORLD_1"
Achievement_1_Id="ACH_WORLD_2"
Achievement_2_Id="ACH_WORLD_3"

注意,Steamwork成就设置中的未达成图标要求是黑白颜色,但是它不会自动给你转换成黑白的,你要手动上传一张黑白图片……

有几种测试方法,首先确保已经打开了Steam,在项目文件xxx.uproject上右键点launch game可以测试。打包成开发版运行可以测试。

打开程序如果右下角弹出Steam,说明插件启用了。

去掉打包设置中的”包括先决条件安装程序”,可以帮你减少40M,这些程序可以让Steam帮我们安装,需要进行一些设置,这些设置后面会讲。

你需要下载最新的Steam SDK,SDK需要解压并复制到:/YourUnrealEnginePath/Engine/ Source/ThirdParty/Steamworks/Steam[当前版本]/sdk

注意是Source!

如下图所示:

官网说还要修改sdk文件夹的名称、以及一个.cs文件,使其对应sdk版本,我在修改完之后无法导出,所以就没有修改,直接把154版的sdk复制到151版里面了。

在SDK的目录下、安装好的Steam安装目录下找到一些文件,复制到引擎目录中,最终使

YourUnrealEnginePath/Engine/ Binaries/ThirdParty/Steamworks/Steamv151/Win64下包含以下文件:

  • steam_api64.dll
  • steamclient64.dll
  • tier0_s64.dll
  • vstdlib_s64.dll

注意是Binaries!

YourUnrealEnginePath/Engine/ Binaries/ThirdParty/Steamworks/Steamv151/Win32下包含以下文件,由于win32位已经不能导出了,所以32位文件夹不包含以下文件也可。

  • steam_api.dll
  • steamclient.dll
  • tier0_s.dll
  • vstdlib_s.dll

有些人的Steam SDK版本不同,这个没啥太大关系,最新的是154,我直接放151的文件夹下。

然后你就可以在UE4里打包发行版了,这时候应该不会在输出日志中出现Steam有关的警告了。

但是,这时直接运行发行版游戏还是不会显示Steam,插件无法运行。但是如果你把游戏上传到了Steam,游戏里的Steam插件是能够正常运行并解锁成就的。这是因为不经由Steam启动的话,steam_appid.txt就不会生成,游戏就不能判断你的AppId,就无法启动插件。

所以如果你要测试发行版的话,需要新建一个”steam_appid.txt”, 里面只写上你的AppId。比如我就直接写个2066920,然后保存。放在xxx-Win64-Shipping.exe相同目录下即可,如下图。这样运行就能显示Steam了,也能正常解锁成就。

当然也可以直接传到Steam上,再下载下来测试,也是可以的,不需要填写steam_appid.txt

由于我的游戏打包出来就300M,小于2G,所以是采用直接上传的方式,不使用steamcmd.

把你的游戏压缩成ZIP文件,不要包含父级文件夹,而是直接选中WindowsNoEditor下的文件和文件夹压缩成ZIP。

首先你需要新建Depot,如下图。Depot在我的理解就是存储不同操作系统、不同语言、DLC和本体的内容的仓库。我们先新建了一个Windows 64位的Depot,然后点击发布。

不要被发布这个词吓到了,在游戏没定价、没过审时,任何发布别人都是看不到的。这里的发布就相当于保存的意思。

然后在菜单-SteamPipe-生成版本里,选择

不使用 steamcmd,直接将 depot 以 ZIP 文件上传(最大 2048MB)。请点击此处

然后上传即可。commit时把”将分支生成版本设置上线”设置为default.

在安装,通用安装中,选择添加新的启动选项。

这时候有人就会卡在这里,因为可执行文件的设置不正确。如果你压缩ZIP时包含了父级文件夹,可执行文件就应该设置成”父级文件夹名称\xxx.exe”,这样才能通过。但我们没包含父级文件夹,所以直接输入”xxx.exe”即可。工作目录不用填。

然后就是安装-可再发行文件,这里我们要勾选这两个选项 Direct X June 2010和Visual C++ Redist 2022。这样就不用打包先决条件安装程序了。我在虚拟机里重新安装了一个Windows 10 试了一下,这样设置确实就可以正常运行游戏了。

为什么会这样设置,因为我刚开始没勾这些选项就上传程序审核。结果审核直接告知ue4启动器需要勾这些选项,还主动帮我勾上了,非常人性化。

本来不是件大事,偏偏Steam不说清楚,一般人可能也不知道。在菜单安装-客户端图像-客户端图标中,要上传一个ico,要求需包含一张32×32的图标。我以前一直不知道一个ico文件可以包含许多尺寸的图片,就只传上去了一个32×32的,结果很模糊。

我推荐用破解版icofx,直接导入一张图片就能导出包含一堆尺寸的ico文件,上传上去即可。桌面图标就很清晰了。

Steam DRM 包装器是 Steam 平台的一个重要部分,因为它验证了游戏的所有权,并通过在启动游戏之前启动 Steam,确保 Steamworks 功能正常运作。
Steam DRM 包装器自身并非一个反盗版方案。 Steam DRM 包装器防范的是非常随意的盗版行为(如将所有游戏文件复制至另一台电脑),并进行一些模糊处理,但是蓄意攻击者很容易就可以将其移除。

在菜单里找到安全性-DRM,把exe文件上传上去再下载回来替换掉原来的exe文件,再打包上传到depot就行了。下载速度比较慢,大概就50KB/s,不知道为什么。

exe文件记得选Binary里的较大的那个xxx-Win64-Shipping.exe

Linux我试了一下,游戏居然打不开了,不知道啥问题,我就没给Linux版加DRM了。

由于每次打包游戏都会生成新的exe文件,所以建议你在游戏基本完工的时候再添加反盗版DRM.

首先是要提交一个游戏即将上架的表单,这个表单还要过google验证码……有点难搞。这个表单在上面那个链接里。

每个季度,你都需要提交你的财务方面的信息,因为你一旦营收超过10万美元,就需要交5%的引擎费用了。这个表单也在上面那个链接里。

EULA是最终用户许可协议,有一份EPIC的官方模板,改好后放在Steam的EULA设置里。[Product] 需要替换成你的游戏名称。[Licensor] 替换成你的名字或公司名称,[Licensor’s]同理,[Agreement] 可以替换成EULA。

在游戏的制作人员名单(Credits)中,需要添加以下内容,在上面那个官网链接有:

[Product Name] uses Unreal® Engine. Unreal® is a trademark or registered trademark of Epic Games, Inc. in the United States of America and elsewhere. Unreal® Engine, Copyright 1998 – xxxx, Epic Games, Inc. All rights reserved.

其中,xxxx替换成你的游戏发行的年份,[Product Name]替换成你的游戏名。

还是跟之前一样上传depot,设置为默认分支,上传完之后,生成版本列表里面会出现新的一行,单击旧的一行的ID,单击移除生成版本来删除旧文件。

Steam会自动增量更新,还是很方便的。我每次重新上传depot后,Steam内更新游戏都只下载了10M左右,但是修改了100多M的文件。

这是一个第一人称3D解谜游戏。在这里,相同颜色的物体不会发生物理碰撞,你也不例外。但你不仅能改变自己的颜色,还可以用法杖改变其他物体的颜色。游戏支持各种手柄。

本游戏一共43关,通关大约需要1~2小时。相信会给你带来耳目一新的体验。

Original: https://www.cnblogs.com/mariocanfly/p/16451147.html
Author: mariocanfly
Title: UE4游戏上架Steam全流程

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/573914/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 基于灰色模型和Bootstrap理论的大规模定制质量控制方法研究

    基于GM的生产质量预测: 原始质量指标数列为: 是的累加序列为: 经过该处理,可以使粗糙的原始离散数列变为光滑的离散数列。 建立基本的预测模型GM(1,1),其白化方程为 式中,a…

    Linux 2023年6月14日
    078
  • jmeter 函数之 _RandomString

    jmeter中有许多函数,学会函数的灵活使用,对于很多工作都是事半功倍的效果,今天先学习函数——__RandomString,该函数可以自定义字符长度。做接口自动化测试时,可以使用…

    Linux 2023年6月8日
    0126
  • RedisInsight 安装与使用(Redis 监控工具)【转】

    一、RedisInsight 简介 RedisInsight 是一个直观高效的 Redis GUI 管理工具,它可以对 Redis 的内存、连接数、命中率以及正常运行时间进行监控,…

    Linux 2023年5月28日
    096
  • Go实现安全双检锁的方法和最佳实践

    不安全的双检锁 从其他语言转入Go语言的同学经常会陷入一个思考:如何创建一个单例? 有些同学可能会把其它语言中的双检锁模式移植过来,双检锁模式也称为懒汉模式,首次用到的时候才创建实…

    Linux 2023年6月13日
    0100
  • 软件危机复习

    没有银弹的含义 软件危机:由于软件规模越来越大,软件复杂性越来越高,可靠性问题也越来越突出,传统的个人设计,个人实现的方式不再满足要求,迫切需要改变软件生产方式,提高软件开发效率,…

    Linux 2023年6月8日
    094
  • JVM学习 类加载子系统

    JVM 哔哩哔哩 尚硅谷视频 宋红康老师 Java代码执行流程 简图 详细图 1、类加载子系统 类加载器子系统的作用 类加载器子系统负责从文件系统或者网络中加载Class文件,cl…

    Linux 2023年6月7日
    0108
  • 虚拟机网络地址配置你不知道的事儿-服务器的种类

    想必大家在初学Linux过程中,应该都是跟我一样白嫖一台虚拟机进行使用把,但是在大家白嫖的同时知不知道我们公司内是使用的什么样的服务器呢?公司肯定不会跟我们一样在自己电脑进行安装虚…

    Linux 2023年5月27日
    0102
  • Redis相关监控命令

    1、查询Redis并发量,连续统计模式redis-cli –stat 2、redis最大连接数config get maxclients 3、redis当前连接数、阻塞…

    Linux 2023年5月28日
    089
  • QNAP container station安装 redis

    打开container station,即docker,安装Redis 选择最新的即可 命令处请务必在尾部添加语句: –requirepass “yourpasswor…

    Linux 2023年5月28日
    082
  • 设计模式——-建造者模式(生成器模式)

    建造者模式(生成器模式)定义:将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式中的4个角色: Product产品类 通常是实现了模板方法模式…

    Linux 2023年6月7日
    0107
  • 每天一个 HTTP 状态码 203

    203 ‘Non-Authoritative Informative’ 直译过来是「非权威信息」的意思… 203 Non-Authoritati…

    Linux 2023年6月7日
    0108
  • SQL错题集

    查找最晚入职员工的所有信息 查找入职员工时间排名倒数第三的员工所有信息 获取所有部门中当前员工薪水最高的相关信息,给出dept_no, emp_no以及其对应的salary 从ti…

    Linux 2023年6月14日
    099
  • 前端数据提交给后端之HTML表单简单剖析

    写在开篇 什么是表单呢?当前端想要提交数据给后端,怎么搞?那么在前端开发中,表单是常用的手段,比如常见的场景有:登录框、账号注册页、主机信息录入CMDB等等场景都是需要表单。那么在…

    Linux 2023年6月7日
    0104
  • Spring 4 集成 redis 实现缓存 二

    项目开发过程中经常用到mybatis,为了提升查询效率,mybatis支持一级和二级缓存,一级缓存基于SqlSession级别,默认开启,二级缓存基于Mapper级别;一级和二级缓…

    Linux 2023年6月14日
    0103
  • Nuget私服老是弹输入用户名密码框

    先把vs中私服删除,然后,控制面板\用户帐户\凭据管理器,删除私服 最后输入命令: NuGet.exe Sources Update -Name <feedname> …

    Linux 2023年6月13日
    0113
  • linux版的查毒工具 ClamAv 安装脚本

    /bin/bash 安装linux版的查毒工具 clamav 用root执行 保证服务器能访问外网 yum源最好是最新的 创建用户和组 groupadd clamavuseradd…

    Linux 2023年6月13日
    0109
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球