欢迎光临
我们一直在努力

在AWS上使用Parsec创建远程游戏服务器

与许多人一样,由于大多数地方都使用COVID-19锁定,我被困在家里。不幸的是,即使我有更多的时间在家玩游戏,但我仍然受制于老式的游戏机,游戏机中夹着显示年龄的视频卡。尽管我想订购新设备,但由于交货限制,我无法做到这一点。

几年前,我听说过Parsec,但从未真正引起过太多关注。像我一样被困住了,我决定试一试(也是由于一些朋友的哄骗),男孩,我对结果感到惊讶。具有运行Parsec的远程游戏服务器而另一台(本地)机器在其上玩游戏的远程服务器的整个设置也与上述描述一样工作。

所以我们到了。我想分享一下我如何在AWS上进行设置,并提出一些建议,以最大程度地提高乐趣,同时最大程度地降低成本。

如果您想跳过所有辅助细节并直接进入构建,只需单击以下任何链接即可直接跳至构建。

差距

Parsec是一些软件,其工作原理与Remote Desktop 在Windows机器上的工作原理非常相似。这个想法是:

  • 您有一台安装游戏的(漂亮的)机器(称为主机),
  • 您有另一台(功能较弱的)计算机要在其中玩游戏(称为客户端),
  • Parsec处理两者之间的联系,以便您可以在功能更强的计算机上运行游戏,而在功能较弱的计算机上控制游戏。Parsec使用网络魔术来大幅减少延迟,同时保持出色的图形质量。
AWS上的Parsec架构
Parsec的工作原理

费用表

g4dn.xlarge在AWS香港地区选择了基于Windows的EC2实例。作为一个现货实例,它现在每小时耗费我0.427美元,比按需价格低55%。由于只有在我实际玩游戏时才启用此功能,所以这并不是一件坏事。

您的Parsec服务器也将需要存储—我选择坚持使用通用SSD。即使关闭服务器,这会使您花费很多,因此请记住这一点。您将需要足够的存储空间来安装要玩的游戏,但是您始终可以随时安装/卸载游戏,以最大程度地减少这种情况。在AWS香港地区,我得到的价格约为每月每GB 0.132美元。

还涉及网络成本(因为Parsec正在将您的游戏视频流式传输出去),但是我还没有进行计量和计算。

因此,假设我每天使用一个100 GB的计算机每月玩一个小时,则每个小时的游戏时间约为0.867美元

不错。

但是它将运行《孤岛危机》吗?

当然,就像任何游戏平台一样,它必须运行《孤岛危机》,对吧?我绝对不会尝试的。

该Parsec主机从AWS香港地区运行,并被流式传输到菲律宾的本地笔记本电脑,据报道ping约为60-80毫秒。假设我们达到60 FPS,大约落后4-5帧(可能是两倍,因为我们的控制输入也必须返回到主机服务器)。即使在这样的滞后水平下,游戏还是可以玩的,而且图形虽然不是最好的,但也比我预期的要好得多。


让我们开始吧

虽然需要在主机和客户端计算机上都安装Parsec,但是主机必须是Windows计算机才能正常运行。

您还可以在此处查看客户端计算机硬件要求

创建基于Windows的EC2实例

Parsec文档所说的不同,我们将使用新的g4dn.xlargeEC2上的实例类型。这是最新一代的G型EC2实例,配备4个vcpus,16 GB的RAM,16 GB的VRAM和Nvidia T4 Tensor Core视频卡。即使它看起来更强大,它也比上一代便宜很多。我们还将使用竞价型实例大幅降低成本。

转到您的Amazon EC2仪表板,然后启动一个新实例。确保您所在的AWS地区从您将要玩的地方最有意义。(我现在在菲律宾,所以我选择了香港地区。)

步骤1:

  • 选择Windows Server 2019 Base

第2步:

  • 查找并选择g4dn.xlarge。这将在GPU实例类别下。

第三步:

这将是最复杂的步骤。等一下

  • 购买选项:选择竞价型实例。输入您的出价(我通常将出价设置为实例的正常按需价格)。
  • 永久性请求:您需要对此进行检查,因为它允许您配置…
  • 中断行为:将此设置为停止。这样,您就可以在不玩游戏时就停止其Parsec服务器,从而节省更多钱。

    如果不这样做,则仅在要关闭服务器时才可以终止服务器,而这可能不是您想要的。

