HALF-LIFE 2 FOREVER - Forums

HALF-LIFE 2 FOREVER - Forums (http://hl2forever.ru/forum.php)
-   HL2F #1 COOPERATIVE (http://hl2forever.ru/forumdisplay.php?f=5)
-   -   Сборка кооп сервера из Valve SDK 2013 (http://hl2forever.ru/showthread.php?t=223)

VSDK2013 13.08.2016 02:18

Сборка кооп сервера из Valve SDK 2013
 
Не так давно меня спрашивали о проблемах кооп сервера. Поскольку я в кооп режим не играю, то неделю назад я решил собрать кооп сервер для теста карт и дабы разобраться, что к чему и почему кооп сервер вечно собирает проблемы. Поскольку я очень не уважаю стоковые сервера, скачанные со стим пайпа, было решено собирать из Valve SDK 2013. Сразу ядро сервера подверглось изменениям, о которых ниже, но оговорюсь сразу, что здесь есть отличия от популярного нынче SourceMod-расширения от некоего Даниила, в чём разница, в двух словах не отвечу, поэтому не буду вдаваться в подробности, ограничусь только тем, что сервер без сурсмода это проще, надёжнее, быстрее и вообще лучше во всём. К тому же, есть много вещей, которые просто не могут быть реализованы под сурсмодом, а те, что могут, будут не оптимальны. То есть, от использования сурсмода решено было отказаться совсем.

Теперь основные изменения в кооп режиме:
  • Исправлена куча общих для всех режимов багов (слишком много, чтобы описывать)
  • Корректно исправлен искусственный интеллект в мультиплеере (скорректирован ВЕСЬ код, который не работал в мультиплеере. Да, это создало действительно много работы)
  • Прописаны отношения между NPC и игроками
  • Работают все NPC из HL2 и эпизодов (здесь следует оговориться, что многих необходимо ещё добавлять в код сервера, но гипотетически любой из них будет работать без проблем)
  • NPC лагокомпенсированы (игроки из мухосрансков - добро пожаловать!)
  • Добавлено новое оружие (на данный момент это супер гравиган и гаусс пушка, и это не просто замена модельки, это оружие полностью реализует оригинальную логику)
  • Вортигонты на картах не ломаются =) (бессмертные вортигонты, я об этом)
  • Разблокирована часть искусственного интеллекта у различных NPC, что приводит к более похожему на синглплеер поведению
  • И всякие мелочи, вроде исправления спаунточек, нулевых указателей и другого, что не позволяет запускать карты с других модов (многие карты, например, с Synergy могут работать без проблем), изменения боезапаса, жизни игроков и прочие улучшения геймплея

Ближайшие планы:
  • Сделать возможным прохождение оригинальных карт HL2 и эпизодов в мультиплеере
  • Добавление остальных NPC с эпизодов
  • Добавление оружия (возможно, с беты HL, ещё не определился)
  • Автоматические чекпоинты и восстановление игрока после смерти (автоматический аналог !save)

Цель всего этого нонсенса - я хочу исправить код сервера настолько, насколько это возможно, в том числе, для кооп режима. Исправлять всякие там сервера - это моё хобби.

Суть сего поста. Мне нужна помощь с тестированием, нужны советы и корректировки по геймплею, что убрать, а что добавить. Также мне нужны списки хороших карт для кооперативного режима, ибо я не представляю, где их брать. Совершенно. Наверняка есть какие-то хорошие карты, на которых что-то не работает и это непременно надо исправить. Если кто-либо желает помочь, пишите, дам доступ на тестовый сервер, добавлю в стим и буду премного благодарен. Если желающие найдутся, готов по приведению сервера в относительную кондицию отдать server_srv.so в хорошие руки =) Ибо кооп мне не интересен, чтобы в него играть. Ну, а ежели нет, то и суда не будет.

Сегодняшний новый NPC - министрайдер (он же хантер). Любуемся и говорим "Привет!"



