Платформа: ЧН 1.5.10 Разработчик: FreeZone Team Дата выхода: TBD, беты выходят по мере создания.
S.T.A.L.K.E.R. - одна из игр, которые живут на протяжении уже многих лет. Во многом (если не полностью) таким долгожительством игра обязана широкими возможностями по модифицированию и сравнительно большим модмейкерским коммьюнити. Не одна сотня модов увидела свет с момента выхода игры. Кажется, что все ее составляющие уже изучены модмейкерами вдоль и поперек. Однако, в игре осталась одна область, которая за все время существования игры так и соталась недооцененной. Мультиплеер. По сранению с синглплеерной составляющей, мультиплеерная многим могла показаться ущербной. Отсутствие ИИ, множество багов, нестабильность сервера, читеры... Но все равно, когда-то давно, в начале этого десятилетия, сетевая в сталкере, как ни странно, была достаточно популярной. Сервера не стояли пустыми. Но время шло, а игра оставалась прежней. Игрокам надоедало играть в одно и то же, неизменное на протяжении многих лет. В то же время, игра оказалась без поддержки своих разработчиков. Синглплеерная составляющая продолжала держаться на плаву за счет модмейкеров, но в мультиплеерной этого не происходило. Хотя МП сталкера также можно было модифицировать, но немногочисленные попытки создания мультиплеерных модов останавливались на распространении контента. Установить мод (да даже и обычную мультиплеерную карту) можно было только скачав вручную. Установка более-менее серьезного мода одновременно с этим лишила бы игрока возможности заходить на другие сервера (с перспективой получить бан). Для этого бы мод потребовалось снова удалить самостоятельно. Понятно, что такие процедуры мало кому могли показаться приятными. Попытки создания подобных модов были обречены на провал.
Именно на таком безрадостном фоне и произошло появление проекта FreeZone.
FreeZone представляет собой достаточно серьезную переделку движка выделенного сервера игры. Основной (и единственной на данный момент) платформой является ЧН версии 1.5.10. Почему именно ЧН, возникнет вопрос, ведь это самая непопулярная у модмейкеров часть игры? Дело в том, что с точки зрения модифицирования мультиплеера именно эта часть является наилучшей. В ней было исправлено достаточно много багов по сравнению с ТЧ, появилась возможность проверки игроков на читерство. Стабильность самого сервера была также повышена. Но тогда почему не ЗП, ведь там это все есть так же, плюс внесены другие улучшения? Этому есть несколько причин. Во-первых, в ЗП были вырезаны некоторые интересные классы, позволяющие создавать скриптовые режимы игры. Во-вторых, ЗП оказался почти похоронен после закрытия GameSpy. Да, игроки там сейчас есть... Но их меньше, чем в остальных частях.
Итак, с этим разобрались. Но что ждет нас внутри самого FreeZone? В этом плане, проект движется по пути исправления ошибок оригинального движка и расширения его возможностей. Большая их часть направлена на удобство администрирования, однако есть две немаловажные именно для модмейкеров особенности. Во-первых, это автоматическая загрузка карт клиенту. В это может быть сложно поверить, но это так. Игроку достаточно иметь только сам свежеустановленный ЧН версии 1.5.10, не требуется никаких дополнительных надстроек. Он просто присоединяется к серверу - и начинаются скачивание и установка карты. Да, это именно то, что не хватало игре все время ее существования. А во-вторых - как многие уже наверно догадались, это возможность загрузки на клиента модов. Да, на данный момент есть некоторые ограничения в возможности их создания, плюс, некоторые моменты в создании модов для FreeZone специфичны... Но оно есть и оно работает. При этом, каждый сервер может иметь собственный мод. При соединении клиент загрузит (предварительно скачав, если требуется) именно тот мод, который установлен на сервере, к которому игрок присоединяется.
Любой желающий теперь может начать создание своей своей Зоны отчуждения, сделать удовлетворяющий его самого мод и запустить с ним свой сервер. Присоединяйтесь!
Не особо представляю, какие именно скриншоты можно приложить, исходников, разве что Но раз требуется... Покажу админскую панель управления
А вот так выглядит экран игрока в процессе загрузки мода:
Вы можете увидеть описанные возможности FreeZone в работе, установив ЧН 1.5.10 и зайдя на сервер [setitagila.ru]Free. Вы увидите, как сначала будет скачана карта, затем мод... А затем вы попадете на сервер. Да, изменений в моде на данный момент не так много - но это просто демонстрация. Демонстрация того, что подобное в принципе возможно.
Вы можете скачать бета-версию FreeZone по ссылке ниже: https://yadi.sk/d/IpTRnJlOuXSXt При создании мода не забудьте прочитать в прилагаемом описании требования. Без их учета мод может работать некорректно!
Если вдруг что-то идет не так, как планировалось, вылетает, глючит - сохраняйте спокойствие и оставляйте сообщения в теме. От вас требуется описание проблемы, лог вылета, дамп и freezone.dll, с которой произошел вылет.
Сообщение отредактировал Angry - Воскресенье, 25.09.2016, 11:15
Да все нормально вошел со второй, прописал ник и CD-key и все пошло. Вот только давно я в мультик не играл. Забыл все напрочь. Правда одного все же удалось с обреза вальнуть.
Сообщение отредактировал ur3icf - Суббота, 03.06.2017, 21:40
Всем доброго времени суток. Сегодня было успешно завершено то, что было в планах еще год назад, а именно - FreeZone обзавелась полноценной поддержкой загрузки клиентам модов. Загрузчик поддерживает как геймдатные, так и движковые моды, что открывает полный простор в плане модифицирования сетевой игры. На данный момент система находится в стадии тестирования. Желающие принять участие в нем и попробовать сетевую с оружейно-движковым модом на вкус могут заходить на сервер [gamepolis.ru]GunsCS.
Очень отличная информация. Загрузка модов доступна только на платформе ЧН? В ТЧ планируется данная возможность? Или так и останется, лишь загрузка карт?
Мы используем ваш загрузчик на сервере [Stalker-Life]Free в Тени Чернобыля, и он весьма хорош. Людям нравятся новые карты, такие как Пожарная станция, Кордон 1935 и так далее.
Сообщение отредактировал Hardtmuth - Воскресенье, 04.06.2017, 08:46
Hardtmuth, "Free" - потому что можно с пиратки поиграть?
Проверка SDkey отключена.
Да, и поиграть с пиратки можно абсолютно на всех серверах ТЧ, ЧН и ЗП. Но, к сожалению, многие пиратские ключики забанены контролёром в ЧН и ЗП. В ТЧ мало ключей в бане. Поэтому, можно спокойно взять ключ в интернете и играть в своё удовольствие.
Я сам играю с 2008 года только с пиратки. Нашел по 1 ключу для ТЧ, ЧН и ЗП и играл.
Сообщение отредактировал Hardtmuth - Воскресенье, 04.06.2017, 09:07
Hardtmuth, ТЧ в плане мультиплеера, как бы так сказать... неполноценная платформа. С движком ТЧ гораздо больше приходится биться, чтобы заставить это все работать. На данный момент планов по расширению функционала ТЧ нет, разгрести бы имеющееся в чн Хотя... Поживем - увидим.
Помню, как был в восторге, от того, что можно было поменять мультиплеерные скины на военных, новичков, свободу да и на самого Сахарова Отличный проэкт, жаль, что мои скудные знания ничем не могут помочь, кроме площадки под игровой сервер.
Хотел было пару стволов бросить на карту в мп.. Скачал сдк, еле открыл нужную какрту, смог лишь забавную пушку поставить.. Наматерился и пошел на работу
Итак, пусть с некоторым запозданием, но новая версия FreeZone с поддержкой загрузки модов увидела свет. Для получения инструкций по установке смотрите ReadMe-файл. Подробной документации по всем фичам на данный момент в связи с нехваткой времени нет, но добавление ее планируется в будущем.
Сообщение отредактировал Sin - Воскресенье, 20.08.2017, 06:11
Sin, очень "сложна" Я правильно понял, все, что нужно "конечному"(или конченому) юзеру, находится здесь /release/cs_1510 А то, как-то невероятно, видеть тут ссылку не на яд_облако, али торент..
Сообщение отредактировал Vojlok - Среда, 23.08.2017, 21:44
Vojlok, конченому юзеру - по сути, да. В release находятся уже собранные библиотеки и конфиги, которые можно напрямую скопировать на сервер. GitHub является известной и удобной площадкой для размещения проектов с открытым исходным кодом, так что ничего удивительного тут лично я не вижу.
все верно, у администратора сервера есть возможность отключить проверку лицензионного ключа игры у игроков
Angry, Здравствуйте, я хочу заняться адаптированием Shoker Weapon Mod 3.0, после его релиза конечно. У меня уже имеется своя сборка. Интересует, как можно отключить проверку сд кея (как я понял проверка выполняется не только на сервере, но и в клиенте тоже). У меня стоит оригинал 1602 + патч для клубов (так что фулл лицензия), но и разные кряки пробовал, вплоть до прописки cdkey.gamespy.com (open gamespy и прочие в днс), вылетает. Своя авторизация (GS_login), но вот мастер-лист сервера нету, так что юзаю GSC. (был вариант от батлы2 переделать, но чет сложно) Задрался короче с сд кеем. Пробовал писать Antarezу еще давно, но он не отвечает (занимался SACE, был свой мастер-лист под ЧН и ЗП).
P.S. Заранее премногое благодарен. Кстати по поводу мода. Можно сделать его уникальным без Алайф в МП. Можно сделать в single player картах телепорты, они будут сохранять лут игрока и перекидовать в мультиплеер. Игрок попадает на любой рандомный телепорт и может вернуть в single player также. НО! Если игрок погибает в МП, лут обнуляется. Сохранения работают только в сингле и только у костров (мизери мод с вкл. параметром 1 жизнь, полное обнуление сейвов после смерти). Это весьма оригинально, подобное совмещение СП и МП сделает мод популярным. Локации можно открывать в СП, а исследовать с друзьями .
Сообщение отредактировал francyfox - Вторник, 29.08.2017, 08:29
francyfox, думаю, у Angry по объективным причинам спрашивать бесполезно от слова совсем . Если используется свой кастомный движок, то нет, как говорится, ничего проще, чем выключить проверку ключей. Исходники есть, никакого выноса мозга с асмой. Конкретно все эти проверки живут в классах xrServer и xrGameSpyServer. В простейшем варианте достаточно просто найти участок кода по строке с руганью на сдкей и выпилить нахрен это условие. Но там будет ряд побочек. Можно пойти по стопам FZ, глянуть там в исходники модуля fz_injections, где найти упоминание функции gcd_authenticate_user. Затем идем в нее и переписываем там то, что нас не совсем устраивает. Но по факту в логике при этом останется отправка запроса геймспаю. Действия там, если мне не изменяет память, примерно таковы: 1) Когда сервер принимает клиента, он осознает себя публичным (локальные сервера принимают игроков с любыми ключами, кстати, от этого можно отталкиваться) и отправляет клиенту пакет смысла "подайте, сударь, сюда хеш вашего ключика" 2) Клиент отправляет хеш, сервер сначала проверяет нет ли уже игрока с таким ключом на нем самом, а затем отправляет запрос мастерсерверу, чтобы проверить, не используется ли ключик на других серверах. 3) в зависимости от того, что скажет мастерсервер, клиент или заворачивается с ошибкой, или продолжает соединение. В общем, все это надо бы выпилить из xrServer и xrGameSpyServer. Минус - тогда хешей не будет совсем (хотя, а нужны ли они, при неактивных-то ключах?)
Касательно ругани на сдкей в клиенте - надо копать вокруг класса CGameSpyBrowser. Но с другой стороны, а так нужно ли оно? Пустые ключи клиентом игры успешно принимаются (надо для игры по локалке). Кроме того, если производить загрузку мода клиенту посредством фризоновского модуля sysmsgs (его потребуется заинтегрить в кастомный двиг сервера, но там это несложно быть должно, код на гитхабе и возможности задать вопросы там же в помощь), то из клиента можно вообще выпилить весь этот мусор со списками серверов и т.п. и не заморачиваться. Адрес сервера кастомному клиенту ведь при этом известен будет (а если не будет, то его передаст FZ).
Телепорты можно сделать и на стандартном сервере, FZ это (почти) умеет. А с лутом... Новый режим игры надо писать. С кастомным движком это так же не очень сложно. Можно также делать это на оригинальном ЧНовском - веселее, но извратиться можно. В оригинальном ЗП это, к сожалению, из скриптов выпилили, так что там остался только двиг.
Sin, Спасибо, тебе) Буду теперь думать перейти на ЧН, однако могут быть проблемы с переносом. Хоть ЧН и ЗП близки очень. Кстати нигде не написано, что происходит с модами, которые были уже скачаны, тойсть если у меня были моды до этого, при заходе на чужой сервак мои моды помещаются в другую папку, а в геймдату ложиться мод сервера? Кстати в инете порылся про моды CS, был удивлен, есть мод LFO думаю с него начать.
francyfox, менять полностью двиг смысла на самом деле и нет. Для добавления сервера в ЧНовский мастерлист достаточно заменить URL мастерсервера на ЧНовский, после этого сервер начнет отображаться среди ЧН-овских. Кроме того, нужно выставить версию игры в 1.5.10 (чтобы клиент начал пытаться приконнектиться, а не сразу сообщал об ошибке). При попытке подключения стандартного ЧНовского клиента к модифицированному серверу нужно будет отправить ему пакет с "командами" загрузки, сформированный модулем sysmsgs. После этого клиент должен отсоединиться (можно для гарантии помочь ему в этом на стороне сервера) и начать процедуру синхронизации требуемых файлов. Многие файлы ЧН двиг ЗП должен нормально воспринять, недостающее ставим на закачку вместе с двигом. После этого модицифированный клиент запустится и автоматом побежит коннектиться к серваку. Касательно того, что происходит при загрузке... Она идет в 2 этапа. С точки зрения FZ, мод - это просто DLL, экспортирующая функцию ModLoad. Запуск мода заключается в скачивании этой DLL (она помещается в аппдату с расширением .mod) и выполнении вышеупомянутой ее функции. Ну а в DLL можно уже запихнуть все, что душе угодно. Понятно, что давать возможность кому ни попадя грузить что попало всем подряд - идея не самая лучшая, поэтому такая DLL должна быть заверена цифровой подписью. Для дебага и тестирования не-релизных версий DLL "мода" при запуске (оригинального) клиента нужно дописать ключ -fz_nosign. Кроме того, так как цифровая подпись DLL "мода" прописывается в конфиге сервера, стороннему игроку, просто скачавшему мод, запустить сервер с ним будет крайне сложно. Далее. В комплекте с FZ лежит "стандартная" DLL "мода" fz_mod_loader.dll. Сейчас на первом этапе на серверах с модами загружается (и запускается) именно она. Внутри нее находится реализация собственно загрузчика всех файлов клиента, которая 1)скачивает эталонные списки файлов движка и геймдаты, из которых узнает, какие файлы должны быть в моде и по какой ссылке их взять; 2) Сверяет эталонный список файлов с тем, что реально уже имеется; 3) Скачивает устаревшие или отсутсвующие файлы (при этом корневая папка мода находится по пути $app_data_root$\.svn\<mod_name>\, где <mod_name> - имя мода, заданное в конфиге сервера); 4) Завершает работу текущнго (оригинального) клиента и запускает скачанный, при этом передавая ему в параметры запуска ключ -fz_nomod, это нужно для того, чтобы при повторном коннекте система гарантированно поняла, что надо продолжать коннект, так как мод уже скачан.