Обсуждение YaPB

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
2,751
Реакции
3,016
Помог
61 раз(а)

Повышение прозрачности и доверия в отношении ботов


Для поддержания здоровой и процветающей игровой среды крайне важно, чтобы между игроками и разработчиками царило доверие. К сожалению, текущая практика сокрытия информации о ботах и предоставления им поддельных данных (таких как ложный пинг и отсутствие идентификатора BOT, наличие поддельных аватаров) подрывает это доверие и вводит игроков в заблуждение, а так же несёт негативный оттенок для игры.
Сообщество игроков уже сталкивается с сокращением численности с каждым годом, и такие нечестные практики только ухудшают ситуацию. Игроки заслуживают полной прозрачности в отношении того, с кем они взаимодействуют - ботом или другим человеком. Скрывать эту информацию неэтично и создает ложные впечатления.
Предлагаемое решение:
  1. Удалить функциональность, позволяющую подделывать игровые идентификаторы (SteamID), аватары и пинг ботов, из основного кодовой базы проекта. Такие практики вводят пользователей в заблуждение и подрывают доверие.
  2. Если разработчики считают необходимым сохранить возможность подделки идентификаторов и данных ботов, то эту функциональность следует вынести в отдельный модуль или плагин, который будет четко обозначен и не будет включен в проект по умолчанию.
  3. Реализовать систему отметок или флагов, позволяющую идентифицировать игровые серверы, замеченные в использовании практик по сокрытию информации о ботах. Это даст возможность игрокам фильтровать и избегать такие серверы, если они того пожелают.
  4. Добавить в документацию четкое заявление о приверженности проекта принципам прозрачности и открытости в отношении ботов. Это продемонстрирует серьезность наших намерений укрепить доверие сообщества.
Принятие этих мер позволит восстановить доверие игроков, обеспечить прозрачность и предоставить им выбор в том, хотят ли они взаимодействовать с серверами, использующими обманные практики. Это важный шаг к оздоровлению игрового сообщества. Обесценивание выбора игрока для игры, которой уже более 20 лет является не лучшим путём для развития.
Затрагиваемые квары:
C++:
//
// Enables or disables displaying bot avatars in front of their names in scoreboard. Note, that is currently you can see only avatars of your steam friends.
// ---
// Default: "1", Min: "0", Max: "1"
//
yb_show_avatars "1"

//
// Enables latency display in scoreboard.
// Allowed values: '0', '1', '2'.
// If '0', there is nothing displayed.
// If '1', there is a 'BOT' is displayed.
// If '2' fake ping is displayed.
// ---
// Default: "2", Min: "0", Max: "2"
//
yb_show_latency "2"
 
Сообщения
657
Реакции
562
Предупреждения
8
Помог
9 раз(а)
Муха из слона
 

ssx

Сообщения
289
Реакции
73
Лучше направить силы не на борьбу против манипуляцией информации бот это или игрок а на то чтоб боты были не хуже игроков в плане взаимодействия посредством ИИ (понимать и подстраиваться под стиль союзника, определять контр-тактики против врага, понимать чат\голос и т д).

А по поводу пинга:
1. Я лично не согласен в том плане что игроки часто (при правильной настройке ботов) не могут определить бот это или нет (к примеру у меня на ДМ АИМ сервере я сам порой играю с очень хорошим плеером и думаю что против реального игрока а прописав status я вижу что это yapb бот).
2. В идеале сервер должен отображать пинг от сервера к клиенту только о его пинге и не отображать пинг остальных игроков/ботов.
3. YaPB это по сути модуль дополнение к серверу, подменять пинг можно множеством других способов.
4. "Скрывать эту информацию неэтично и создает ложные впечатления." - в наше время это делают даже огромные корпорации гейминга (пример: Cold Of Duty Mobile - там только со временем понимаешь кто живой игрок а кто бот (по никам и поведению) и в основном мне только ботов и подсовывает)
5. Мне эта тема напомнила как нашлись протесующие против читерского (по их мнении) дополнения баг-фикса к Half-Life
How to ban this cheat client?
6. Я за подмену стим_ид ботам если это будут реальные стим аккаунты (готов на всех своих ботов купить в стиме игру) и к ним можно будет прикрутить ИИ ботов для взаимодействия. К примеру на основе chatGPT-4 можно создать агента и задать ему чтобы помогал игроку всем что касается игры и сервера).
 
