Issues after migrating to new hardware

OS Name/Version: Debian 12

Product Name/Version: “Phobos” v2.6.0.12

Problem Description:
I followed other posts to migrate my Amp server from a VM running in XCP-NG to a new physical bare-metal Debian 12 install. (specifically this post since it appeared to be the most recent): Configuration with Application Deployment - How to migrate AMP and all instances to new server?

I had no issues with the archiving/copying/unarchiving the .ampdata folder and the instances do appear in the new console. However, none of the instances will actually start up. They remain in “Application waiting” state, like this:

I HAVE re-run the “ampinstmgr reactivateall” command a few times to try and get them to start, but all it seems to be doing is incrementing my license activation count unnessessarily (I’m already up to 7 out of 15 activations, but should only have 3 total!)

I’m not sure what to try next; there’s really only 2 game instances that have hundreds of hours of gameplay on them that I need to keep; I’m OK with re-creating the few other instances I host.

Steps to reproduce:

  • Installed Amp on new hardware & go through the setup process such as pasting in the activation key
  • Stopping the new server (ADS01) as the amp user
  • Stopping the ampinstmgr systemd process as root
  • Wiped out the .ampdata folder
  • SCP’d the old server’s .ampdata folder to the new host
  • extracted the tarball .ampdata folder
  • ran the “ampinstmgr fixperms” as the root user
  • ran the “systemctl start ampinstmgr” as root
  • ran the “ampinstmgr reactivateall” as the amp user
  • rebooted the physical server, just to be safe

