Question: My server fails to start with the error 'Failed to bind to port' or 'Address already in use'?
FAQ and Troubleshooting
Explanation of why the SimpleHelp server might be unable to bind to a port
Your SimpleHelp server when it starts reads the configuration file (serverconfig.xml) and tries to bind to all the TCP/UDP ports specified in that file.
If one or more of the ports is taken because some other software is already bound to (using that) port then it will be unable to bind to that port (only one application may be bound to a TCP or UDP port).
If you receive this error then either:
A) some other software is already bound to the ports that SimpleHelp is configured to use.
or B) you have specified an invalid IP address for SimpleHelp to bind to.
If you open the serverconfig.xml file with a text editor you can see what port(s) SimpleHelp is configured to bind to by searching for <Port> tags, for example:
and you can also see what IP addresses SimpleHelp is configured to bind to by searching for <IP> tags, for example:
If SimpleHelp is unable to bind to any combination of your specified IP and Ports then it will fail.
Fixing the issue:
If you see no <IP> tags in your serverconfig.xml file then you have not specified a specific IP address and SimpleHelp will bind to all available IP addresses. In this case the problem is either that:
A) other software is bound to the ports SimpleHelp is trying to use (check that no other web servers are installed on those ports like IIS or Apache)
or B) you do not have permission to run software which binds to those ports (on MacOS or Linux you may need to run sudo or run as 'root')
If you do see <IP> tags you in your serverconfig.xml file then you should check that they are valid. All IP addresses specified must be available on the local machine. If other IP addresses from your network or router are specified which are not for the local machine (e.g. your router WAN IP or router public address) you should remove them.