这些实际上是这里最重要的设置,但是如果您愿意,可以随意进行更改(例如,实例启动所在的子网)。

第4步:

这仅是存储—您将在这里想要的地方放入尽可能多的存储。请记住,即使您的机器停止运转,存储仍将继续消耗您的成本,因此请多加考虑。

您可能还希望将此设置保留为“通用(gp2)”设置。

您还可以设置一个小的gp2 SSD作为您的根卷,如果打算将其用作游戏的默认安装位置,则不妨将第二个存储磁盘设置为“吞吐量优化(st1)”。(例如,Steam允许您执行此操作。)以这种方式进行设置将导致更便宜的存储成本(st1的成本约为gp2的一半)。

步骤5:

您无需在此处进行任何更改,但是至少为服务器放置一个Name标记始终是一个好主意,这样您以后就可以轻松找到它。

步骤6:

此步骤至关重要,因为您可以在其中定义允许与您的计算机进行哪些网络连接。

至少,您需要打开以下入站规则:

  • (RDP)来自任何地方的TCP / 3389
  • 来自任何地方的UDP / 8000-8200
  • 来自任何地方的UDP / 9000-9200
  • 来自任何地方的TCP / 5900 — 仅当您想通过VNC访问计算机时
Parsec主机服务器安全组
如果您知道将从中连接的IP地址,则也要在此处更改这些IP地址。

步骤7:

在此处确认您的设置,然后继续启动。

启动时,将提示您输入密钥对。选择加入创建一个新的密钥对,下载并保存在安全的地方。

您的计算机将花费几分钟启动,但是我们无需等待它完成即可进行下一步。

分配弹性IP

您的Parsec主机服务器将需要具有一个不变的公共IPv4地址。为此,我们将在我们的AWS账户上分配一个弹性IP地址,并将其分配给我们刚刚启动的实例。

仍在EC2仪表板上,转到左侧栏中的“弹性IP ”,然后单击屏幕顶部的“分配弹性IP地址”。只需接受默认值,然后确认即可。

返回仪表盘后,选择刚刚创建的Elastic IP,然后选择Actions> Associate Elastic IP address。在弹出的表单上,选择您刚刚创建的实例,并选择其私有IP地址(无论如何只能有一个)。确认,到此完成。

创建用于Parsec安装的IAM用户

在Parsec的安装过程中,需要IAM用户下载GRID驱动程序以扩充视频卡。让我们现在准备。

转到您的IAM仪表板,选择“用户”,然后选择“ 添加用户”。给您的用户起个名字(例如Parsec主机服务器效果很好),然后选中“程序化访问”

在下一个屏幕上,选择直接附加现有策略,然后附加管理员访问政策。完成用户创建。

创建用户后,将为您提供用户的访问密钥和 秘密访问密钥。暂时将其存储在安全的地方—我们将在稍后使用它。

准备您的EC2实例

至此,您创建的EC2实例应该已经完成​​启动。然后,您将需要通过远程桌面连接到它。

选择您的EC2实例,然后单击顶部的“连接”。请按照说明进行远程桌面连接。

建立连接后,您将需要做一些事情,然后才能真正开始在机器上安装Parsec。

更改管理员密码

您可能需要将密码更改为更安全的密码。完全是可选的,但我更喜欢将密码更改为其他密码,这样我们为机器生成的密钥对也将变得毫无用处。

禁用CTRL + ALT + DELETE解锁

默认情况下,Windows设置为要求您在每次解锁计算机时都按CTRL + ALT + DELETE —一旦设置了Parsec(并且我们不再使用RDP),我们将无法执行此操作,因此我们需要禁用此功能(以便Parsec也可以为我们自动登录)。

在“开始”菜单中,搜索“本地安全策略”。导航到“本地策略”>“安全选项”,然后将“ 交互式登录:不需要CTRL + ALT + DEL”选项更改为使能够

安装Parsec

开始了。从“开始”菜单中打开Powershell,然后粘贴以下命令。(或者,转到脚本的Github存储库,并在那里获取一个。)

[Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls"
(New-Object System.Net.WebClient).DownloadFile("https://github.com/jamesstringerparsec/Parsec-Cloud-Preparation-Tool/archive/master.zip","$ENV:UserProfile\Downloads\Parsec-Cloud-Preparation-Tool.zip")
New-Item -Path $ENV:UserProfile\Downloads\Parsec-Cloud-Preparation-Tool -ItemType Directory
Expand-Archive $ENV:UserProfile\Downloads\Parsec-Cloud-Preparation-Tool.Zip -DestinationPath $ENV:UserProfile\Downloads\Parsec-Cloud-Preparation-Tool
CD $ENV:UserProfile\Downloads\Parsec-Cloud-Preparation-Tool\Parsec-Cloud-Preparation-Tool-master\
Powershell.exe -File $ENV:UserProfile\Downloads\Parsec-Cloud-Preparation-Tool\Parsec-Cloud-Preparation-Tool-master\Loader.ps1

该脚本将下载James StringerParsec准备脚本,并在Powershell上下文中执行该脚本。基本上,它将为您准备大多数东西,而您只需要看着它去镇上即可。

它会不时询问您一些问题,因此请不要保留太久。

一旦安装了Parsec,请确保您登录到其中的Parsec帐户。

Parsec配置更改

我必须在Parsec上进行一些配置调整,以使其完全起作用:

  • 主持人
    • 托管已启用:已启用(当然)
    • 主机名:将其更改为对您更有意义的名称
  • 网络
    • 客户端端口:9000
    • 主机启动端口:9100

上面的安装脚本应该已经处理了大多数其他事情。

其他要照顾的东西

安装脚本应该已经安装了Xbox软件(用于游戏手柄兼容性)和Razer软件(用于音频)。要完成设置,我们需要做更多的事情。

设置自动登录

在您的桌面上应该是一个“自动登录”文件夹。打开它并在其中运行脚本。输入您的用户名行政人员,以及计算机密码(您现在应该已经更改了此密码)。确认自动登录已成功完成。

运行GPU自动更新器

此外,在桌面上还有GPU自动更新程序脚本的快捷方式。这将安装视频卡所需的所有其他缺少的驱动程序/软件。

运行此命令后,它会提示您一些事情—当询问是否可以重新启动时,只需说“是”即可。这也将要求提供IAM用户凭据—放在我们之前在此处准备的IAM用户访问密钥和秘密访问密钥。

您的计算机将需要重新引导一次或两次才能完成此步骤。机器重新启动后,只需通过RDP重新连接到它,然后再次运行GPU自动更新程序工具。安装完成后,它将告诉您安装是否完成。

设置自动关机

较早前的脚本还安装了一个脚本,该脚本可在机器闲置一段时间后为计算机设置自动关机。考虑运行此命令,以便在您不使用EC2实例时停止它(并为您省钱)。

我个人设置了我20分钟不活动后自动关机。

确认您可以通过Parsec进行连接

确保此时您的远程桌面会话已断开连接。

从 另一台机器,安装Parsec(这次不使用安装脚本)。登录到您的Parsec帐户,然后确认您可以连接到Parsec主机服务器。

建立连接后,Parsec的功能将与早期的Remote Desktop相同,但通常感觉更流畅,更快。

此时,您可以安装游戏(例如Steam)和游戏应用程序(例如Discord),并使用Parsec进行远程播放。

清理

一旦确认可以通过Parsec进行连接,您将要做很多事情。

关闭安全组中的RDP和VNC端口

还记得我们之前为EC2实例创建的安全组吗?

一旦设置了Parsec连接,就不再需要远程桌面和/或使用VNC(即使这样做,也可以再次打开端口)。

因此,您需要修改安全组以删除RDP和VNC端口,以使您的计算机更安全。

从您的IAM用户中删除访问凭据

同样在这一点上,您的EC2实例不再需要您之前创建的IAM用户。

为确保不再使用它(请记住:它具有管理员权限!),您可以删除IAM用户本身,也可以撤消在IAM中为其提供的访问凭据。


结果

延迟将在很大程度上取决于您设置机器的AWS区域以及从何处进行游戏。我在AWS的新加坡,东京和香港地区设置了Parsec主机,从香港流向菲律宾的效果最佳。

即使网络延迟相同,似乎游戏之间的延迟也有所不同。我发现《孤岛危机2》和《巫师3》的游戏体验确实不错,但是《无主之地3》却很难玩-即使这三款游戏的延迟都一样。

来源:理查德·尼尔·伊拉根

赞(1) 打赏
未经允许不得转载:刘旭的人个博客 » 在AWS上使用Parsec创建远程游戏服务器
分享到: 更多 (0)
标签:

评论 抢沙发

评论前必须登录!

 

QQ :13945502电话:13913571631

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

×
订阅图标按钮