Сборка кооп сервера из Valve SDK 2013
Не так давно меня спрашивали о проблемах кооп сервера. Поскольку я в кооп режим не играю, то неделю назад я решил собрать кооп сервер для теста карт и дабы разобраться, что к чему и почему кооп сервер вечно собирает проблемы. Поскольку я очень не уважаю стоковые сервера, скачанные со стим пайпа, было решено собирать из Valve SDK 2013. Сразу ядро сервера подверглось изменениям, о которых ниже, но оговорюсь сразу, что здесь есть отличия от популярного нынче SourceMod-расширения от некоего Даниила, в чём разница, в двух словах не отвечу, поэтому не буду вдаваться в подробности, ограничусь только тем, что сервер без сурсмода это проще, надёжнее, быстрее и вообще лучше во всём. К тому же, есть много вещей, которые просто не могут быть реализованы под сурсмодом, а те, что могут, будут не оптимальны. То есть, от использования сурсмода решено было отказаться совсем.
Теперь основные изменения в кооп режиме:
Ближайшие планы:
Цель всего этого нонсенса - я хочу исправить код сервера настолько, насколько это возможно, в том числе, для кооп режима. Исправлять всякие там сервера - это моё хобби. Суть сего поста. Мне нужна помощь с тестированием, нужны советы и корректировки по геймплею, что убрать, а что добавить. Также мне нужны списки хороших карт для кооперативного режима, ибо я не представляю, где их брать. Совершенно. Наверняка есть какие-то хорошие карты, на которых что-то не работает и это непременно надо исправить. Если кто-либо желает помочь, пишите, дам доступ на тестовый сервер, добавлю в стим и буду премного благодарен. Если желающие найдутся, готов по приведению сервера в относительную кондицию отдать server_srv.so в хорошие руки =) Ибо кооп мне не интересен, чтобы в него играть. Ну, а ежели нет, то и суда не будет. Сегодняшний новый NPC - министрайдер (он же хантер). Любуемся и говорим "Привет!" https://youtu.be/F30tN71_iXA |
Чем смогу, тем помогу ( в свободное от работы время)
|
Отлично. Когда допилю до вменяемого состояния сервер и ротацию, чтобы это хоть как-то прилично работало, добавлю в стим.
Сегодня выдалась пара часов на кодинг, в результате появился зомбайн. На мой взгляд, очень мило: https://youtu.be/JlyNEbwNWJo Также довёл до ума хантера, новый хантер ниже, теперь и со всеми визуальными эффектами =) Какого npc добавить следующим? Хотелось бы слышать игроков кооператива. |
чёто мне кажется в оригинальном виде нормально пойдут далеко не все карты сина. Сам видишь как порой бывает, то народ респается абсолютно в разных местах карты, то освещения нет, то неба, то вообще сервак тупо крашится и на смене карты в том числе, гдето и у комбов оружия нет (если это оружие синовское а не HL2), или триггеры не срабатывают, или вообще всё чёрно-фиолетовое с кучей эрроров так как не хватает текстур. короче проблем хватает. При этом как видишь с теми же Даниными портированными картами проблем либо намного меньше, либо их вообще нет.
Или сами карты SYN придётся переделывать, или сервак целиком и полностью подстраивать под них, но во втором случае надо ещё учитывать что есть и другие карты - тупо дмовские, OC'шные и может чтото ещё, совместимость с ними тоже нужна. надеюсь ты знаешь что делаешь. но там уже тебе видней. хмм, довольно сложная задача полностью отказаться от sourcemod o.O. ну ты мастер. PS. Слушай, дай ещё раз адрес тестового сервера, я потерял). спс. |
От sm отказываться - абсурд
|
а вот здесь ты ошибаешься. зайди на сервера RLS, глянь что там да как и каким образом. Там абсолютно ни единого плагина - всё тупо из исходников. Я уверен у тебя язык не повернётся назвать этот сервер гавном, сколько разных плюшек там намешали). В сурсмоде ты никогда и низачто не сможешь сделать и половины этого).
Я считаю это высший пилотаж - это совершенно другой уровень. Только нужно опупенно шарить в программировании. Многие программеры считают SourceMod гавном, которое может только свистоперделки добавить и ничего более. Отчасти они правы. хотя никто не спорит, что у SourceModа свои плюсы - в первую очередь это простота и переносимость. |
Цитата:
|
Буйному. Простой вариант - убрать некоторые точки спауна в рантайм (согласен, это костыль). Оружие можно вполне заменить стандартным. Навскидку, это будет additionalequipment. Так что эти проблемы решаемы. Насчёт триггеров - верно. Тогда лучше сложный вариант - пересборка карты. Это мы тоже умеем, главное, чтобы овчинка стоила выделки.
Тестовый выключен до того момента, как я причешу код и соберу сервер под линукс. Тогда и спишемся. Сейчас мне нужно разобрать модельки и посмотреть, что из партиклов лить на фаст дл с эпизодов, дабы не грузить более полутора гигабайт того, что не нужно новым npc. 2 mOjO: не абсурд. Если можешь привести существенные аргументы, почему сурсмод must have, я готов выслушать. Но у меня имеется куча других аргументов, почему он обязан убраться с сервера, собранного из SDK. Но вдруг кто-то здесь сможет объяснить мне, зачем мне сурсмод, если всё то, что он может мне предложить, я в состоянии написать в сервере, при этом проще и быстрее, а главное, надёжнее. Если так, готов забрать свои слова обратно, но я думаю, что здесь не найдётся таких людей. Более того, с моим сервером некоторые из расширений сурсмода уже будут просто отказываться работать по причине отсутствия валидной геймдаты (расширение либо отключится, либо будет крашить сервер). Очень простой пример - sdhooks. И я ума не приложу, зачем мне его хуки, выполняемые, говоря грубо, через Китай, если всё, что может хукнуть sdhooks, а также гораздо больше мне доступно в исходном коде сервера. |
Цитата:
Цитата:
Советника в принципе можно =) Только есть один момент - советники в картах не существуют. Так что либо пересобирать карты, либо писать новые. Можно и проще - просто добавить на нужные карты в нужные места в рамках сервера, но что они будут делать? Я не знаю. Они вроде как применяют какое-то неизвестное науке воздействие, в результате в сингле главный герой корчится в муках, а как это в мультиплеере? =) Я без понятия. Ну, а чтобы летали по карте, это вполне можно сделать. |
Сталкеры редко появляются:-) И, кстати, если это возможно, можно добавить обитателей мира Зен. Такие как: Пехотинец, хаундай (на кооперативе очень редко попадались), гаргантюа, контроллер (они тоже иногда попадались, но не атаковали) и буллсквида (редкий персонаж). А как босса на некоторых картах можно добавить нихиланта.
|
Цитата:
про советников больше скажу что всё что они делали в еп2 это скриптовые сцены, по крайней мере очень похоже на то. запихать всё это в AI наверное нереально). Цитата:
Цитата:
да и потом зачем пехотинцы из HL1 если есть комбайны и ГОшники? смысл? Цитата:
насчёт остальных не уверен, да и опять же их нету на картах. если карт с ними нет, то нету смысла их добавлять на сервер. И скорее всего невозможно. Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
Надо ещё плюющихся львов, личинок и светящихся ядовитых стражей из пещер еп2 - всё это встречается в синовских картах. Из оружия не помешает Магнусон Девайс, например на некоторых картах Воблы\Дани такое имеется). Также думаю будет неплохо огнемёт крематора из HL2Beta, можно взять с этого мода http://www.moddb.com/mods/missing-in...mation-16-full . а также снайперку). |
Цитата:
http://half-life.wikia.com/wiki/Alien_Grunt Цитата:
|
Цитата:
Цитата:
|
Цитата:
Да и если слишком дофига всего, если навешать 100+ плагинов, это и ресурсы сожрёт, и память, и вероятность глюков высока по разным причинам. Такие сервера я видел, идеальной их работу не назовёшь). |
Цитата:
а смысл - это три). |
Насчёт npc понял вас, работы хватит надолго. Сперва добавлю стандартных npc с эпизодов и уж потом только перейду к кастомным.
Насчёт сурсмода разговор интересный, но, как Михаил сам и сказал, если сервер собирается руками из sdk, то сурсмод не нужен. А это как раз наш случай. Кроме того, на хл серверах большинство плагинов - вовсе не фишки, а заплатки на дырки. Ну и ещё я видел кучи говноплагинов, которые просто недопустимо ставить на нормальные сервера (пример - джетпак для ТФ, который рисует трейлы в OnGameFrame, надеюсь, не нужно объяснять, почему это плохо) |
Вкратце об npc. Добавить что угодно не проблема, хоть из Left 2 Dead, всё будет работать. Другое дело, что этот креатив ещё нужно поставить на карты и тут есть проблемы - не каждая карта готова к новым NPC, а ещё их нужно пересобирать. И с последним особые заморочки. Поскольку у нас болезнь по поводу максимализма и идеалов, то пересборка любой карты приведёт к полной её переработке, иначе просто не бывает. Всегда можно что-то улучшить, добавить оптимизацию, самые плохие карты переписываются полностью. И это занимает не одну неделю. Поэтому просто разобрать карту, добавить npc и собрать снова не получится.
Главное, что сейчас может быть сделано, так это активные npc на тех картах, которые уже имеют их внутри себя. Это карты с Synergy, например. На видео я показывал зомбайнов, которые работают на syn_urbanchaos. Вот этим пока ограничимся. В ближайшее время добавлю гаусс. Ищу достойную модель оружия. |
Цитата:
да, достаточно всего что есть в SYN и эпизодах. Всяких левых NPC нафиг! Это просто лишний геморой). Цитата:
-------------------------------------------------- добавлю ещё насчёт оружия: в SYN есть пулемёт weapon_mg1 и именно с ним иногда респаются комбайны (например в syn_apprehension). Поскольку этого оружия в HL2DM нет, комбы респаются с пустыми руками. Чтоб было меньше гемороя с картами, можно просто на сервер добавить эту ружбайку из SYNа, но тут смотри сам). |
Цитата:
|
Цитата:
|
|
Сергей, я тебе один умный вещь скажу... только ты не обижайся. Вот это:
https://youtu.be/_tg1IAdiTEE селектор оружия. А то, что на картинке - полный сибирский песец. В принципе, я уже взял модельку с промода, она довольно сносная, может, сегодня-завтра запилю, коли будет время. Дане привет. |
VSDK2013, там пока найдешь )) пока выберешь )) тебя зомбаки сожрут ))
|
А в мотд выбирать лучше что ли?
|
помоему вариант V952 вполне неплохой. просто зажал клавишу и верти менюшку как хочешь). Первое время конечно немного путаешься но потом привыкаешь и норм. Это конечно не быстрое переключение, но однозначно лучше чем motd). Темболее motd у некоторых в клиенте выключен.
но всёравно ни то ни то не заменит старые добрые бинды на оружие для быстрого переключения - без него увы никак). |
Доработал муравьиных львов и сканеры. Теперь это выглядит так:
https://youtu.be/whM8Sgs8VlA Ну, и npc_hunter теперь с партиклами =) Есть недоработки, их много, но я начал использовать дефайны для кооператива, чтобы была возможность в любой момент выключить эту логику и вернуть стандарт. Так что с этим работы много. Особые трудности с системой партиклов. Нет никакой возможности перекрыть манифест из VPK, поэтому слать их клиентам приходится через костыль. Может, позже придумаю какой-то менее костыльный способ подгрузки партиклов. Но без них всё не так красиво... |
Ещё заставил работать какую-то хрень, имя класса которой уже не помню. Но она есть и работает. Позже найду и покажу. На кооп картах такого npc нет.
|
так когда уже тестовый сервак запустишь)?
|
Секундочку, Буйный, имейте терпение, сударь =) Я только вернулся домой. Сейчас поднимем. Собираю со-шку под линукс...
|
|
VSDK2013, Всё школота бросит играть )) будет мясом кидаться :be:
|
Не знаю, как школоте, а мне нравится. В итоге я всегда делаю так, чтобы нравилось именно мне. Обычно получается неплохо, так что здесь я доверяю моей интуиции.
Если есть интересующиеся, то вот текущий список доработок (чтоб и я не забыл, главным образом):
Кстати, сегодня приятель играл на синглплеерной карте, получилось таки неплохо. Гипотетически, можно запустить сервер в режиме прохождения синглплеера =) Но это позже, не всё сразу. В одну каску очень сложно писать всё это, да ещё и с работой в наличии. |
|
Цитата:
|
|
|
VSDK2013, Нормально ))) точка---прицел ??
|
Текущее время: 22:13. Часовой пояс GMT +4. |
Работает на vBulletin® Версия 3.9.1-dev
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
® 2015-2021 HALF-LIFE 2 FOREVER