Сборка кооп сервера из Valve SDK 2013 -
13.08.2016, 02:18
Не так давно меня спрашивали о проблемах кооп сервера. Поскольку я в кооп режим не играю, то неделю назад я решил собрать кооп сервер для теста карт и дабы разобраться, что к чему и почему кооп сервер вечно собирает проблемы. Поскольку я очень не уважаю стоковые сервера, скачанные со стим пайпа, было решено собирать из Valve SDK 2013. Сразу ядро сервера подверглось изменениям, о которых ниже, но оговорюсь сразу, что здесь есть отличия от популярного нынче SourceMod-расширения от некоего Даниила, в чём разница, в двух словах не отвечу, поэтому не буду вдаваться в подробности, ограничусь только тем, что сервер без сурсмода это проще, надёжнее, быстрее и вообще лучше во всём. К тому же, есть много вещей, которые просто не могут быть реализованы под сурсмодом, а те, что могут, будут не оптимальны. То есть, от использования сурсмода решено было отказаться совсем.
Теперь основные изменения в кооп режиме:
Исправлена куча общих для всех режимов багов (слишком много, чтобы описывать)
Корректно исправлен искусственный интеллект в мультиплеере (скорректирован ВЕСЬ код, который не работал в мультиплеере. Да, это создало действительно много работы)
Прописаны отношения между NPC и игроками
Работают все NPC из HL2 и эпизодов (здесь следует оговориться, что многих необходимо ещё добавлять в код сервера, но гипотетически любой из них будет работать без проблем)
NPC лагокомпенсированы (игроки из мухосрансков - добро пожаловать!)
Добавлено новое оружие (на данный момент это супер гравиган и гаусс пушка, и это не просто замена модельки, это оружие полностью реализует оригинальную логику)
Вортигонты на картах не ломаются =) (бессмертные вортигонты, я об этом)
Разблокирована часть искусственного интеллекта у различных NPC, что приводит к более похожему на синглплеер поведению
И всякие мелочи, вроде исправления спаунточек, нулевых указателей и другого, что не позволяет запускать карты с других модов (многие карты, например, с Synergy могут работать без проблем), изменения боезапаса, жизни игроков и прочие улучшения геймплея
Ближайшие планы:
Сделать возможным прохождение оригинальных карт HL2 и эпизодов в мультиплеере
Добавление остальных NPC с эпизодов
Добавление оружия (возможно, с беты HL, ещё не определился)
Автоматические чекпоинты и восстановление игрока после смерти (автоматический аналог !save)
Цель всего этого нонсенса - я хочу исправить код сервера настолько, насколько это возможно, в том числе, для кооп режима. Исправлять всякие там сервера - это моё хобби.
Суть сего поста. Мне нужна помощь с тестированием, нужны советы и корректировки по геймплею, что убрать, а что добавить. Также мне нужны списки хороших карт для кооперативного режима, ибо я не представляю, где их брать. Совершенно. Наверняка есть какие-то хорошие карты, на которых что-то не работает и это непременно надо исправить. Если кто-либо желает помочь, пишите, дам доступ на тестовый сервер, добавлю в стим и буду премного благодарен. Если желающие найдутся, готов по приведению сервера в относительную кондицию отдать server_srv.so в хорошие руки =) Ибо кооп мне не интересен, чтобы в него играть. Ну, а ежели нет, то и суда не будет.
Сегодняшний новый NPC - министрайдер (он же хантер). Любуемся и говорим "Привет!"