Actions taken to resolve so far:

  • re-ran “ampinstmgr fixperms” as root several times
  • re-ran “ampinstmgr reactivateall” as amp user, pasted in my key again (which adds yet another “activation” to my key

Have you checked that instances logs? (Right click > View Logs)

Yes, and in both cases, it basically just says the instance can’t bind to the specified address:

[Error] OS: Linux (x86_64/Docker)
[Error] Module: GenericModule, Version: AMP 2.6.0.12
[Error] Release spec: Mainline - built by CUBECODERS/buildbot on CCL-DEV
[Error] Instance ID: 629a1fc3-a551-49ae-af09-3c0df44e0758
[Error] SocketException
[Error] [0] (SocketException) : Cannot assign requested address
[Error]    at Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, Boolean disconnectOnFailure, String callerName)
   at Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at Net.Sockets.Socket.Bind(EndPoint localEP)
   at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportOptions.CreateDefaultBoundListenSocket(EndPoint endpoint)
   at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind()
   at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportFactory.BindAsync(EndPoint endpoint, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.TransportManager.BindAsync(EndPoint endPoint, ConnectionDelegate connectionDelegate, EndpointConfig endpointConfig, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.<>c__DisplayClass28_0`1.<<StartAsync>g__OnBind|0>d.MoveNext()
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions.BindAsync(AddressBindContext context, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.EndpointsStrategy.BindAsync(AddressBindContext context, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindAsync(ListenOptions[] listenOptions, AddressBindContext context, Func`2 useHttps, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.BindAsync(CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.StartAsync[TContext](IHttpApplication`1 application, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Hosting.GenericWebHostService.StartAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.Internal.Host.<StartAsync>b__15_1(IHostedService service, CancellationToken token)
   at Microsoft.Extensions.Hosting.Internal.Host.ForeachService[T](IEnumerable`1 services, CancellationToken token, Boolean concurrent, Boolean abortOnFirstException, List`1 exceptions, Func`3 operation)
   at Microsoft.Extensions.Hosting.Internal.Host.<StartAsync>g__LogAndRethrow|15_3(<>c__DisplayClass15_0&)
   at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.Start(IHost host)
   at GSMyAdmin.WebServer.LocalWebServer.Start()
   at GSMyAdmin.Core.Run()
   at GSMyAdmin.Program.Main()
[Error] --- End Exception Data ---
[Warning] Last error was raised less than 60 minutes ago, error report will not be submitted.

[19:50:47] [ErrorReporter Info/1] : ####################################
[19:50:47] [ErrorReporter Info/1] : #         Self Diagnostics         #
[19:50:47] [ErrorReporter Info/1] : ####################################
[19:50:47] [ErrorReporter Info/1] : AMP tried to listen on an IP address that is does not exist on this system. This may be caused by having AMP or an application bound to a specific IP while using dynamic IPs or DHCP. Try binding to 0.0.0.0, or turning on 'StoreIPAddressesAsMACAddresses' in AMPConfig.conf and re-configuring any network settings for this instance if you're using dynamic IPs or containers.

All instances are defined to run as docker containers using host networking. So, there shouldn’t be any specific bound IP addresses other than the host’s address.

I’ve looked through all the config values available through the GUI (I haven’t ventured into how to check the AMPConfig.conf yet).

The host itself is using DHCP with a static reservation. However, the new host has a different IP than the older VM-based host, but they are on the same subnet in the same VPC.

Hmmm…

I found LOTS of instances of the old VM-based server’s IP address in too many places:

root@amp:/home/amp# find . -type f -exec grep -l '10.0.1.62' {} \;
./.ampdata/instances/Enshrouded01/.steam/steam/logs/connection_log_15637.txt
./.ampdata/instances/Enshrouded01/datastore.dat
./.ampdata/instances/Enshrouded01/AMPConfig.conf.old
./.ampdata/instances/Enshrouded01/AMP_Logs/AMPLOG 2025-02-07 00-00-00.log
./.ampdata/instances/Enshrouded01/AMP_Logs/AMPLOG 2025-02-10 00-00-00.log
./.ampdata/instances/Enshrouded01/AMP_Logs/AMPLOG 2025-02-06 00-00-03.log
./.ampdata/instances/Enshrouded01/AMP_Logs/AMPLOG 2025-02-06 21-35-03.log
./.ampdata/instances/Enshrouded01/AMP_Logs/AMPLOG 2025-02-04 07-14-44.log
./.ampdata/instances/Enshrouded01/AMP_Logs/AMPLOG 2025-02-09 00-00-00.log
./.ampdata/instances/Enshrouded01/AMP_Logs/AMPLOG 2025-02-04 06-42-01.log
./.ampdata/instances/Enshrouded01/AMP_Logs/AMPLOG 2025-02-04 16-51-01.log
./.ampdata/instances/Enshrouded01/AMPConfig.conf
./.ampdata/instances/Enshrouded01/core
./.ampdata/instances/Enshrouded01/.virtualhome/Steam/logs/connection_log.txt
./.ampdata/instances/Enshrouded01/enshrouded/2278520/.steam/steam/logs/connection_log_15637.txt
./.ampdata/instances/Enshrouded01/enshrouded/2278520/core
./.ampdata/instances/ADS01/datastore.dat
./.ampdata/instances/ADS01/AMP_Logs/AMPLOG 2025-02-04 07-14-35.log
./.ampdata/instances/ADS01/AMP_Logs/AMPLOG 2025-02-10 00-00-00.log
./.ampdata/instances/ADS01/AMP_Logs/AMPLOG 2025-02-06 00-00-59.log
./.ampdata/instances/ADS01/AMP_Logs/AMPLOG 2025-02-04 16-50-25.log
./.ampdata/instances/ADS01/AMP_Logs/AMPLOG 2025-02-04 00-00-59.log
./.ampdata/instances/ADS01/AMP_Logs/AMPLOG 2025-02-09 00-00-00.log
./.ampdata/instances/ADS01/AMP_Logs/AMPLOG 2025-02-07 00-00-59.log
./.ampdata/instances/ADS01/AMP_Logs/AMPLOG 2025-02-12 01-19-00.log
./.ampdata/instances/Minecraft01/datastore.dat
./.ampdata/instances/Minecraft01/AMPConfig.conf.old
./.ampdata/instances/Minecraft01/AMP_Logs/AMPLOG 2025-02-04 16-50-53.log
./.ampdata/instances/Minecraft01/AMP_Logs/AMPLOG 2025-02-10 00-00-00.log
./.ampdata/instances/Minecraft01/AMP_Logs/AMPLOG 2025-02-06 21-35-02.log
./.ampdata/instances/Minecraft01/AMP_Logs/AMPLOG 2025-02-04 07-14-41.log
./.ampdata/instances/Minecraft01/AMPConfig.conf
./.ampdata/instances/Satisfactoserver0101/AMPConfig.conf.old
./.ampdata/instances/Satisfactoserver0101/AMP_Logs/AMPLOG 2025-02-04 07-14-40.log
./.ampdata/instances/Satisfactoserver0101/AMP_Logs/AMPLOG 2025-02-06 21-35-00.log
./.ampdata/instances/Satisfactoserver0101/AMP_Logs/AMPLOG 2025-02-04 16-50-45.log
./.ampdata/instances/Satisfactoserver0101/AMPConfig.conf
./.ampdata/instances/Satisfactoserver0101/satisfactory/1690800/FactoryGame/Binaries/Linux/libFactoryServer-FactoryGame-Linux-Shipping.debug
./.ampdata/instances/Satisfactoserver0101/.virtualhome/Steam/logs/connection_log.txt
./.ampdata/instances.json
./.ampdata/instances.json-20240830.bak
./.ampdata/instances.json-20241023.bak
./.ampdata/instances.json-20240829.bak
./.ampdata/instances.json-20240913.bak
./.ampdata/instances.json-20240910.bak
./.ampdata/instances.json-20240912.bak
./.ampdata/instances.json-20240908.bak
./.ampdata/instances.json-20240925.bak
./.ampdata/instances.json-20240903.bak
./.ampdata/instances.json-20250212.bak
./.ampdata/instances.json-20240920.bak
./.ampdata/instances.json-20250207.bak
./.ampdata/instances.json-20241226.bak
./.ampdata/instances.json-20241031.bak
./.ampdata/instances.json-20250204.bak
./.ampdata/instances.json-20240919.bak
./.ampdata/instances.json-20240828.bak
root@amp:/home/amp#

I’m betting this has some bearing on why it’s failing to bind. But, how to fix that?

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.