https://youtu.be/F30tN71_iXA

drummer 13.08.2016 17:55

Чем смогу, тем помогу ( в свободное от работы время)

VSDK2013 15.08.2016 01:09

Отлично. Когда допилю до вменяемого состояния сервер и ротацию, чтобы это хоть как-то прилично работало, добавлю в стим.

Сегодня выдалась пара часов на кодинг, в результате появился зомбайн. На мой взгляд, очень мило:



https://youtu.be/JlyNEbwNWJo

Также довёл до ума хантера, новый хантер ниже, теперь и со всеми визуальными эффектами =)

Какого npc добавить следующим? Хотелось бы слышать игроков кооператива.

БУЙНЫЙ 15.08.2016 10:49

чёто мне кажется в оригинальном виде нормально пойдут далеко не все карты сина. Сам видишь как порой бывает, то народ респается абсолютно в разных местах карты, то освещения нет, то неба, то вообще сервак тупо крашится и на смене карты в том числе, гдето и у комбов оружия нет (если это оружие синовское а не HL2), или триггеры не срабатывают, или вообще всё чёрно-фиолетовое с кучей эрроров так как не хватает текстур. короче проблем хватает. При этом как видишь с теми же Даниными портированными картами проблем либо намного меньше, либо их вообще нет.


Или сами карты SYN придётся переделывать, или сервак целиком и полностью подстраивать под них, но во втором случае надо ещё учитывать что есть и другие карты - тупо дмовские, OC'шные и может чтото ещё, совместимость с ними тоже нужна.

надеюсь ты знаешь что делаешь. но там уже тебе видней.

хмм, довольно сложная задача полностью отказаться от sourcemod o.O. ну ты мастер.


PS. Слушай, дай ещё раз адрес тестового сервера, я потерял). спс.

mOjO 15.08.2016 14:26

От sm отказываться - абсурд

БУЙНЫЙ 15.08.2016 14:42

а вот здесь ты ошибаешься. зайди на сервера RLS, глянь что там да как и каким образом. Там абсолютно ни единого плагина - всё тупо из исходников. Я уверен у тебя язык не повернётся назвать этот сервер гавном, сколько разных плюшек там намешали). В сурсмоде ты никогда и низачто не сможешь сделать и половины этого).

Я считаю это высший пилотаж - это совершенно другой уровень. Только нужно опупенно шарить в программировании. Многие программеры считают SourceMod гавном, которое может только свистоперделки добавить и ничего более. Отчасти они правы. хотя никто не спорит, что у SourceModа свои плюсы - в первую очередь это простота и переносимость.

drummer 15.08.2016 14:53

Цитата:

Какого npc добавить следующим?
Сталкера. И как второстепенного врага можно добавить соетника

VSDK2013 15.08.2016 15:01

Буйному. Простой вариант - убрать некоторые точки спауна в рантайм (согласен, это костыль). Оружие можно вполне заменить стандартным. Навскидку, это будет additionalequipment. Так что эти проблемы решаемы. Насчёт триггеров - верно. Тогда лучше сложный вариант - пересборка карты. Это мы тоже умеем, главное, чтобы овчинка стоила выделки.

Тестовый выключен до того момента, как я причешу код и соберу сервер под линукс. Тогда и спишемся. Сейчас мне нужно разобрать модельки и посмотреть, что из партиклов лить на фаст дл с эпизодов, дабы не грузить более полутора гигабайт того, что не нужно новым npc.

2 mOjO: не абсурд. Если можешь привести существенные аргументы, почему сурсмод must have, я готов выслушать. Но у меня имеется куча других аргументов, почему он обязан убраться с сервера, собранного из SDK. Но вдруг кто-то здесь сможет объяснить мне, зачем мне сурсмод, если всё то, что он может мне предложить, я в состоянии написать в сервере, при этом проще и быстрее, а главное, надёжнее. Если так, готов забрать свои слова обратно, но я думаю, что здесь не найдётся таких людей.

