【问题标题】:Service Fabric can't connect to guest executable on UDP (Unreal Engine Server)Service Fabric 无法连接到 UDP(虚幻引擎服务器)上的来宾可执行文件
【发布时间】:2018-01-28 12:39:43
【问题描述】:

我正在尝试将 Unreal Server 来宾可执行文件部署到 Service Fabric。 我一直在关注这篇博文:

http://haishibai.blogspot.com/2017/03/setting-up-highly-available-minecraft.html

除非我不使用容器并使用基于 Windows 的服务。

在本地集群上一切正常。我可以从客户端连接到部署的服务器。

尝试连接远程服务器时,我无法连接到它。

查看我的服务结构管理页面时,我的服务器进程似乎正在运行(它具有正确的进程 ID)。

在我的 LoadBalancing 服务中,我在 UDP/7777 上进行了端口转发,尽管 HealthProbes 在 TCP 上(没有选择 UDP 的选项,我不知道是否这样)。

这是我的服务清单:

<?xml version="1.0" encoding="utf-8"?>
<ServiceManifest Name="UnrealGuestPkg"
                 Version="1.0.0"
                 xmlns="http://schemas.microsoft.com/2011/01/fabric"
                 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ServiceTypes>
    <!-- This is the name of your ServiceType. 
         The UseImplicitHost attribute indicates this is a guest executable service. -->
    <StatelessServiceType ServiceTypeName="UnrealGuestType" UseImplicitHost="true" />
  </ServiceTypes>

  <!-- Code package is your service executable. -->
  <CodePackage Name="Code" Version="1.0.0">
    <!-- The SetupEntryPoint is an optional element used to specify a
         program to be executed before the service's code is launched. -->
    <!--
    <SetupEntryPoint>
      <ExeHost>
        <Program></Program>
      </ExeHost>
    </SetupEntryPoint>
    -->
    <EntryPoint>
      <ExeHost>
        <Program>ActionRPGGame\Binaries\Win64\ActionRPGGameServer.exe</Program>
        <Arguments>-log</Arguments>
        <WorkingFolder>CodeBase</WorkingFolder>
        <!-- Uncomment to log console output (both stdout and stderr) to one of the
             service's working directories. -->
        <!-- <ConsoleRedirection FileRetentionCount="5" FileMaxSizeInKb="2048"/> -->
      </ExeHost>
    </EntryPoint>
  </CodePackage>

  <!-- Config package is the contents of the Config directoy under PackageRoot that contains an 
       independently-updateable and versioned set of custom configuration settings for your service. -->
  <ConfigPackage Name="Config" Version="1.0.0" />

  <Resources>
    <Endpoints>
      <!-- This endpoint is used by the communication listener to obtain the port on which to 
           listen. Please note that if your service is partitioned, this port is shared with 
           replicas of different partitions that are placed in your code. -->
      <Endpoint Name="UnrealGuestTypeEndpoint" Port="7777" Protocol="udp" />
    </Endpoints>
  </Resources>
</ServiceManifest>

【问题讨论】:

    标签: azure-service-fabric unreal-engine4


    【解决方案1】:

    1.您似乎缺少服务endpoint 配置。

    <Resources>
      <Endpoints>
        <!-- This endpoint is used by the communication listener to obtain the port on which to 
             listen. Please note that if your service is partitioned, this port is shared with 
             replicas of different partitions that are placed in your code. -->
        <Endpoint Name="ServiceEndpoint" Port="7777" />
      </Endpoints>
    </Resources>
    
    1. 负载平衡器上的探测不支持 UDP。因此,公开第二个使用 tcp 的服务端点,作为健康端点。

    【讨论】:

      猜你喜欢
      • 2018-10-04
      • 2016-12-10
      • 2019-02-21
      • 2017-07-07
      • 2017-01-28
      • 2019-08-16
      • 2020-08-12
      • 2018-03-11
      • 2017-09-21
      相关资源
      最近更新 更多