Скромно. Основа вывода сервера в Интернет и одновременная работа с локальной сетью. Вопросов возникает много, проблемы всего 4. 1) параметры запуска. 2) используемый патч. 3) у вас стоит ADSL модем или роутер.
4) у вас нет своего внешнего IP адреса, хотя бы динамического. И здесь
только если заказывать услугу выделенного внешнего адреса у провайдера.
Звоните в техподдержку провайдера, узнавайте о предоставление внешнего
адреса, подключайте услугу, а только потом читайте решение оставшихся
3-х проблем.
Параметры запуска и патч для Windows. (проблема 1-ая и 2-ая) -console
– параметр не влияет на работу сети, просто я буду его указывать,
потому что предпочитаю запускать сервер в консольке, без gui интерфейса.
Команда только для Windows серверов. +sv_lan – параметр
указывает серверу КС, что мы работаем с локальной сетью или нет. 1/0 –
соответственно. Тут есть большое НО: если написать +sv_lan 0, то на
сервере не будет работать админка и статистика по ip адресу. Только ник
или стим идентификатор. Вот так вот почему то решили когда делали игру
HL. Так что ставим +sv_lan 1, а что бы не казалось что тут возникает
парадокс, вроде и мы про Интернет сервер говорим, а ставим режим
локальной сети, говорю, что 29 патч решает эту делему, позволяя серверу
работать и с локальными коннектами и с Интернет. Внимание: данный
параметр может стать не значительным или вовсе не работающим при
наложение различных патчей. Подробности узнавайте в спецификации каждого
конкретного патча. +ip – параметр советую опустить, тем, кто
использует Windows, и никогда не указывать. Он указывает серверу на
каком адресе мы будем работать. Адрес должен принадлежать вашему компьютеру.
Так как нам нужно работать на все интерфейсы, т.е. и на инет и на
локалку, то можно ставить +ip 0.0.0.0, иногда, в зависимости от патча,
можно просто не указывать его и сервер будет по умолчанию работать на
всех адресах, что «найдёт» на вашем компьютере. К сожалению, для Linux
решения пока не нашёл. При sv_lan 1 зайти на сервер из Сети можно, но он
себя не публикует. При sv_lan 0 (или если не указывать этот параметр)
возникает проблема с админкой - по ip не работает. (только ник и steam
id) +port – параметр указывает на каком порту будет
работать сервер. Если не указывать, то будет стандартный порт – 27015.
Параметр указывает для того, что бы можно было сделать несколько
серверов, а т.к. на одном порту два сервера вешать нельзя, то можно
написать +port 27016 и сервер будет работать на 27016 порту. -nomaster
– если вы не хотите что бы сервер был виден в поиске серверов,
фаворитах или хистори КС, то укажите, если хотите, что бы он там маячил и
на него могли зайти увидев в поиске, и не зная заранее вашего адреса,
то не ставьте этот параметр. Внимание: данный параметр может стать
не значительным или вовсе не работающим при наложение различных патчей.
Подробности узнавайте в спецификации каждого конкретного патча.
Все
остальные параметры не критичны для работы с сетью, не будем их
рассматривать. На этом форуме есть полный список параметров, используйте
поиск. Из нашего списка параметры в сборе примерно выглядят так (для
примера, но помним что порт и nomaster писать исключительно из личных
соображений): -console +sv_lan 1 +port 27015 –nomaster. Обратите
внимание на знаки «+» и «-» перед параметрами. Они имеют решающие
значение. Параметры с «+» можно указать в server.cfg. Так что следите,
что бы они не были и там и там, а то значения могут менять и при запуске
будет одно, а из конфига поменяется на другое и будете ломать голову.
Хороший патч для Windows пока не обнаружен. (после смены протокола старые патчи постеряли свою актуальность)
Закрываем тему параметров.
Дальше нам нужно выяснить каким образом вы подключаетесь к Сети (Сеть с большой буквы имеется ввиду Интернет).
1) Вы включили компьютер. К вам в компьютер идёт кабель откуда то с
лестничной клетки. Для доступа в Сеть вам нужно запустить нечто с
рабочего стола или из сетевых подключений (это нечто - vpn соединение). В
таком случае в 99% случаев у вас есть внешний ip и он является только
вашим, т.е. на него можно конектиться и попасть на ваш компьютер. Вам
остаётся только правильно воспользоваться набором параметров, который я
описал выше. 2) Вы включили компьютер. К вам в компьютер идёт кабель
откуда то с лестничной клетки. У вас сразу есть Интернет, но при этом у
вас нет роутера/ADSL модема. В таком случае вам лучше прочитать 4 пункт
проблем, написанной в самом начале этой статьи, ибо это ваш случай.
Провайдер раздаёт Интернет со своего оборудования в подъезде и через
него выходят ещё десяток, а может быть и сотня, пользователей и у вас
один на всех адрес.
Роутер или модем. (проблема 3-я) По
сути проблема из-за этих двух устройств появляется потому, что люди не
знают как они работают, а точнее по средством чего они маршрутизируют
трафик. (трафик – все скачанные/отданные объёмы информации проходящая
через ваше устройство). Знали бы – делали всё сами. Кто знает – молодец,
выскакивать не обязательно. Случай первый: у вас есть роутер или модем. вы включаете компьютер и Интернет уже есть. Параметры сетки такие: 1) локальная машина адрес компа: 192.168.1.2 адрес шлюза: 192.168.1.1 (внутренний адрес вашего роутера/ADSL модема)
2) роутер/ADSL модем У
роутера/ADSL модема есть внешний адрес, который они получили от
Интернет провайдера после того, как подключились к серверу провайдера
(там забита учётная запись указанная в договоре с провайдером, адрес
сервера. Устройство само подключается и следит за соединением).
Интернет адрес может быть какой угодно, только не из диапазонов:
Цитата 192.168.0.0/16 (192.168.0.0 - 192.168.255.255) маска /16 = 255.255.0.0
172.16.0.0/12 (172.16.0.0 - 172.31.255.255) маска /12 = 255.240.0.0
10.0.0.0/8 (10.0.0.0 - 10.255.255.255) маска /8 = 255.0.0.0 - эти диапазоны зарезервированы под малые или большие локальные сети, офисного или городского масштаба. Если у вас нечто похожее на описанную мной конструкцию то у вас на роутере/ADSL модеме настроен NAT. Как работает NAT и что он вообще делает(моя редакция, простыми словами)?: NAT
это протокол маршрутизации. Он служит преобразователем адресов
локальных устройств в (ну допустим) один внешний адрес. Т.е. если вы
сидите за устройством с NAT, и вы обладаете адресом вида 192.168.1.2, то
NAT все пакеты идущие с этого адреса маркирует и выпускает в Сеть уже
со своим внешним адресом (внешним адресом полученным роутером/ADSL
модемом от провайдера). Когда пакеты возвращаются с информацией он
проверяет маркировку и, уже зная на какой внутренний адрес отправить
пришедшие пакеты, направляет их на локальный адрес. Здесь становится
понятна проблема – люди из Сети ломятся на ваш адрес, попадают на модем,
которому и принадлежит ваш внешний адрес и всё… протокол NAT работает
только в одну сторону и не знает куда ему девать пакеты пришедшие извне,
без маркировки. Максимум что можно добиться в таком случае –
подключиться к самому роутеру/ADSL модему но понятно, что клиентом
Counter Strike это не получится =). Решение есть и оно очень простое –
пробросить внешний порт на внутренний адрес. Что это значит? –
расскажу опять немного теории. Все сетевые приложения работают по
определённому протоколу. Будь то набор протоколов TCP/IP или UDP. (есть
ещё, остальное нас не интересует). В чём в них разница – нам тоже не
интересно. А так же сетевые приложения работают на каком либо порту.
Порты эти виртуальные. Для UDP в его классическом применение вообще нет
понятия порт, но в КС оно имеется – так уж разработчики придумали обмен
между клиентом и сервером, а зачем и почему для нас сейчас тоже не
важно. КС работает по умолчанию на 27015 UDP порту. Параметры позволяют
сменить порт (об этом читать в начале статьи). Теория кончилась. Когда
клиент КС коннектится на адрес принадлежащий роутеру/ADSL модему, то он
по мимо адреса есть ещё и порт коннекта – вот именно по нему и можно
узнать, что делать с трафиком пришедшим на роутер/ADSL модем! Само
решение звучит просто – перебросить 27015 порт протокола UDP на
внутренний адрес, т.е. на ваш компьютер, где запущен сервер CS. Реализация.
Открываем любимый браузер, вбиваем туда адрес основного шлюза и жмём на
кнопку <Enter>. Логин и пароль для доступа ищите где хотите (в
документации указаны заводские стандартные учётные данные или у того,
кто настраивал, если не подходит). Далее надо найти настройки NAT (NAT
settings). У каждого производителя это в разных местах, так что
полазайте там просто, думаю, что за пол минуты найдете. Дальше либо
Virtual server или Port forwarding – тоже зависит от производителя
устройства. Обычно даётся минимум 4 поля для заполнения: - Port Range – внешний порт (нам нужен 27015) - IP address (Local IP) – на какой адрес кидать (из примера 192.168.1.2) -
Local Port – на какой порт локальной машины (указывайте тот же, что и
внешний. В вашем случае нет смысла ставить разные значения) (27015) - Выбрать потокол – нужны нам протокол (UDP) Возможно
ещё будет Protocol No. и Description – заполнять не обязательно, но в
дискрипшн лучше записать что то типа «это сервер кс на моём компе». Типа
что бы не забыть потом что это такое, и когда пробросов со временем
может появиться десяток, будет видно что это такое + другим настройщикам
будет понятно что это такое. После применения и перезагрузки
устройства будет проброшен порт 27015 и теперь кто будет по этому номеру
порта и по протоколу UDP конектиться к вашему внешнему адресу, будет
автоматически переброшен на ваш компьютер, как говорят, за NAT`ом.
Случай второй:
у вас есть роутер или модем. вы включаете компьютер и что бы был
Интернет надо запустить нечто с рабочего стола или из сетевых
подключений. 1) Ваш роутер/ADLS модем настроены в режиме bridge. 2)
После запуска и соединения в 99% случаев у вам присвоится внешний ip и
он является только вашим, т.е. на него можно конектиться и попасть на
ваш компьютер. Вам остаётся только правильно воспользоваться набором
параметров, который я описал в начале статьи.
Я пишу 99%, а не
100%, потому что после этого вам всё равно может выдаваться ip не
смотрящий в Сеть, а он лишь будет являться очередной лесенкой NAT. Всё
зависит от заморочек провайдера.
Опосля. В виду
того, что у провайдера ограниченное количество ip адресов, который он
может выдавать своим клиентам и, как правило, ввиду экономической
выгоды/мотивации ip адресов меньше чем абонентов, то у вам может
выдаваться динамический ip адрес, который при следующем коннекте будет
уже другой. И, допустим, вы сказали ваш внешний ip вашему товарищу, а
после повторного подключения соединения к провайдеру у вас уже другой
адрес, то понятное дело, что ваш товарищ уже обладает не актуально
информацией и воспользоваться ей не может… С этим тоже уже давно
научились бороться!
Dynamic DNS. Это такая штука,
которая позволяет на ваш ip адрес назначить не просто доменное имя типа
bravo.homenet.ru, а ещё поддерживает динамическое обновление адреса для
этого доменного имени. Как бы не менялся ваш адрес, ваше доменное имя
будет всегда ссылаться на новый адрес. Но всегда должен быть запущен
dyndns клиент (или как его назвали на dyndns.com - dyndns updater).
Наверное уже во всех современных роутерах и ADSL модемах есть встроенный
dyndns клиент. У кого нет роутера/ADLS модема или на устройстве нет
dyndns клиента, можно скачать программу с официального сайта. Ссылка Итак, как же? Идём на dyndns.com и регистрируемся. Там можно увидеть в правом верхнем углу сайта кнопку цвета детской
неожиданности с надписью «Download Now» (даунлоад нау – скачать сейчас).
Качайте. Это как раз тот самый DynDNS Updater. (400Кбайт весит). После захода под своей учётной записью: 1) Смотрим на меню слева и жмём «My Account» 2) Дальше в первом столбике мы нажимает «My Hosts» 3) Затем на странице находим «Add New Hostname» ---a.
Видим поле для ввода имени хоста и рядом напротив можно выбрать домен в
котором это имя будет. Например если вписать bravo, а выбрать домен
ath.cx, то доменное имя в итоге получится bravo.ath.cx ---b. Wildcard вам не надо, не ставьте галочку, да я и сам не разбирался нафиг оно надо. ---c. Service type ставим Host with ip address ---d.
Дальше надо указать IP адрес, что бы можно было завести запись в DNS
сервере. Просто необходимый пункт и без него нельзя завершить создание
домена. Укажите любой. Можно нажать на Use auto detected ip address … и
туда вставится ваш текущий Ip адрес. Но я рекомендую всё же изменить
его, что бы было сразу видно работу dyndns клиента, после ввода настроек
в нём и проверке, обновился ли адрес или нет. ---e. Галочка mail
routing вам не нужна. Это на тот случай, если надо, что бы dns сервер
передавал ещё и MX записи нужные для почтовых серверов. Скажу сразу,
что многие доменные имена уже заняты и придётся как то подбирать и
выбирать из того, что есть. Зарегистрированные доменные имена он выдать
вам не может.
Итак, запись доменного имени на DNS сервере мы
создали. Теперь надо научиться автоматически обновлять ip адрес у этого
доменного имени.
Далее инструкция для тех, кто не может/не хочет использовать клиент DynDNS роутера/ADSL модема.
Вы скачивали DynDNS Updater. Запускайте инсталлятор. При установке
лучше всё оставить так, как там уже стоит, за исключением галочки
Install DynDNS Updater as a Windows Service. Дальше просто клацаем по
кнопка Agree, Next или что там ещё будет, что бы только установить таки
эту программу. Запускаем. Сразу спрашивает логин и пароль – вводите
учётные данные, которые вы только что регистрировали. Дальше оно ищет
все ваши зарегистрированные хосты. Находит и выводит их список. Ну у вас
там наверное будет один хост. Ставите галочку. Жмёте Apply. Всё. Белая
галочка, в зелёном кружке в левом нижнем углу программы свидетельствует о
том, что у вас всё пучком. Можно закрыть окно программы. Её иконка
будет висеть в трэе (рядом с часами), откуда её можно лёгко достать при
необходимости. В самой программе есть все необходимые ссылки для
управления акаунтом и добавления новых хостов, что бы не лазить по сайту
в поисках куда там нажать, что бы добавлять хосты.
Для тех, кто решил использовать DynDNS клиент своего роутера или модема. …
Вам придётся искать где эти настройки у вас в роутере/ADSL модеме. Я,
например, использую роутер Asus WL500W, и у меня это в меню IP Config –
Miscellaneous -> DDNS Setting. (wl500*, wl600* не отличаются в этом
плане от wl500w |wl600* -ADSL модемы). 1) На вопросы типа «Enable
the DDNS Client?» Ставите естественно «YES». Я к тому, что бы не было
такого, что вы забыли просто включить DDNS клиент, а настройки забили и
удивлялись бы, почему оно не фурычит. 2) Server – скорее всего у вас
надо будет выбрать из списка. Выбирайте www.dyndns.com (модет стоять
www.dyndns.org – это старый их адрес, и он тоже рабочий) 3) User Name
or E-mail Address –скорее всего у вас будет просто User Name, а у меня
вот так вот. Тем не менее в Asus WL500* сериях авторизация по e-mail не
работает, так что пишите имя пользователя. 4) Hostaname – тот хост который мы регистрировали (можно любой из зарегистрированных вами взять) – из примера: bravo.ath.cx 5) Enable wildcard? - нам не надо, т.е. «NO»
Всё.
Жмите применить. Перезагружайте роутер/ADSL модем и проверяйте,
обновляется ли ваш хост при смене ip у вас. Должно быть всё пучком.
прошу замечания и дополнения!
|