Сообщения
59
Реакции
10
Помог
1 раз(а)
Полный бред.
Разве что изменить в конфиге по умолчанию: yb_show_avatars "0" и yb_show_latency "1"
 
Сообщения
657
Реакции
562
Предупреждения
8
Помог
9 раз(а)
CJIaByTu4, проблема высосана из пальца.
 
Сообщения
2,751
Реакции
3,016
Помог
61 раз(а)
чтоб боты были не хуже игроков в плане взаимодействия посредством ИИ (понимать и подстраиваться под стиль союзника, определять контр-тактики против врага, понимать чат\голос и т д).
Лучшие компании мира не смогли ещё создать идеальных ботов. Это недостижимая задача в рамках CS. Возможно, нейросети немного улучшат положение.


YaPB это по сути модуль дополнение к серверу, подменять пинг можно множеством других способов.
YaPB - это отличная возможность продлить жизнь CS. Мой посыл в том, чтобы избавить YaPB от гнили. Если недобросовестные админы и решат вводить в заблуждение игроков, то пускай, но делают это явно не посредством помощи YaPB.


это делают даже огромные корпорации гейминга
Ничего кроме негатива для игрока, который освоил азы это не привносит. Недавно я пробовал играть в BF2042, и сообщество лишь негативно относится к подобным махниациям с стороны создателей игры.
 
Последнее редактирование:
Сообщения
79
Реакции
9
Если всё правильно понял, тогда предлагаю |> каждого серверо-держателя провести опрос у игроков. И уже статистикой прийти к пониманию, а не пинать воздух.
По окончанию опроса, скину результаты. Самому интересно :hunter:
222.png
 
Сообщения
670
Реакции
143
Помог
11 раз(а)
SergeyShorokhov,

Повышение прозрачности и доверия в отношении ботов


Для поддержания здоровой и процветающей игровой среды крайне важно, чтобы между игроками и разработчиками царило доверие. К сожалению, текущая практика сокрытия информации о ботах и предоставления им поддельных данных (таких как ложный пинг и отсутствие идентификатора BOT, наличие поддельных аватаров) подрывает это доверие и вводит игроков в заблуждение, а так же несёт негативный оттенок для игры.
Сообщество игроков уже сталкивается с сокращением численности с каждым годом, и такие нечестные практики только ухудшают ситуацию. Игроки заслуживают полной прозрачности в отношении того, с кем они взаимодействуют - ботом или другим человеком. Скрывать эту информацию неэтично и создает ложные впечатления.
Предлагаемое решение:
  1. Удалить функциональность, позволяющую подделывать игровые идентификаторы (SteamID), аватары и пинг ботов, из основного кодовой базы проекта. Такие практики вводят пользователей в заблуждение и подрывают доверие.
  2. Если разработчики считают необходимым сохранить возможность подделки идентификаторов и данных ботов, то эту функциональность следует вынести в отдельный модуль или плагин, который будет четко обозначен и не будет включен в проект по умолчанию.
  3. Реализовать систему отметок или флагов, позволяющую идентифицировать игровые серверы, замеченные в использовании практик по сокрытию информации о ботах. Это даст возможность игрокам фильтровать и избегать такие серверы, если они того пожелают.
  4. Добавить в документацию четкое заявление о приверженности проекта принципам прозрачности и открытости в отношении ботов. Это продемонстрирует серьезность наших намерений укрепить доверие сообщества.
Принятие этих мер позволит восстановить доверие игроков, обеспечить прозрачность и предоставить им выбор в том, хотят ли они взаимодействовать с серверами, использующими обманные практики. Это важный шаг к оздоровлению игрового сообщества. Обесценивание выбора игрока для игры, которой уже более 20 лет является не лучшим путём для развития.
Затрагиваемые квары:
C++:
//
// Enables or disables displaying bot avatars in front of their names in scoreboard. Note, that is currently you can see only avatars of your steam friends.
// ---
// Default: "1", Min: "0", Max: "1"
//
yb_show_avatars "1"