Более того, с моим сервером некоторые из расширений сурсмода уже будут просто отказываться работать по причине отсутствия валидной геймдаты (расширение либо отключится, либо будет крашить сервер). Очень простой пример - sdhooks. И я ума не приложу, зачем мне его хуки, выполняемые, говоря грубо, через Китай, если всё, что может хукнуть sdhooks, а также гораздо больше мне доступно в исходном коде сервера.

VSDK2013 15.08.2016 15:08

Цитата:

Многие программеры считают SourceMod гавном, которое может только свистоперделки добавить и ничего более.
Не говно. В случае стокового сервера он незаменим. А вот если доступен код игры, то от него смысла мало. Максимум, что можно использовать, это голосования и мультиязычность, которые в сурсмоде легко реализуются.


Цитата:

Сталкера. И как второстепенного врага можно добавить соетника
Разве сталкер не работает в данный момент на первом сервере? У меня они точно работают, запускал карту с сина, где они есть, буйный точно может сказать, как карта называлась, а я не помню.

Советника в принципе можно =) Только есть один момент - советники в картах не существуют. Так что либо пересобирать карты, либо писать новые. Можно и проще - просто добавить на нужные карты в нужные места в рамках сервера, но что они будут делать? Я не знаю. Они вроде как применяют какое-то неизвестное науке воздействие, в результате в сингле главный герой корчится в муках, а как это в мультиплеере? =) Я без понятия. Ну, а чтобы летали по карте, это вполне можно сделать.

drummer 15.08.2016 15:21

Сталкеры редко появляются:-) И, кстати, если это возможно, можно добавить обитателей мира Зен. Такие как: Пехотинец, хаундай (на кооперативе очень редко попадались), гаргантюа, контроллер (они тоже иногда попадались, но не атаковали) и буллсквида (редкий персонаж). А как босса на некоторых картах можно добавить нихиланта.

БУЙНЫЙ 15.08.2016 15:46

Цитата:

Сообщение от VSDK2013 (Сообщение 2992)
буйный точно может сказать, как карта называлась, а я не помню.

я тоже не кооп задрот, карту не помню реально). но сталкеры действительно работали).

про советников больше скажу что всё что они делали в еп2 это скриптовые сцены, по крайней мере очень похоже на то. запихать всё это в AI наверное нереально).

Цитата:

Сообщение от drummer (Сообщение 2993)
Сталкеры редко появляются:-)

сталкеров нет потому что их и на карте нет. это уже к мапперам вопросы.
Цитата:

Сообщение от drummer (Сообщение 2993)
И, кстати, если это возможно, можно добавить обитателей мира Зен. Такие как: Пехотинец

Пехотинцы из Зен? ЛОЛ, спасибо, улыбнуло :ag:... Советую подучить устройство вселенной игры HL, а лучше просто повнимательней перепройти игру (думаю там всё понятно), чтоб впредь не морозить такой чепухи =).

да и потом зачем пехотинцы из HL1 если есть комбайны и ГОшники? смысл?

Цитата:

Сообщение от drummer (Сообщение 2993)
гаргантюа

вот этот на синовских картах встречаюется, думаю реально. Сам просил уже VSDK2013 сделать это). Темболее это есть и в самом SYN и у Дани\Воблы.

насчёт остальных не уверен, да и опять же их нету на картах. если карт с ними нет, то нету смысла их добавлять на сервер. И скорее всего невозможно.

Цитата:

Сообщение от drummer (Сообщение 2993)
А как босса на некоторых картах можно добавить нихиланта.

вот это невозможно точно!

drummer 15.08.2016 15:53

Цитата:

