Как сделать сервер, который можно запустить на любой машине?
Здесь может быть несколько вариантов. 
Если клиент находится по ту сторону роутера - нужно пробросить порт от роутера к вашему компьютеру.
Если клиент находится в той же локальной сети - добавьте в исключения своего фаервола необходимый порт.
Также есть большая вероятность, что у вас Visual Studio запущено не с правами администратора (даже если вы - локальный админ, Visual Studio всё равно запускается с минимально необходимыми правами по умолчанию).
Ну и, наконец, можно воспользоваться следующей командой, чтобы открыть порт наружу для пользователя "Все":netsh http add urlacl url=http://+:8765/ user=Все listen=yes
Здесь порт 8765 - нужно поменять на свой.
Пробрось порты. Forward port, если машина за роутером, так ещё и NAT надо пробросить.