Server function now takes an IP to bind on as the initial argument