Главная » Статьи » Настройки сервера |
Страшный Sv_lan - Что это такое?
Quote 1) на двух пальцах что такое патчи 2) Почему может неработать админка в amxmodx 3) что такое Lan servers are restricted to local clinets (class c) В статье много теории, но лучше её знать чтобы правильно настроить сервер обозначения используемые в статье : Code стим - steam стим.ехе - Steam.exe цс, cs - игра Counter-strike стимайди - steam_id Конектиться - Подключаться к игровому серверу Длл - dll библиотека/и Все базовые понятия (которые желательно знать) выделенны курсивом Страшный sv_lan Итак, это одна единственная переменная сервера (cvar) и может принимать значения 1 или 0, может быть прописан в server.cfg (sv_lan 1/0) или указан при запуске (т.е в запускных параметрах) значение этой переменной как не странно можно менять динамически, т.е прямо в игре (Далее мы сначала расмотрим не взломанный сервер цс, а потом перейдем к взломанному) Для чего это переменная? все мы знаем, что играя в counter-strike скачав его откуда ни будь с интернета, мы играем во взломанный cs (т.е non-steam). Не взломанный cs (Купленный, лицензионный) надо покупать и тогда он будет уже легальным т.е Steam cs. Так вот, чтобы поиграть в Steam cs (если вы его уже купили), вам сначала надо запустить программу steam.exe, которая уже запустит сам цс и вы сможете играть на легальных серверах. почему без стим.ехе не сможете играть? потому что стим.ехе поддерживает связь с главными серверами стим, и когда вы подключаетесь к любому легальному серверу и посылаете ему ваш стимайди, он тоже посылает запрос к главным серверам steam с вашим стимайди, чтобы проверить купленный у вас цс или взломанный, если взломанный вам напишется "steam validation rejected" что означает "Верификация легальности вашей цс не пройдена, вы были посланы нахрен с сервера" :biggrin: Quote Steam.exe можно запустить в оффлайн режиме. В оффлайн режиме steam.exe, играть на легальных серверах counter-strike вы не сможете, потому что steam в оффлайн режиме не поддерживает связи с главными серверами steam (а именно на этих серверах и хранятся те аккаунты с играми которые вы купили), и вы будете считаться пиратским игроком. Так вот, для игроков которые хотят поиграть по локалке на выделенном сервере counter-strike (дальше hlds.exe или просто hlds), предусмотренна переменная (cvar) sv_lan, если она стоит с единицей (sv_lan 1), сервер будет пускать всех на сервер, но не будет никого пускать с интернета. Если будет стоять ноль, то сервер будет пускать всех, но проверяя игроков купленный у них cs или нет (запросом к главным серверам стим), на сервер будут допущенны только игроки с купленной cs. Дальше, в принципе немного взломав counter-strike (Который вы запускаете чтоб поиграть, он называется клиент) можно заставить его запускаться без стим.exe (А нормальный клиент требует перед своим запуском запустить стим.exe), и если вдобавок на сервере будет sv_lan 1 то такой взломанный cs (non-steam cs), сервер пропустит даже если он не купленный, а взломанный. К сожалению hlds не пропускает на сервер игроков с интернета при sv_lan 1, а при sv_lan 0 будет проверять купленная у игроков цс или нет. Что надо для запуска цс сервера? скачать сам сервер и запустить. Взломщики скачали цс сервер и сломали его, теперь при sv_lan 0 сервер не будет проверять купленная ли цс у игрока, а при sv_lan 1 будет пускать с интернета. Это опять же зависит от того кто ломал, есть кривые патчи где не все так гладко. Что такое патчи смотрите ниже. В чем теперь разница для взломанного сервер будет sv_lan 1 или 0? а очень большая. Каждому игроку в системе steam, дается свой уникальный номер при регистрации в системе (стимайди - steam_id). Так вот при sv_lan 0 НЕ взломанный! сервер запрашивает информацию о игроке который хочет к нему подключиться у системы Steam, узнает steam номер (steam_id) игрока, а при sv_lan 1 выдает всем игрокам steam_id такого вида (В зависимости от того какой патч, и откуда конектится игрок) steam_id_lan steam_id_pending valve_id_lan valve_id_pending (Поправьте если не прав) Если сервер взломанный и sv_lan 0 то пиратским игрокам выдается steam_id как steam_666:88:666 (Ну или как взломщик сделал) но факт такой что всем взломанным игрокам выдается один стимайди. К чему это приводит? К тому что amxmodx проверяет админ права игроков только в случае если у них steam_id как steam_id:[Номер в системе steam] или если steam_id стоит как Code steam_id_lan steam_id_pending valve_id_lan valve_id_pending При sv_lan 0 взломанный сервер hlds выдает пиратским игрокам (т.е игрокам с цс но без запуска стим.ехе) выдается steam_666:88:666 или тот который поставлен взломщиком, при взломе сервера. Поэтому на некоторых патчах админка при sv_lan 0 может не выдаваться - зависит от кривизны рук взломщика делавшего патч Что такое патчи Когда первый раз взломали hlds, выпустили взломанную версию в интернет. Но движок игры counter-strike его разработчики постоянно дорабатывали, и каждый раз когда вы скачиваете steam сервер с интернета, вы скачиваете самую свежую версию, естественно старая взломанная версия сервера, имела те баги и недостатки - которые свежая версия уже не имеет. Поэтому взломщики скачали свежую версию сервера и снова взломали. Это уже был второй патч, потом hlds снова обновился, взломщики снова его скачали, взломали и это уже был третий патч и т.д Впринципе это скаченный в свое время hlds, взломанный, и выложенный в интернет для общего скачивания Патчи бывают полные (Full) и неполные, неполные патчи надо ставить друг на друга, т.к они содержат только те длл которые были затронуты обновлением. Поэтому если интернет неограниченный, качайте ТОЛЬКО Full (полные) патчи Почему неработает админка в amxmodx при sv_lan 0? Я не уверен на все сто, но думаю потому что на взломанных (пиратских) серверах при sv_lan 0 выдается steam_:666:88:666 или другое значение. Нестандартные значения не поддерживаются Amxmodx, думаю предполагалось что если выдается админка по ип, то стоит sv_lan 1, поэтому выдается админка по стандартным значениям. Code steam_id_lan steam_id_pending valve_id_lan valve_id_pending По нестандартным не выдается. Если sv_lan 0 то amxmodx выдает админ права учитывая какой steam_id (Полностью незнаю алгоритма, пороюсь в сурсах если время будет и желание изучить си - AmxmodX open-source проект, т.е с открытым исходным кодом который можно просмотреть, код на сях (C язык программирования) а си пока я слабенько знаю) Решения Если не выдается админка при sv_lan 0, то стоит сменить патч. Ещё лучше поставить патч на два протокола. Хотя есть вариант - добавить steam_666:88:666, в обработку админ прав в Amxmodx, путем изменения .sma исходников админских плагинов плагинов. Если вы хотите сделать так - то поиск в руки, на форуме про это уже писали LAN server are restricted to local clients (class C) Либо у вас/сервера слишком разнятся патчи (напр. 19 и 29 и наоборот), либо на сервере хреновый ( ) патч (недоделанный) и стоит sv_lan 1 От себя тина Эта статья не совсем верна, но позволяет понять для чего нужен sv_lan, что такое патчи и как работает система верификации (проверки подлинности вашей cs), почему не совсем верна? потому что все эти данные я брал изучая hlds сервера, все их ошибки и разные патчи, а также врубал голову. Это мои личные убеждения (о том как все это работает) но они основанны на всем моем опыте, и на всей той литературе которую я изучал Надеюсь я ответил на вопросы которые возникают у начинающих сборщиков серверов по поводу этого квара, т.к сам в свое время не понимал её назначение. я могу ошибаться в моих предположениях в этой статье, объективная критика приветствуется Извините что сильно нагроможденная статья и трудная для чтения, но к сожалению по другому писать пока не умею | |
Просмотров: 13432 | Рейтинг: 5.0/2 |
Всего комментариев: 0 | |