Пехотинцы из Зен? ЛОЛ, спасибо, улыбнуло ... Советую подучить устройство вселенной игры HL, а лучше просто повнимательней перепройти игру (думаю там всё понятно), чтоб впредь не морозить такой чепухи =).
Пересматривал. Поэтому и написал. Пехотинец - — существо Зена, которое выполняет функцию солдата в цивилизации Нихиланта. Он является частым противником игрока в оригинальной игре Half-Life и всех её дополнениях. http://ru.wikipedia.org/wiki/%D0%97%...86.D0.B5.D0.B2

mOjO 15.08.2016 15:55

Цитата:

Сообщение от VSDK2013 (Сообщение 2991)
Буйному. Простой вариант - убрать некоторые точки спауна в рантайм (согласен, это костыль). Оружие можно вполне заменить стандартным. Навскидку, это будет additionalequipment. Так что эти проблемы решаемы. Насчёт триггеров - верно. Тогда лучше сложный вариант - пересборка карты. Это мы тоже умеем, главное, чтобы овчинка стоила выделки.

Тестовый выключен до того момента, как я причешу код и соберу сервер под линукс. Тогда и спишемся. Сейчас мне нужно разобрать модельки и посмотреть, что из партиклов лить на фаст дл с эпизодов, дабы не грузить более полутора гигабайт того, что не нужно новым npc.

2 mOjO: не абсурд. Если можешь привести существенные аргументы, почему сурсмод must have, я готов выслушать. Но у меня имеется куча других аргументов, почему он обязан убраться с сервера, собранного из SDK. Но вдруг кто-то здесь сможет объяснить мне, зачем мне сурсмод, если всё то, что он может мне предложить, я в состоянии написать в сервере, при этом проще и быстрее, а главное, надёжнее. Если так, готов забрать свои слова обратно, но я думаю, что здесь не найдётся таких людей.

Более того, с моим сервером некоторые из расширений сурсмода уже будут просто отказываться работать по причине отсутствия валидной геймдаты (расширение либо отключится, либо будет крашить сервер). Очень простой пример - sdhooks. И я ума не приложу, зачем мне его хуки, выполняемые, говоря грубо, через Китай, если всё, что может хукнуть sdhooks, а также гораздо больше мне доступно в исходном коде сервера.

Проще ,быстрее и надежнее - согласен, тем более, если ты шаришь, конкретно с этой игрой возможно и не нужен sm, т.к. я сам убедился как там все криво работает, а насчет плюшек, с sm так же можно любые плюшки поставить, зная язык программирования sourcepawn, у меня знакомый на свой серв ставит любые фичи

БУЙНЫЙ 15.08.2016 15:59

Цитата:

Сообщение от VSDK2013 (Сообщение 2986)
Какого npc добавить следующим? Хотелось бы слышать игроков кооператива.

ну в первую очередь вообще всех из hl2+ep1+ep2). Зомбайны есть, Охотники есть!

Надо ещё плюющихся львов, личинок и светящихся ядовитых стражей из пещер еп2 - всё это встречается в синовских картах.


Из оружия не помешает Магнусон Девайс, например на некоторых картах Воблы\Дани такое имеется).

Также думаю будет неплохо огнемёт крематора из HL2Beta, можно взять с этого мода http://www.moddb.com/mods/missing-in...mation-16-full . а также снайперку).

БУЙНЫЙ 15.08.2016 16:06

Цитата:

Сообщение от drummer (Сообщение 2995)
Пересматривал. Поэтому и написал. Пехотинец - — существо Зена, которое выполняет функцию солдата в цивилизации Нихиланта. Он является частым противником игрока в оригинальной игре Half-Life и всех её дополнениях. http://ru.wikipedia.org/wiki/%D0%97%...86.D0.B5.D0.B2

Яснее надо выражаться. Это существо называется грант, просто грант) - просто и понятно).
http://half-life.wikia.com/wiki/Alien_Grunt
Цитата:

Entity name
monster_alien_grun
А просто пехотинцы - это HECU).


Текущее время: 19:54. Часовой пояс GMT +4.

Работает на vBulletin® Версия 3.9.1-dev
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
® 2015-2021 HALF-LIFE 2 FOREVER