//
// Enables latency display in scoreboard.
// Allowed values: '0', '1', '2'.
// If '0', there is nothing displayed.
// If '1', there is a 'BOT' is displayed.
// If '2' fake ping is displayed.
// ---
// Default: "2", Min: "0", Max: "2"
//
yb_show_latency "2"
Бред, категорически не согласен
 

ssx

Сообщения
289
Реакции
73
Artemyshka, Ну у вас сразу неправильно поставлен вопрос.
Вы говорите: «Если бы на сервере были боты вместо игроков», и игроки сразу думают: «Ага, будут одни боты, игроков не будет... конечно, не согласен!» — и это ещё до того, как дочитали до конца.
Предлагаю что-то вроде: «Дорогие игроки! Как вы относитесь к тому, что боты, которые иногда играют вместе с игроками, когда мало онлайна, имели бы в ТАБе фейковое отображение пинга, так же как у игроков?» И предложить адекватные варианты ответов: «Мне всё равно, я согласен», «Не согласен, потому что трудно по пингу отличить в ТАБе, а мне не хочется в консоли прописывать ping, чтобы посмотреть реальный пинг игроков/ботов.»
 
Последнее редактирование:
Сообщения
50
Реакции
8
SergeyShorokhov,:crazy: не туда копать начали))) О какой процветающей игровой среде может идти речь, когда 90% серверов используют плагины по увеличенному урону и т.д. Давно уже убили сервера плагинами.От того что будут бегать псевдо реальные игроки хуже никому не станет. А вот если бот будет явно виден смысл человеку играть с ботами? Он также может это сделать через new game ) А так замаскировав ботов под реальных игроков отличия от тех что приходят с раскрутки минимальный)
 
Сообщения
182
Реакции
4
SergeyShorokhov, мнение хорошее, и многие с вами согласяться, только всегда будет и противоположное.

По моему, как возможность, то что эти настройки есть, это уже хорошо.
Обьясню почему мне это нужно: Сейчас, я начал активнее развивать зомби сервер, и хочеться прямо чтобы было мясо, по этому, как решение добавил ботов, но иногда бесит эта надпись BOT в чате или то что у них нету пинга в TAB и т.д.. А то что данные настройки есть, уже облегчают многие моменты, а именно не нужно искать отдельные плагины. Просто защёл и поменял значение, без заморочек.

Данные боты действительно очень хороши, и автору большое спасибо за то что поддерживает их и обновляет.
 
Сообщения
2,751
Реакции
3,016
Помог
61 раз(а)
О какой морали говорить среди серверодержателей, которые пытаются заработать с випок. Ожидаемо, мнение непосредственно тех, кто содержит сервер и использует эту функциональность для получения какой-то либо выгоды будет не совпадать. Скорее, вопрос только к jeefo

Обман мало кому приносит позитивные эмоции. Серверодержатели, очевидно не заинтересованы в какой-то либо выгоде для игры, кроме пределов своего болота. Очевидно, для них наличие этой функциональности и возможности её конфигурировать всегда будет лучше, чем её отсутствие.

Не покидаю надежд, возможно, кто-то поразмыслит немного дальше своего болота, и оценит вред игре, а не псевдо пользу серверу.

Искусственный интеллект - это прекрасная возможность для игры. За YaPB не должно быть стыдно, ведь это хорошо сделанные боты. Качественные AI не нуждаются в том, чтобы притворяться игроком. Даже наоборот.
 
Последнее редактирование:
Сообщения
16
Реакции
42
Помог
2 раз(а)
Слишком большой спрос на функционал для его удаления, хотя, я в целом, наверное и согласен с подачей (причиной) проблемы. Если перефразировать, то, что я написал в исусе.

Как компромиссное решение: https://github.com/yapb/yapb/pull/576/
 
Последнее редактирование:
Сообщения
2,751
Реакции
3,016
Помог
61 раз(а)
jeefo, благодарен за способствование решению проблемы. Согласен с решением автора.
 
Сообщения
59
Реакции
10
Помог
1 раз(а)
Ну Слава Богу, удовлетворили.
А что на счет A2S_INFO и A2S_PLAYER HLDS по типу https://dev-cs.ru/resources/503/ и тому подобных? Или это другое?
 
