question

Kaiwen Yu avatar image
Kaiwen Yu asked

LocalMultiplayerAgent cannot generate Unity Log file

Hi,

My game is build upon Photon Bolt. I have tried submitted my server build direct to PlayFab console however it could not be connected by game client so I am trying to test it using the local process build. I am following this guide to test my server build locally, but I cannot see any Unity console log of my game. That is quite necessary for me to debug. I also want to check the session id generated and logged in server build to connect my client application to test directly.

I can see the game is transitioned to the Active state in Powershell:

CurrentGameState: Active
info: Microsoft.AspNetCore.Mvc.Infrastructure.ObjectResultExecutor[1]
      Executing ObjectResult, writing value of type 'Microsoft.Azure.Gaming.AgentInterfaces.SessionHostHeartbeatInfo'.
info: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[2]
      Executed action LocalMultiplayerAgent.Controllers.SessionHostController.ProcessHeartbeat (LocalMultiplayerAgent) in 19.2519ms
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 19.3938ms 200 application/json; charset=utf-8
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://127.0.0.1:56001/v1/sessionHosts/c49ce0c6-da49-4dd0-8457-2832814d3810/heartbeats application/json 74
info: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[3]
      Route matched with {action = "ProcessHeartbeat", controller = "SessionHost"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] ProcessHeartbeat(System.String, Microsoft.Azure.Gaming.AgentInterfaces.SessionHostHeartbeatInfo) on controller LocalMultiplayerAgent.Controllers.SessionHostController (LocalMultiplayerAgent).


Guide link:

https://docs.microsoft.com/en-us/gaming/playfab/features/multiplayer/servers/localmultiplayeragent/run-process-based-gameserver

My MultiplayerSettings.json is like this:

{
  "AssetDetails": [
    {
      "LocalFilePath": "H:\\workspace\\Unity\\AutoCard\\AutoCard\\Build\\AutoCardServer.zip"
    }
  ],
  "PortMappingsList": [
    [
      {
        "GamePort": {
          "Name": "bolt_server",
          "Protocol": "UDP"
        },
        "NodePort": 60001
      },
      {
        "GamePort": {
          "Name": "master_server1",
          "Protocol": "UDP"
        },
        "NodePort": 5055
      },
      {
        "GamePort": {
          "Name": "master_server2",
          "Protocol": "UDP"
        },
        "NodePort": 27001
      },
      {
        "GamePort": {
          "Name": "game_server1",
          "Protocol": "UDP"
        },
        "NodePort": 5056
      },
      {
        "GamePort": {
          "Name": "game_server2",
          "Protocol": "UDP"
        },
        "NodePort": 27002
      },
      {
        "GamePort": {
          "Name": "name_server1",
          "Protocol": "UDP"
        },
        "NodePort": 5058
      },
      {
        "GamePort": {
          "Name": "name_server2",
          "Protocol": "UDP"
        },
        "NodePort": 27000
      }
    ]
  ],
  "GameCertificateDetails": [],
  "SessionConfig": {
    "SessionCookie": null,
    "SessionId": "993194aa-42b5-48f6-aa5a-4893c269e28e",
    "InitialPlayers": []
  },
  "DeploymentMetadata": {
    "Environment": "LOCAL",
    "FeaturesEnabled": "List,Of,Features,Enabled"
  },
  "TitleId": "22F27",
  "Region": "EastUs",
  "BuildId": "a167ad52-f821-41f4-a56c-10472614bce4",
  "RunMode": 0,
  "ProcessStartParameters": {
    "StartGameCommand": "AutoCard.exe -batchmode -nographics"
  },
  "OutputFolder": "C:\\Assets\\WindowsContainerLogOutput",
  "NumHeartBeatsForActivateResponse": 1,
  "NumHeartBeatsForTerminateResponse": 172800,
  "AgentListeningPort": 56001
}
Also a side question: How can I teminate the Powershell process gracefully. Hitting ctrl-c only terminates the LocalMultiplayerAgent process but the game process won't be stopped, and I have to manually terminate it in task manager.
multiplayer
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

·
Gosen Gao avatar image
Gosen Gao answered

You can find the log file at the default path: Unity Manual - Log files. Or, you can add -logFile C:\\...\\Gamelog.log to the StartGameCommand to specify the path of the log.

"StartGameCommand":"AutoCard.exe -batchmode -nographics -logFile C:\\...\\Gamelog.log"
1 comment
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Kaiwen Yu avatar image Kaiwen Yu commented ·

Thanks that worked!

0 Likes 0 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.