设置Perforce连接

连接到Epic的Perforce服务器以获取虚幻引擎4版本的指南。

Windows
MacOS
Linux

Epic Games通过一个可从外部访问的Perforce库, 将经过QA批准的虚幻引擎4版本以及其他专门的代码更新提供给被许可方。 这是被许可方用于先获取引擎以及在新版本发布时获取更新的方法, 被许可方认为此方法是合适的。 本文档介绍了在本地设置Perforce以连接到Epic的虚幻引擎4库并同步到一个引擎版本的步骤。

要连接到Perforce,首先需要设置虚拟专用网(VPN)安全连接到Epic Games。 要了解如何设置和建立VPN连接,请参阅设置VPN连接 页面。

Epic Games已与Perforce执行一份自定义许可协议。为了遵守此许可, 每个许可证只有一台机器应该同步完整的版本, 但多个用户可使用同一登录名连接以查看源元数据和以往的修订。个人UDN登录信息将无效。

在某些情况下,大型组织可能每个团队一个帐户;即便如此,每个团队只有一台机器应该同步完整的版本。 多台机器同步完整的版本违反Perforce许可协议, 也违反与Epic的协议。

有关从Epic的Perforce库下载虚幻引擎4的版本或修订版的完整过程在 使用Perforce下载虚幻引擎 页面上有详细的说明。

为了保持我们的Perforce服务器平稳高效地运行,我们针对在不活跃期之后禁用和删除帐户 制定了一项分层规则。

  • 任何超过六(6)个月未使用的Perforce帐户将被禁用。

  • 任何在一(1)年内未访问的Perforce帐户将被删除。

这两项操作都可以轻松逆转,所以请联系P4AccountTrouble 。 如果您发现您的帐户已被禁用或删除,我们将对它进行恢复。如果您有任何问题,请在 UDN 上发帖。

连接规则

VPN有两种方法连接到Epic。第一种方法允许工作室从内部工作站最多建立5个从VPN到Epic的代理服务器的开放式直接连接 (尽管只允许一台机器同步完整的版本。) 第二种方法允许工作室将自己的代理直接连接到Epic的库, 工作室的开发人员将从此处连接到他们的本地代理。 从该本地代理到库允许两个并发VPN连接,一个为主连接,一个为备份连接。

请注意这两种方法是相互独立的,工作室不能同时拥有这两种连接类型。 在这两种情况下,机器上的并发P4连接数量都不受限制, 只限制来自工作室的VPN连接数量。

安装和配置

为了连接到Epic的Perforce库,需要在机器上安装一个Perforce客户端, 用于下载和存储引擎版本。

设置P4V

P4V客户端是当前客户端,由Perforce提供。它通过图形接口提供对版本化文件的访问, 还包括用于合并和可视化代码演化的工具。

P4VUpdated.png

完整的P4V安装程序可从Perforce下载:必备软件 页面下载。

注意:请确保下载适用于您的操作系统的版本,包括32位或64位版本。

有关如何设置P4V客户端以连接到Epic的Perforce库的指南,请参阅设置P4V 页面。

其他下载

有关包括插件和其他工具在内的可用下载的完整列表,请参阅Perforce下载 页面。

本地Perforce代理

这是供您运行自己的本地代理的一个选项。 以下信息仅适用于希望有5台以上机器连接到Perforce的用户。

使用本地代理的优势是:

  • 如果同步失败,代理将保留已同步内容的副本。如果必须重新启动同步, 它将从本地代理而不是Epic中提取数据。

  • 对于多个用户,能够更快地访问数据。

要使用代理配置,您必须通过在虚幻开发者网络 上发出请求来请求代理配置。 当授予此访问时,将只授予您两个VPN连接,并且您只能访问主库, 您将失去对被许可方代理的访问权。

您可以从Perforce获取代理应用程序(P4P),网址为http://perforce.com/perforce/downloads/。 在安装期间,需要将代理服务器配置为链接到p4-server.epicgames.net。

可在此处找到有关设置代理的说明:http://www.perforce.com/perforce/r10.1/manuals/p4sag/09_p4p.html#1056059

远程库

请查看以下线程了解更多信息:

https://udn.epicgames.com/lists/showpost.php?list=unedit3&id=5885

远程库允许您在您的位置设置一个Perforce服务器;该服务器 自动与我们的服务器保持同步。这样做的好处是,它提供了一种在组织中分发引擎代码的简单方法。 缺点是只有文件被同步到远程库;远程库的用户将无法看到 我们的更改编号、更改列表信息和标签。

要设置远程库,请在虚幻开发者网络 上提交请求。

字符编码

如果在Perforce中将Unicode文件存储为文本,它将添加0xd以匹配本地行尾;所以Unicode 行尾0x0a 0x00 0x0d 0x00将被转换成0x0a 0x0d 0x00 0x0d 0x00,并出现糟糕的中断现象。然而,当 发生这种情况时,它将保持您的本地版本不变(并正常运行)。同步到之前的版本,然后返回到 开始部分查看问题。

Perforce将UTF-8定义为Unicode。UTF-16是理想的选择,前提是没有意外转换成ASCII。如果您没有 错过合并或多重签出,二进制也是可行的。

虚幻引擎4将使用BOM加载ASCII或UTF-16,前提是它们是有效的文件。

东亚Perforce镜像

设置VPN连接 并连接到东亚VPN镜像 后, 您应该能够连接到代理。只需在端口1667上连接到p4-licensee-proxy-asia.epicgames.net。 美国代理(p4-licensee-proxy.epicgames.net:1667)可以通过此连接获得;但只有在亚洲代理 不可用时才应该使用。

如果您正在使用代理连接到我们的主库服务器(p4-server.epicgames.net:1666),则应该在 代理服务器上禁用压缩。通过在下载位置之间放置WAN优化器,我们能够 为使用代理的被许可方提供更好的性能。压缩降低了数据缩减的有效性, 这会导致性能下降。

有关禁用压缩的更多信息,请查看此处 有关P4P标记的部分。 如果在Windows服务器上以服务的形式运行,则关闭压缩的命令将大致如下:

p4 set -S "Perforce Proxy" P4POPTIONS="-c -p 1667 -t p4-server.epicgames.net:1666"

注意"-c"。其意味着关闭压缩。

维护和支持

代理维护

下面是一个脚本,它将帮助保持代理库整洁——防止其中充斥修订版。我们在 我们的代理上使用它。

它是一个VBScript,用于删除在一段时间内没有访问过的文件, 保持内容美观、整洁。最好将其设置为一项Windows"运行任务"或一项计划任务。确保以用户身份(该用户对文件系统上的该位置具有相应的权限) 运行它。

该脚本可调用作为:

cscript StartCleaning.vbs [arguments]

这仅适用于Windows。此外,如果在Windows Server 2008 R2、Vista或Windows 7上运行, 默认情况下禁用最后访问日期。您需要执行"fsutil behavior set disablelastaccess 0"以重新启用最后访问日期。

计划停机时间

Epic的Perforce服务器在每个 北美东部标准时间周日的凌晨 2 点关机约 4 小时(Sunday at 2am EST for about 4 hours), 以执行检查点验证和数据库备份。此外,Epic还预留了 北美东部标准时间每月第 2 个和第 4 个周日的上午 8 点至中午(2nd and 4th Sunday of the month from 8am-Noon EST) 时间段, 以进行定期维护。在规划时请记住这一点,因为在这些时间段期间任何或所有的支持机构 都可能会受到影响,特别是网络/服务器资源。

连接问题

如果您因任何原因无法连接到Perforce库,请在虚幻开发者网络 上发帖。

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback