Часто пишут "читер ботовод, все поля твои, глушь\удача у тебя завышенная ботом"
Давайте разберемся в механике работы игры и попробуем сопоставить с мифами о ботах.
Игра состоит из двух частей: клиент и сервер.
Клиент посылает команды серверу, сервер их обрабатывает и выдает клиенту результат.
Со стороны сервера настроены коннекторы, иными словами, сервер может принять от клиента очень ограниченный набор команд и все что сервер не распознает он проигнорирует.
В клиенте все что может сделать игрок это воспользоваться кнопками, ввести текст в поля и пощелкать мышью по игровому полю. Любое действие игрока имеет определенный код команды,
При совершении действия команда отправляется на сервер а сервер ее обрабатывает.
Разберем пример момента боя в командах:
игрок кликает на магию, идет анимация магии, кликает на эликсир, на поле, происходит сложение камней поля применение магии рун.
Как это выглядит на уровне общения роботов:
к - клиент, с - сервер
к: использовать магию
с: команда найдена в списке - ок, списать с персонажа на сервере камни, просчитать вероятности наложения рун, применить исходные данные к началу хода состояние поля и модификаторы урона от магии, отправить команду на воспроизведение анимации применения магии.
к: команда от сервера на воспроизведение анимации принята, воспроизведение анимации
к: использовать зелье
с: такая команда есть - ок, проверить персонажа есть ли у него такой эликсир, да эликсир есть, эликсир применен, списать эликсир, отправить команду клиенту на воспроизведение анимации и отправить обновленное количество эликсиров оставшихся у персонажа на сервере.
к: получить команду вопроизвести анимацию применения эликсира, отобразить полученные данные количества боеприпасов.
к: сдвинуть камни
с: такая команда есть - ок, сдвинуть камни на поле на сервере произвести сложение и просчитать новое поле, взять характеристики персонажа из базы сервера, добавить в формулу расчета, посчитать магию, сложение эффекты боеприпасов рун аур. Отправить команду на сколько изменилось число камней и здоровья персонажей, отправить обновленное поле после сложений, отправить эффекты рун аур.
к: отобразить картинками полученные данные.
Как видим из примера клиент только отправляет команды на действия с кнопками эликсирами полем магиями, все характеристики, просчеты и результаты просчетов на сервере. Сервер только отправляет результат своих вычислений. Клиент может с этими данными только отобразить.
Давайте попробуем добавит в цепочку Бота который пытается отправить команду
б: изменить характеристику Оглушение персонажа на +100500 единиц
с: нет такой команды, отправить команду "клиент что вы говорите? я вас не понял, повторите"
б: глушь говорю увеличь на 10500
с: нет такой команды, отправить команду "клиент что вы говорите? я вас не понял, повторите"
к: сдвинуть камни
с: такая команда есть - ок .... считаем...
Из примера становится понятно что сервер проигнорировал бота и принял команду от клиента без учета корректировок от бота.
Отсюда вывод: БОТ НЕ ВЛИЯЕТ НА ХАРАКТЕРИСТИКИ ПЕРСОНАЖА, БОТ НЕ МОЖЕТ ПОВЛИЯТЬ НА ВЫПАДЕНИЕ ПЕРВОГО ХОДА, все кто говорят обратное не знают как устроена работа клиент/серверных приложений