Сообщения
401
Реакции
113
Помог
2 раз(а)
Код:
Connecting Bot...
[DEBUG] Team changed!!!
[DEBUG] num_unassigned = 0, num_tt = 16, num_ct = 16, num_spec = 0
Bot 'utteteHok' kicked.
[DEBUG] SV_DropClient_RH() ===>
[DEBUG] Client_Disconnected(): id = 9, is_connected = 1
[DEBUG] num_unassigned = 0, num_tt = 15, num_ct = 16, num_spec = 0
[DEBUG] R_ClientDisconnect() ===>
[DEBUG] Client_Disconnected(): id = 9, is_connected = 0
Dropped utteteHok from server
Reason:  Kicked
[DEBUG] CreateFakeClient(): id = 9, name = Keil
[DEBUG] PutInServer_Post(): id = 9, name = Keil, authid = BOT, team = 0, is_connected = 1
[DEBUG] num_unassigned = 1, num_tt = 15, num_ct = 16, num_spec = 0
Connecting Bot...
[DEBUG] Team changed!!!
[DEBUG] num_unassigned = 0, num_tt = 16, num_ct = 16, num_spec = 0
[DEBUG] CreateFakeClient(): id = -149286864, name = Stim
Maximum players reached (32/32). Unable to create Bot.
Bot 'EnViRoN' kicked.
[DEBUG] SV_DropClient_RH() ===>
[DEBUG] Client_Disconnected(): id = 15, is_connected = 1
[DEBUG] num_unassigned = 0, num_tt = 16, num_ct = 15, num_spec = 0
[DEBUG] R_ClientDisconnect() ===>
[DEBUG] Client_Disconnected(): id = 15, is_connected = 0
Dropped EnViRoN from server
Reason:  Kicked
Первая проблема.
Было 7/7. Пишем yapb fillserver any 20.

Боты добавляются методом "пока из ушей не потечет"... Maximum players reached (32/32). Unable to create Bot. а когда потекло, отнимем единичку - на всякий случай... А если мест вакантных 2... он кикнет 2 бота?

Я не знаю, можно ли математически рассчитать на этапе принятия решения о добавлении ботов их количество таким образом, чтобы не упираться в "потолок"? X = 32 - N(вакантных) - N(слот резерв)

Вторая проблема - использование штатного рандомайзера. При yapb kick он может "случайно", 8-10 раз подряд кикнуть из одной и той же команды ботов. Соответственно и поведение ботов в некоторых случай - очень тупое...
 
Последнее редактирование:
Сообщения
16
Реакции
42
Помог
2 раз(а)
Код:
Connecting Bot...
[DEBUG] Team changed!!!
[DEBUG] num_unassigned = 0, num_tt = 16, num_ct = 16, num_spec = 0
Bot 'utteteHok' kicked.
[DEBUG] SV_DropClient_RH() ===>
[DEBUG] Client_Disconnected(): id = 9, is_connected = 1
[DEBUG] num_unassigned = 0, num_tt = 15, num_ct = 16, num_spec = 0
[DEBUG] R_ClientDisconnect() ===>
[DEBUG] Client_Disconnected(): id = 9, is_connected = 0
Dropped utteteHok from server
Reason:  Kicked
[DEBUG] CreateFakeClient(): id = 9, name = Keil
[DEBUG] PutInServer_Post(): id = 9, name = Keil, authid = BOT, team = 0, is_connected = 1
[DEBUG] num_unassigned = 1, num_tt = 15, num_ct = 16, num_spec = 0
Connecting Bot...
[DEBUG] Team changed!!!
[DEBUG] num_unassigned = 0, num_tt = 16, num_ct = 16, num_spec = 0
[DEBUG] CreateFakeClient(): id = -149286864, name =

