2

I am building an online multiplayer game using Unity. I use the "Mirror" Library. After some time developing with the "Telepathy" transporter in local (opening two instances on my computer) I decide to move on to Steam multiplayer, using SteamWorks.NET the "FizzySteamWorks" library as a transporter. On the 25th of October, it worked. After this success, I continued adding feature etc. while not testing as I always needed a live cobaye for Steam Multiplayer. I finally test it again, I get this error "Connection was closed by peer, Timed out attempting to negotiate rendezvous" on my client while trying to connect to the host. I try to fix it, doesn't work. I go back to my commit of the 25th, I get the same error. The error comes from file of the FizzySteamworks library, which I copy-pasted in the file system, so there's no way it updated without me knowing. I do not understand how the same code can go from working to not working in a week, maybe it comes from Steam ? Or from a file ignored by git ? Here is the content of my .git ignore :

#
# Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore
#
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/[Ll]ogs/
/[Mm]emoryCaptures/

# Asset meta data should only be ignored when the corresponding asset is also ignored
!/[Aa]ssets/**/*.meta

# Uncomment this line if you wish to ignore the asset store tools plugin
# /[Aa]ssets/AssetStoreTools*

# Autogenerated Jetbrains Rider plugin
[Aa]ssets/Plugins/Editor/JetBrains*

# Visual Studio cache directory
.vs/

# Gradle cache directory
.gradle/

# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.mdb
*.opendb
*.VC.db

# Unity3D generated meta files
*.pidb.meta
*.pdb.meta
*.mdb.meta

# Unity3D generated file on crash reports
sysinfo.txt

# Builds
*.apk
*.unitypackage

# Crashlytics generated file
crashlytics-build.properties

Here are screens from my client console when it tries to connect :

First screen of my clients error

enter image description here

The most important returns are, I guess, the message which says

Connection was closed by peer, Timed out attempting to negotiate rendezvous
UnityEngine.Debug:Log (object)
Mirror.FizzySteam.NextClient:OnConnectionStatusChanged (Steamworks.SteamNetConnectionStatusChangedCallback_t) (at Assets/Mirror/Runtime/Transport/FizzySteamworks/NextClient.cs:137)
Steamworks.Callback`1<Steamworks.SteamNetConnectionStatusChangedCallback_t>:OnRunCallback (intptr) (at Assets/Mirror/Runtime/Transport/FizzySteamworks/Dependencies/Runtime/CallbackDispatcher.cs:291)
Steamworks.CallbackDispatcher:RunFrame (bool) (at Assets/Mirror/Runtime/Transport/FizzySteamworks/Dependencies/Runtime/CallbackDispatcher.cs:191)
Steamworks.SteamAPI:RunCallbacks () (at Assets/Mirror/Runtime/Transport/FizzySteamworks/Dependencies/Runtime/Steam.cs:112)
SteamManager:Update () (at Assets/Mirror/Runtime/Transport/FizzySteamworks/Scripts/Steamworks.NET/SteamManager.cs:169)

followed by the error which says :

The connection attempt was cancelled.
UnityEngine.Debug:LogError (object)
Mirror.FizzySteam.NextClient/<Connect>d__26:MoveNext () (at Assets/Mirror/Runtime/Transport/FizzySteamworks/NextClient.cs:80)
System.Threading.CancellationTokenSource:Cancel ()
Mirror.FizzySteam.NextClient:Disconnect () (at Assets/Mirror/Runtime/Transport/FizzySteamworks/NextClient.cs:148)
Mirror.FizzySteam.NextClient:OnConnectionStatusChanged (Steamworks.SteamNetConnectionStatusChangedCallback_t) (at Assets/Mirror/Runtime/Transport/FizzySteamworks/NextClient.cs:138)
Steamworks.Callback`1<Steamworks.SteamNetConnectionStatusChangedCallback_t>:OnRunCallback (intptr) (at Assets/Mirror/Runtime/Transport/FizzySteamworks/Dependencies/Runtime/CallbackDispatcher.cs:291)
Steamworks.CallbackDispatcher:RunFrame (bool) (at Assets/Mirror/Runtime/Transport/FizzySteamworks/Dependencies/Runtime/CallbackDispatcher.cs:191)
Steamworks.SteamAPI:RunCallbacks () (at Assets/Mirror/Runtime/Transport/FizzySteamworks/Dependencies/Runtime/Steam.cs:112)
SteamManager:Update () (at Assets/Mirror/Runtime/Transport/FizzySteamworks/Scripts/Steamworks.NET/SteamManager.cs:169)

Here is the return I get from my host console, it doesn't notify the failure anyhow.

enter image description here

Christoph Rackwitz
  • 11,317
  • 4
  • 27
  • 36
Pordrack
  • 21
  • 2
  • I'm having this same issue, have you tried older Unity/Mirror versions? I'm on latest on both. – porfiriopartida Jan 11 '22 at 07:33
  • Update on this: My issue is related to https://github.com/rlabrecque/Steamworks.NET/issues/424 I went and commented the SteamNetworkingMessage_t.Release for now. There is still a problem, but with that at least you can move forward. – porfiriopartida Jan 11 '22 at 23:40

0 Answers0