Some versions of 0.4 and other old distros have that problem.
They cannot bind to IP that is not 'interface' in system.
Is there option to bindOnlyGlobalAddress
in config.lua
? Maybe it will work, if you set it to false
.
When you host at home, your PC IP is in local network like 192.168.1.2, but you try to run server on public internet IP like 89.12.34.56, but this IP is not assigned to your PC in Windows. It should work, as you 'forward ports' on router to your PC, but for some reason OTS code checks, if IP given in config.lua is assigned to any network interface and if not: crash.
I had same problem on Oracle Cloud server. It also does not have public internet IP bind to 'interface' in operating system.
You got to run that engine on VPS, which has public IP or update otserv.cpp
with code from TFS 0.4 that works on local PC (binds to 0.0.0.0 on Windows).