Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Работа со скриптами (https://forum.zone-game.info/forumdisplay.php?f=37)
-   -   FakePlayer (https://forum.zone-game.info/showthread.php?t=33465)

xolseg 09.01.2014 13:43

FakePlayer
 
Можете подсказать где бы взять исходники такого чуда, погуглил, но толком ничего не нашел, мб не так искал.
Под любые хроники под любую сборку, нужно просто для тестов.

Под фейкплеер - я подразумеваю фантомов/ботов/и прочую ересь, которая ведет себя в игре как игрок и запускается на стороне сервера.

n3k0nation 09.01.2014 13:55

Re: FakePlayer
 
я идиот и написал не то, поэтому в спойлер это:
Свернуть ↑Развернуть ↓


Дополнение. Я идиот, не понял суть вопроса D: Примеры можно увидеть в ребеллионе, гриндах, опенах. Если полуркать, то можно найти еще больше вариантов.

xolseg 09.01.2014 14:09

Re: FakePlayer
 
Цитата:

Сообщение от Pointer*Rage (Сообщение 344646)
я идиот и написал не то, поэтому в спойлер это:
Свернуть ↑Развернуть ↓


Дополнение. Я идиот, не понял суть вопроса D: Примеры можно увидеть в ребеллионе, гриндах, опенах. Если полуркать, то можно найти еще больше вариантов.

Спасибо за совет. Обязательно покопаю, просто хотелось бы более углубленно понять проблему с этими фейкплеерами на которые все грешат, что это боты.
Я не пишу, что хочу очеловечить их, но добавить хоть долю интеллекта в их развитие хотелось бы. :D

n3k0nation 09.01.2014 14:24

Re: FakePlayer
 
Цитата:

Сообщение от xolseg (Сообщение 344653)
Спасибо за совет. Обязательно покопаю, просто хотелось бы более углубленно понять проблему с этими фейкплеерами на которые все грешат, что это боты.
Я не пишу, что хочу очеловечить их, но добавить хоть долю интеллекта в их развитие хотелось бы. :D

Я боюсь у Вас не слишком это выедет. Хех.
Если допиливать само АИ фейков, то это огромная куча условий и рандома -> аверейдж и сложность реализации, да и сложность поддержания кода.
Эвристика? - Еще большая нагрузка, много больше, чем простая обработка условий.

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

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

xolseg 09.01.2014 14:36

Re: FakePlayer
 
Цитата:

Сообщение от Pointer*Rage (Сообщение 344661)
Я боюсь у Вас не слишком это выедет. Хех.
Если допиливать само АИ фейков, то это огромная куча условий и рандома -> аверейдж и сложность реализации, да и сложность поддержания кода.
Эвристика? - Еще большая нагрузка, много больше, чем простая обработка условий.

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

Я не знаю, по этому и задаю такие вопросы.
Хорошо зайдем с другого бока,... есть некий нпц которые эмулирует человека, т.е.
1. Он ходит убивает мобов
2. Он ходит выполняет задания которые дают нпц
3. Он получает профессию.
4. Он может войти в пати и обучатся по мере роста навыков и заложенного в него кода
5. Он может создать клан для таких же ботов как и он и фармить рб.
6. Он может убить игрока, при условии что на него началась агрессия
7. Он может крафтить вещи и продавать их на рынке анализируя этот рынок по средствам "аукциона".

Возьмем этот минимум.
А теперь, у меня возник вопрос, есть некий пул задач которые способен выполнить бот, каким образом сервер будет обрабатывать эти задачи/задания?
Возьмем допустим 1 задачу, убийство мобов, нпц попадает в локацию и начинает истреблять мобов, куда пападает эта задача и как она обрабатывается?
Я понимаю, что данные попадают в тредпул АИ и он имеет свои ограничения, но нельзя его расширить/разделить, сделать слоями в конце концов или я что то не верно понимаю?

Pendant 09.01.2014 14:40

Re: FakePlayer
 
ну в общем как-то так))
Phantoms:
Свернуть ↑Развернуть ↓

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

Добавлено через 1 минуту
для стресс тестов подойдет))

xolseg 09.01.2014 14:43

Re: FakePlayer
 
Цитата:

Сообщение от Pendant (Сообщение 344673)
ну в общем как-то так))
Phantoms:
Свернуть ↑Развернуть ↓

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

Добавлено через 1 минуту
для стресс тестов подойдет))

Благодарствую, будет чем заняться на досуге.

Aristocrat 09.01.2014 14:47

Re: FakePlayer
 
Смотря какую ставить цель. Если делать ботов для эмуляции и накрутки онлайна, то тут очень сложно все - бот должен быть основан на Player(L2PcInstance), обрабатываться полностью как чар.
Если скрывать присутствие ботов от игроков не обязательно, то можно делать на базе мобов, с подменой пакетки.

У каждого варианта есть серьезные минусы, требующие весьма изощренного костылирования. Во всяком случае на актульных сборках L2j и овера.

Пилю ботов как хобби уже очень давно. Камней подводных туева хуча)

В данный момент реализую маркерную систему анализа территорий для анализирования отклонений от средних значений по региону и выводов по этому поводу.

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

xolseg 09.01.2014 14:58

Re: FakePlayer
 
Цитата:

Сообщение от Aristocrat (Сообщение 344678)
Смотря какую ставить цель. Если делать ботов для эмуляции и накрутки онлайна, то тут очень сложно все - бот должен быть основан на Player(L2PcInstance), обрабатываться полностью как чар.
Если скрывать присутствие ботов от игроков не обязательно, то можно делать на базе мобов, с подменой пакетки.

У каждого варианта есть серьезные минусы, требующие весьма изощренного костылирования. Во всяком случае на актульных сборках L2j и овера.

Пилю ботов как хобби уже очень давно. Камней подводных туева хуча)

В данный момент реализую маркерную систему анализа территорий для анализирования отклонений от средних значений по региону и выводов по этому поводу.

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

Интересная идея и последующая реализация.. Скорее всего нужно переписывать всё что относится к данной задаче с нуля, под эти нужды...

Aristocrat 09.01.2014 15:02

Re: FakePlayer
 
На самом деле пришлось переписать не так уж и много. Были небольшие затруднения с ИИ, т.к механизм работы ИИ чара и моба несколько отличаются и чтобы не плодить сущности и обойтись одним классом, пришлось чутка пройтись по сборке и немного ее прокостылировать.


Текущее время: 01:57. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot