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)

大家都在看

  • CentOS安装Docker-ce并配置国内镜像

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月7日
    094
  • redis高可用

    Redis-高可用(主从复制、哨兵模式、集群) 1.主从复制 1.1 主从复制简介 在 Redis 复制的基础上,使用和配置主从复制非常简单,能使得从 Redis 从服务器(下文称…

    Linux 2023年6月13日
    088
  • Windows 2008 R2 Powershell 3.0

    下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=34595&WT.mc_id=rss_alldow…

    Linux 2023年5月28日
    0107
  • 项目管理中的关键路径法-时窗图解法cpm

    完成单个活动所需的时间称为活动时间,可以形象地以一个矩形窗格来表示,这个窗格称为 时间窗口,简称 时窗。 1.1 分类 单位时窗: 基本时窗,时窗的不可分割的最小单元, 活动时窗:…

    Linux 2023年6月13日
    087
  • Redis采用不同内存分配器碎片率对比

    我们知道Redis并没有自己实现内存池,没有在标准的系统内存分配器上再加上自己的东西。所以系统内存分配器的性能及碎片率会对Redis造成一些性能上的影响。在Redis的 zmall…

    Linux 2023年5月28日
    088
  • LeetCode 726: 原子的数量-栈和Map的结合以及字符串处理 | Number of Atoms-Combination of stack, map and string processing

    Problem Description Give a chemical formula, return the count of each atom. The count afte…

    Linux 2023年6月13日
    094
  • 学习

    1.1、参考博客 参考的教程如下: Original: https://www.cnblogs.com/agui125/p/16032402.htmlAuthor: 风御之举Tit…

    Linux 2023年6月13日
    099
  • docker redis启动将配置文件挂载在数据卷(volume)中

    关键词 [     "linux",     "docker",     "volume",     "red…

    Linux 2023年5月28日
    081
  • 飞鸽传书:一个局域网QQ

    推荐一个类似局域网QQ的免费软件——飞鸽传书,支持windows、mac、Linux、安卓、苹果手机。 飞鸽传书:一个局域网QQ 局域网文件和消息互传应该用什么呢?在这里推荐一个类…

    Linux 2023年6月6日
    0100
  • UE4在Windows下交叉编译打包Linux版本

    UE4在Windows下交叉编译打包Linux版本 我使用的是UE4.27.2,Windows 11,项目是一个 纯蓝图项目,所以打包过程没有什么阻碍。 首先上官网下载对应版本的工…

    Linux 2023年6月6日
    095
  • SSH加密原理

    1、SSH初次交换公钥 客户端发起链接请求 服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥) 客户端生成密钥对 客户端用自己的公钥异或会话ID,计算出一个值Re…

    Linux 2023年6月7日
    091
  • 【数学建模相关】matplotlib画多个子图(散点图为例 左右对照画图)

    @ 例题 例图 代码展示 例题 乙醇偶合制备 C4 烯烃 C4 烯烃广泛应用于化工产品及医药的生产,乙醇是生产制备 C4 烯烃的原料。 在制备过程中,催化剂组合(即:Co 负载量、…

    Linux 2023年6月8日
    0151
  • apk自签证书

    需要用到keytool.exe (位于D:\Program Files\Java\jdk1.8.0_291\jre\bin目录下),使用产生的key对apk签名用到的是jarsig…

    Linux 2023年6月8日
    097
  • Java秒杀系统三:web层

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月11日
    095
  • flask 之 请求钩子

    请求钩子 什么是请求钩子? 在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要统一处理,为了让每个视图函数避免编写重复功能的代码, flask提供了统一的接口可以添加这些处理…

    Linux 2023年6月8日
    097
  • jenkins安装及配置(一)

    一、安装 1、以jenkins.war包方式安装 官网地址:https://mirrors.jenkins.io/war-stable/latest/jenkins.war 运行命…

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