[DEBUG] Client_Disconnected(): id = 9, is_connected = 0
Dropped utteteHok from server
Reason:  Kicked
[DEBUG] CreateFakeClient(): id = 9, name = Keil
[DEBUG] PutInServer_Post(): id = 9, name = Keil, authid = BOT, team = 0, is_connected = 1
[DEBUG] num_unassigned = 1, num_tt = 15, num_ct = 16, num_spec = 0
Connecting Bot...
[DEBUG] Team changed!!!
[DEBUG] num_unassigned = 0, num_tt = 16, num_ct = 16, num_spec = 0
[DEBUG] CreateFakeClient(): id = -149286864, name = Stim
Maximum players reached (32/32). Unable to create Bot.
Bot 'EnViRoN' kicked.
[DEBUG] SV_DropClient_RH() ===>
[DEBUG] Client_Disconnected(): id = 15, is_connected = 1
[DEBUG] num_unassigned = 0, num_tt = 16, num_ct = 15, num_spec = 0
[DEBUG] R_ClientDisconnect() ===>
[DEBUG] Client_Disconnected(): id = 15, is_connected = 0
Dropped EnViRoN from server
Reason:  Kicked
Первая проблема.
Было 7/7. Пишем yapb fillserver any 20.

Боты добавляются методом "пока из ушей не потечет"... Maximum players reached (32/32). Unable to create Bot. а когда потекло, отнимем единичку - на всякий случай... А если мест вакантных 2... он кикнет 2 бота?

Я не знаю, можно ли математически рассчитать на этапе принятия решения о добавлении ботов их количество таким образом, чтобы не упираться в "потолок"? X = 32 - N(вакантных) - N(слот резерв)

Вторая проблема - использование штатного рандомайзера. При yapb kick он может "случайно", 8-10 раз подряд кикнуть из одной и той же команды ботов. Соответственно и поведение ботов в некоторых случай - очень тупое...
Stim
Maximum players reached (32/32). Unable to create Bot.
Bot 'EnViRoN' kicked.
[DEBUG] SV_DropClient_RH() ===>
[DEBUG] Client_Disconnected(): id = 15, is_connected = 1
[DEBUG] num_unassigned = 0, num_tt = 16, num_ct = 15, num_spec = 0
[DEBUG] R_ClientDisconnect() ===>
[DEBUG] Client_Disconnected(): id = 15, is_connected = 0
Dropped EnViRoN from server
Reason: Kicked[/CODE]

Первая проблема.
Было 7/7. Пишем yapb fillserver any 20.

Боты добавляются методом "пока из ушей не потечет"... Maximum players reached (32/32). Unable to create Bot. а когда потекло, отнимем единичку - на всякий случай... А если мест вакантных 2... он кикнет 2 бота?

Я не знаю, можно ли математически рассчитать на этапе принятия решения о добавлении ботов их количество таким образом, чтобы не упираться в "потолок"? X = 32 - N(вакантных) - N(слот резерв)

Вторая проблема - использование штатного рандомайзера. При yapb kick он может "случайно", 8-10 раз подряд кикнуть из одной и той же команды ботов. Соответственно и поведение ботов в некоторых случай - очень тупое...
fillserver - архаизм, его не стоит использовать, есть же квота и прочее, в нём до упора да, а потом не на всякий случай выкидывает сам fillserver, а менеджер квоты выкидывает, чтобы привести в порядок количество.

kick - а кто сказал, что там был рандом? генератор чисел в боте нормальный, основная задача быть быстрым.

Обе ситуации в последнем коммите подправлены.
1 Июн 2024
Ну Слава Богу, удовлетворили.
А что на счет A2S_INFO и A2S_PLAYER HLDS по типу https://dev-cs.ru/resources/503/ и тому подобных? Или это другое?
оно теперь тоже требует включенного EnableFakeBotFeatures (если использовать встроенную версию в боте)
 
Сообщения
401
Реакции
113
Помог
2 раз(а)
jeefo, класс! А подскажите, поведение ботов с их "невозвращением" после выхода игрока исправлено? Ситуация: играет 10 ботов (квота 10), заходят 3 человека, осталось 7 ботов и 3 человека... Через некоторое время люди уходят - количество ботов не меняется - их по прежнему 7 шт. В старой, 1,5 годичной версии я где-то правил 1 строку... и все работало..

Только сейчас заметил, что вы их разработчик :scratch_one-s_head:Вы создали лучших ботов, спасибо:good2:
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу