为Steam多人游戏设置虚幻引擎

这是我的发展备忘录

tl; dr

查看刚刚完成的官方文档,或查看MultiplayerShootout项目。

环境

虚幻引擎4.14.2
Steamworks SDK 1.32(包含在UE4中)

SDK更新

一般来说,使用最新版本更好。 但是当我尝试时,我使用了Unreal Engine 4.12.2中包含的SDK版本132。 当前(2017/1)最新版本是139。
如果要更新Steamworks SDK,请将其收集文件夹位置。

我们需要更新Steamworks.build.cs文件。 因为“ Steamv132”的文件夹名称被称为"Steamworks/Steam" + SteamVersion + "/sdk"

DLL更新

将一些dll文件放在Binaries文件夹下,例如C:\Program Files (x86)\Epic Games\4.14\Engine\Binaries\ThirdParty\Steamworks\Steamv132\Win64
官方文件也解释了此任务。 这些文件来自Steam客户端应用程序文件夹,因此是从Steam游戏客户端复制的。 知道,如上所述,还从build.cs文件中引用了此文件夹名称。

.ini配置

这也是我们不需要为第一个设置添加任何配置。

  [/Script/Engine.GameEngine] 
+ NetDriverDefinitions =(DefName =“ GameNetDriver”,DriverClassName =“ OnlineSubsystemSteam.SteamNetDriver”,DriverClassNameFallback =“ OnlineSubsystemUtils.IpNetDriver”)
  [在线子系统] 
DefaultPlatformService =蒸汽
  [OnlineSubsystemSteam] 
bEnabled = true
SteamDevAppId = 480
  [/Script/OnlineSubsystemSteam.SteamNetDriver] 
NetConnectionClassName =” OnlineSubsystemSteam.SteamNetConnection”

我搜索了DefaultEngine.ini文件,并发现了一些其他设置。 但这不是我必须要做的。 我认为官方文档或MultiplayerShootout项目是简单易懂的答案。 这次,我没有写过多的示例项目设置。 从一开始就将MultiplayerShootout示例设置为使用OnlineSubsystemSteam。

外挂程式

一开始,我忘了检查Online Subsystem Steam插件。 就我而言,我不需要GooglePlay和iOS平台。 可能需要检查OnlineSubsystemNULL和OnlineSubsystemUtils中的基本在线子系统。

示例多人射击

MultiplayerShootout示例非常好,我非常依赖。 当我们创建多人游戏,登录过程,复制设置时,就像这些东西。

如果Steam集成正常播放,则您可以在屏幕的右下角看到Steam图标,在左上角看到Steam ID。 Shift + Tab打开Steam菜单。 我们应该注意在PC上运行Steam游戏客户端。 通过SteamAppId=480配置,该样本应用程序可以作为SpaceWar正式运行。

其他

我发现在线子系统蒸汽中存在大量问题。 https://answers.unrealengine.com/oauth/authorized?code=b7ddf6797fad41d680d1063572c40c52

一些日本人通过从源代码构建UE4来为在线子系统编写解决方案,但开发人员可能不必这样做。