Failed to setup companion server registration

Hello guys,

I am trying to deal with this issue for last 3 days. We have a VM on own dedicated server virtaulized via (OpenStack/KVM). We use Fedora (or Centos) for VMs and LGSM for gameserver management - running multiple VMS with more than 20 gameservers of 10 different games atm.
On the Vanilla Rust server I can pair the Rust+ APP with the server without any issues, as soon as I install the Oxide/uMod there is this message in the log and I can´t pair the server with the Rust+ mod. I can uninstall the Oxide/uMod and validate serverfiles to make Rust+ APP pair working again.

Server startup complete
Failed to setup companion server registration: System.Net.Http.HttpRequestException: An error occurred while sending the request ---> System.Net.WebException: Error: NameResolutionFailure
  at System.Net.HttpWebRequest.EndGetRequestStream (System.IAsyncResult asyncResult) [0x0003a] in <14e3453b740b4bd690e8d4e5a013a715>:0 
  at System.Threading.Tasks.TaskFactory`1[TResult].FromAsyncCoreLogic (System.IAsyncResult iar, System.Func`2[T,TResult] endFunction, System.Action`1[T] endAction, System.Threading.Tasks.Task`1[TResult] promise, System.Boolean requiresSynchronization) [0x0000f] in <fb001e01371b4adca20013e0ac763896>:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <fb001e01371b4adca20013e0ac763896>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <fb001e01371b4adca20013e0ac763896>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <fb001e01371b4adca20013e0ac763896>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <fb001e01371b4adca20013e0ac763896>:0 
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <fb001e01371b4adca20013e0ac763896>:0 
  at System.Net.Http.HttpClientHandler+<SendAsync>d__64.MoveNext () [0x002e7] in <7ebf3529ba0e4558a5fa1bc982aa8605>:0 
   --- End of inner exception stack trace ---
  at System.Net.Http.HttpClientHandler+<SendAsync>d__64.MoveNext () [0x00478] in <7ebf3529ba0e4558a5fa1bc982aa8605>:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <fb001e01371b4adca20013e0ac763896>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <fb001e01371b4adca20013e0ac763896>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <fb001e01371b4adca20013e0ac763896>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <fb001e01371b4adca20013e0ac763896>:0 
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <fb001e01371b4adca20013e0ac763896>:0 
  at System.Net.Http.HttpClient+<SendAsyncWorker>d__47.MoveNext () [0x000ca] in <7ebf3529ba0e4558a5fa1bc982aa8605>:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <fb001e01371b4adca20013e0ac763896>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <fb001e01371b4adca20013e0ac763896>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <fb001e01371b4adca20013e0ac763896>:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <fb001e01371b4adca20013e0ac763896>:0 
  at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <fb001e01371b4adca20013e0ac763896>:0 
  at CompanionServer.Server+<SetupServerRegistration>d__15.MoveNext () [0x0009e] in <a34e7683b69f4178abf09c977fe4da3e>:0  
(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)

But as you can see below, server with Oxide/uMod installed seems to be configured well (here are screenshots of the server when Oxide/uMod was installed):

4TKuHv1d7sF8nYc.png
fqxqKQk5yDkHEM3.png
yKFcpdqoubXb6P4.png

tcp 0 0 *.*.*.*:28082 *.*.*.*:* LISTEN 617290/./RustDedica

I notitced some admins on Rust Discord or here on the commuity board having similar issue but none of them shared solution, does anyone know what can I do to debug and solve this issue?

Thanks

Tomas

The error doesn't have any relation to Oxide.

The actual exception shows the cause of the issue: NameResolutionFailure. That message means that the server could not resolve the domain name used for the service.

Hello Wulf, any ideas why this exception occures only when Oxide is installed? This exception does not occure on the vanilla server, it occures only on the server with Oxid/uMod. Is there any chance I can enable debug mode to figure out what doimain it wants to be resolved? Thank you very much, any idea is appreciated! I hope you are doing well and you are safe. Thanks Tomas

It's possible you only see it while it is installed, but potentially still there. I don't see why you would see it with Oxide installed, being as Oxide doesn't touch the networking in Rust.

Well, I don't know what exactly Oxide changes but steamcmd downloads some dlls I guess Oxide replaces, doesn't it?

[2021-02-02 22:57:20] AppID 258550 update changed : Running,Validating,
[2021-02-02 22:57:33] Validation: missing file "RustDedicated_Data\Managed\Assembly-CSharp.dll"
[2021-02-02 22:57:33] Validation: missing file "RustDedicated_Data\Managed\Facepunch.Console.dll"
[2021-02-02 22:57:33] Validation: missing file "RustDedicated_Data\Managed\Facepunch.Network.dll"
[2021-02-02 22:57:33] Validation: missing file "RustDedicated_Data\Managed\Facepunch.Rcon.dll"
[2021-02-02 22:57:33] Validation: missing file "RustDedicated_Data\Managed\Facepunch.UnityEngine.dll"
[2021-02-02 22:57:33] Validation: missing file "RustDedicated_Data\Managed\NewAssembly.dll"
[2021-02-02 22:57:33] Validation: missing file "RustDedicated_Data\Managed\System.Data.dll"
[2021-02-02 22:57:33] Validation: missing file "RustDedicated_Data\Managed\System.Drawing.dll"
[2021-02-02 22:57:33] Validation: missing file "RustDedicated_Data\Managed\System.Runtime.Serialization.dll"
[2021-02-02 22:57:33] Validation: missing file "RustDedicated_Data\Managed\System.Transactions.dll"
[2021-02-02 22:57:33] Validation: corrupt chunk 59fdc842ccba6ece0875557eefc9d3c9419c81b0 has aa023fa5f138744d47a4333e41caaf0ba65f05ac at offset 0 (11 bytes)
​

oxide zipas soon as I validate the server files, the Rust+ feature starts to work again, which seem wierd to me, dunno what's wrong here

Yes, Oxide replaces some files.

Hello,
I am using Fedora and LGSM on the KVM guest, so simillar environment to yours.
I have encountered same problem after upgraded Fedora 32 to 33.
I found that DNS resolve mechanism has changed to use systemd-resolved on fedora 33.

Workaround is stop systemd-resolved:

  • Disable and stop systemd-resolved.service.
    sudo systemctl disable systemd-resolved.service
    sudo systemctl stop systemd-resolved.service
  • Delete /etc/resolv.conf
    sudo rm /etc/resolv.conf
  • Restart the NetworkManager service.
    sudo systemctl restart NetworkManager.service

https://fedoraproject.org/wiki/Changes/systemd-resolved#Detailed_Description

But I want to use systemd-resolved method if possible, which is standard.
I have no idea the detail of fedora's DNS resolve mechanism and which DNS information file Rust Server refering...