Address already in use
2023-07-28T01:59:49 60.271 INF WeatherManager: ApplySavedPackages 2023-07-28T01:59:49 60.320 INF Loaded player 2023-07-28T01:59:49 60.483 INF Setting for 'LootRespawnDays' does not match the default (server will go to the modded categ⏎ ory): current = 30, default = 7 2023-07-28T01:59:49 60.632 EXC Address already in use at System.Net.Sockets.Socket.Bind (System.Net.EndPoint localEP) [0x00043] in <9a5908592ec248aabadc2c9fa04395eb>:0 at System.Net.Sockets.TcpListener.Start (System.Int32 backlog) [0x00044] in <9a5908592ec248aabadc2c9fa04395eb>:0 at System.Net.Sockets.TcpListener.Start () [0x00000] in <9a5908592ec248aabadc2c9fa04395eb>:0 at ServerInformationTcpProvider.StartServer () [0x00028] in :0 UnityEngine.StackTraceUtility:ExtractStringFromException(Object) Log:Exception(Exception) ServerInformationTcpProvider:StartServer() d__146:MoveNext() UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr) 2023-07-28T01:59:49 60.638 INF [EOS] Registering server [S_API] SteamAPI_Init(): Loaded local 'steamclient.so' OK. CAppInfoCacheReadF
The error “Address already in use” is thrown when you’re trying to bind a network socket to an IP address/port combination that’s already bound to a different socket.
In more detail:
- System.Net.Sockets.Socket.Bind (System.Net.EndPoint localEP) – This is the point where your application is attempting to bind a socket to a specific network endpoint, which is made up of an IP address and a port.
- System.Net.Sockets.TcpListener.Start (System.Int32 backlog) and System.Net.Sockets.TcpListener.Start () – These lines are attempting to start a TCP listener. This listener waits for incoming client requests and typically does this by binding a socket to a specific IP address and port.
- ServerInformationTcpProvider.StartServer () – This seems to be a custom method in your code (or the library you’re using) that’s attempting to start a server. It appears this is where the problem originates.
The error message “Address already in use” means that another process or application on your machine is already using the IP address/port combination that your application is trying to bind to. It could be that another instance of the same application is running or a completely different application is using that port.
To solve this issue, you could either:
- Change the port that your application is trying to bind to. You will need to ensure that the new port is not in use and is not a reserved port (ports below 1024 are generally reserved for well-known services and should typically not be used for other purposes).
- Find out which application is currently using the port and stop it. You can do this using the ‘netstat’ command (or equivalent for your operating system) to see a list of all processes and the ports they’re using. Be careful with this approach, as stopping processes can have consequences if they’re doing important work.
In either case, make sure your application correctly releases the socket when it’s done with it, especially if it crashes or is stopped abruptly. If the application doesn’t properly release the socket, it might still be bound to the IP address and port, making it appear as if the address is still in use even though the application isn’t running anymore.
Related posts:
Undead Legacy has gained a strong following within the 7 Days to Die community. As
Question I wanted to ask how the time in server works. Does the time count
Catalysm’s Server Manager & Monitor (CSMM) Catalyst’s Server Manager & Monitor (CSMM) can be used