diff --git a/src/server/bnetserver/Realms/WorldListener.cpp b/src/server/bnetserver/Realms/WorldListener.cpp index 6a186ca7080..7b09a6826ea 100644 --- a/src/server/bnetserver/Realms/WorldListener.cpp +++ b/src/server/bnetserver/Realms/WorldListener.cpp @@ -63,9 +63,18 @@ void WorldListener::Run() void WorldListener::HandleOpen() { - _worldSocket->bind(std::string("tcp://*:") + std::to_string(_worldListenPort)); + try + { + _worldSocket->bind(std::string("tcp://*:") + std::to_string(_worldListenPort)); + } + catch (zmqpp::zmq_internal_exception& ex) + { + TC_LOG_FATAL("server.ipc", "Could not bind to WorldserverListenPort %u. Exception: %s. Shutting down bnetserver.", _worldListenPort, ex.what()); + abort(); + } + _poller->add(*_worldSocket); - TC_LOG_INFO("server.ipc", "Listening on connections from worldservers..."); + TC_LOG_INFO("server.ipc", "Listening on connections from worldservers on port %u...", _worldListenPort); } void WorldListener::HandleClose()