Форум : WarCraft II

Название : Запустил хост-бота

© 2005 www.runcms.org
https://www.war2.ru

URL этой темы
https://www.war2.ru/modules/newbb_plus/viewtopic.php?topic_id=2083&forum=1


 il :

18.5.14 02:48
 Для тех, кто сам не может создавать игры.

Как это работает:
В чате бнета 2 аккаунта: bot и GameBot

- Вы пишете карту, которую хотите создать в личку bot
- GameBot создает игру
- GameBot ждет 30 секунд и нажимает старт
- когда игра запустилась, GameBot выходит
bot постоянно находится в чате.

На данный момент поддерживаются 3 карты: gow ef, gow f, chop
В режиме melee (битва).

Бот не поддерживает всякие TVB, поскольку очень трудно управлять этим: перекидывать игроков из команды в команду и т.п.
Просто создается melee, ждем 30 сек, старт, и выход. Готов создавать новую игру.

Пока это работает на моем домашнем компе, так что супер скорости или режима 24*7 не ждите.

Потестируем, потом куда-нибудь перенесу на хостинг...

Аналогичная тема на буржуйском форуме: http://war2.warcraft.org/forum/viewtopic.php?t=25189

 Oragorn :

18.5.14 10:35
 Ух ты! Круто Ил! Спасибо. Думаю многие игроки будут довольны! Я протестирую завтра ;)
Главное за 30 секунд успеть :)
Так, а писать в личку примерно такое:
/w bot gow ef ?

 tolsty :

18.5.14 10:41
 Ага!!! Писатель Tolsty первый отчитывается :) Ощущения прикольные. Я эту статью не читал ночью - во первых не знал про запись на форуме, а во вторых русский инженер сначала курочит все сам, а потом уже читает инструкцию :), зашел на сервер, увидел бота, спросил Ила: ЭТО ТО?! Он сказал да, напиши боту... Ил здесь не очень подробно объяснил, я методом тыка: пишу: /w bot game. Он предлагает три игры на выбор, пишу /w bot gow ef и о чудо... создается игра, причем бот об этом всех информирует. Захожу в игру, и бот несет всякую милую чушь про 20 сек, начинается каунтдаун и через 10 сек я в игре, беге строить ТН, бот выходит из игры и игра заканчивается.... Я же один... Второй раз создал chop. Зашел один перс, прифигел по английски, играем - он чего- то испугался, вышел, игра закончена. Потом появился gamebot. Не знаю почему, но с ним не прокатило. Потом и с ботом не шло. Геймбот то появлялся, то пропадал. Потом пару раз создавал chop и, внимание, не мог в него зайти, хотя vova1 заходил... Потом он создавал, я не мог войти... Потом все же удалось зайти обоим и зашел англоговорящий. Вову выкинуло и играли вдвоем. Короче сыграл несколько игр.
Теперь резюме. Идея классная. Если будет стабильность, то вообще гуд. Что не понравилось ( Ил, я просто как тестер, без обид, ты крут. Просто я не шарю в таких вещах, а вдруг можно что сделать)
Игра битва. делиться сразу не получается и времени договориться мало заранее, а я еще и английскую версию поставил, возможно зря по причине того, что в игре после входа в join перестает работать кириллица, на латинице быстро бить я не силен, бот дает всего пару десятков секунд на вход других игроков после входа первого. Иногда, потом народ привыкнет, вообще никто не успевал заходить... Мы с Вовой заранее договаривались и в игру. Но другие заходят пока по одному, нас трое, третий кричит , что без альянсов 1-1-1, Вова, похоже из- за медленного инета и домашнего пока компа Ила вылетал два раза, я один против профика.... Но я сыграл все же за три часа больше игр, чем за прошедшие несколько дней... И даже без Вовы держался минут по 30... Кстати прикол, бот выходит, а его один пион остается в игре и стоит. Я его убивал постоянно... Почему- то мне доставался.
Прочитал, что написал и сам не знаю, что предложить... Я так понял, что бот один и пока кто- то его занимает, другие его не видят... Но может увеличить время с 30 сек до ??? С другой стороны можно договариваться в чате заранее, типа я создаю игру, кто хочет и кто- за кого. Заходим , запускается игра, делимся пока строится ТН и все дела. с русскоговорящими проблем не вижу. А вот если до запуска влезет кто-то еще, то засада. Времени мало, объяснять долго, а выкинуть чужака не можем. Как бы придумать что- то? Можно ли сделать, чтобы при создании игры его зачинщик вводил сразу в командной строке пароль из трех допустим цифр и при входе в игру бот его спрашивал? Заранее сообщаем пароль желающим, и лишние не войдут. Далее делимся в игре. А если пароль не введен, то любой входит... Просто мысли вслух, не привычно еще.
Добавочка. Я пробовал сразу писать /w bot chop не получалось, получалось именно в последовательности
/w bot game и после ответа введите тип игры из трех /w bot тип игры ( смотреть как из пишет бот)

[ Редактировано tolsty в 18.5.14 09:51 ]

 Oragorn :

18.5.14 10:58
 tolsty писатель - первым писал наверно... Но долго. Хех. Наверно, у тебя некоторое время не могло зайти, потому что бота использовал кто-то другой...

 tolsty :

18.5.14 11:02
 Я уже тоже начинаю въезжать. Если геймбота нет справа, значит бот занят. Осталось отработать договоренности перед созданием игры и придумать как отсечь лишних. Вот теперь канал Russian и будет востребован, желающие переходят туда и в чате спокойно договариваются про игру и дележ в ней. А то тут заруба с неделю назад политическая была, так англоговорящие прифигели от засилия нашей речи :)

[ Редактировано tolsty в 18.5.14 10:05 ]

 Oragorn :

18.5.14 11:09
 Хах! Я помню ;) мы с МиРо спорили(вернее больше я и вова1).
Да! Мы тогда англосаксов парализовали :)

 Rio :

18.5.14 14:50
 Тестировал его вчера, очень доволен! Поддерживаю верхнего постера,отдельного бота на канал Россия.

 il :

18.5.14 18:19
 Ух ты, сколько ответов, спасибо, приятно!
Цитата:

Ил здесь не очень подробно объяснил, я методом тыка: пишу: /w bot game. Он предлагает три игры на выбор, пишу /w bot gow ef и о чудо...
Да-да, именно так и задумывалось: специально не очень подробно объяснил - хорошая система должна быть интуитивно понятной. Это же тоже тест, насколько все просто и понятно сделано.
Кто будет читать тонны документации? Просто написал в личку боту - он ответил, что именно надо написать. написал правильно, он создал игру. :-)
Цитата:

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

Цитата:

Потом пару раз создавал chop и, внимание, не мог в него зайти, хотя vova1 заходил... Потом он создавал, я не мог войти... Потом все же удалось зайти обоим и зашел англоговорящий. Вову выкинуло и играли вдвоем. Короче сыграл несколько игр.
Кто отправляет боту команду создать - совершенно неважно, поскольку это все равно что меня попросить создать игру. Ты меня попросишь или вова - какая разница.
А лаги бывают, да. Если не можешь войти - совет, перезайти на сервер, бывает что помогает.

Цитата:

Теперь резюме. Идея классная. Если будет стабильность, то вообще гуд.
Надеюсь, стабильность будет, допиливаю. Плюс ищу хостинг, куда это запустить чтобы там крутилось нон-стоп.
Цитата:

Мы с Вовой заранее договаривались и в игру. Но другие заходят пока по одному, нас трое, третий кричит , что без альянсов 1-1-1,
Да, бывает, издержки, подумаем что-нибудь...
Как вариант - можно просто выходить если он не хочет быть зрителем. Вообще никогда с таким не сталкивался - обычно говоришь, its 1s, me vs vova, you watch, и все понимают...

Цитата:

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

Цитата:

Но может увеличить время с 30 сек до ??? С другой стороны можно договариваться в чате заранее, типа я создаю игру, кто хочет и кто- за кого. Заходим , запускается игра, делимся пока строится ТН и все дела. с русскоговорящими проблем не вижу. А вот если до запуска влезет кто-то еще, то засада. Времени мало, объяснять долго, а выкинуть чужака не можем. Как бы придумать что- то?
Время можно увеличить, только если вы договорились заранее, зашли, сидите, а бот игру не запускает, то скучно. А договориться можно заранее, обычно так и делают. Вопрос в чате: кто 1в1 гов? Другой отвечает - я. Джойн - и создает игру. А тут вместо этого попросил бота создать игру.
Если времени мало, то можно после старта игры поставить паузу и договариваться.

Цитата:

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

Цитата:

Я пробовал сразу писать /w bot chop не получалось, получалось именно в последовательности
/w bot game и после ответа введите тип игры из трех /w bot тип игры
Странно, должно работать. Может опечатка? Там надо строго chop писать - без кавычек, лишних пробелов и маленькими буквами.
Цитата:

Если геймбота нет справа, значит бот занят.
Да, именно! Если бота нет в чате, значит он либо вообще выключился, либо другую игру уже создает. Значит, надо ждать.
Это в принципе тоже интуитивно понятно.


[ Редактировано il в 18.5.14 17:21 ]

 il :

18.5.14 18:28
 Цитата:

Вот теперь канал Russian и будет востребован, желающие переходят туда и в чате спокойно договариваются про игру и дележ в ней.
Да, как вариант кстати. Цитата:

А то тут заруба с неделю назад политическая была, так англоговорящие прифигели от засилия нашей речи :)
Ну да, бывает такое дело, они офигевают когда столько русской речи на канале видят :-)

 tolsty :

18.5.14 20:49
 Еще раз проверил: сочетание /w bot chop работает сразу. В прошлые разы могло не прокатывать, так как геймбот мог отсутствовать (быть в игре), а я не обратил внимание.

 Zubator :

18.5.14 23:05
 ИЛ дружище! СПАСИБО ТЕБЕ ГРОМАДНОЕ за такое новввоведиение!)))))))))))))))))))))))))))))))) ты просто мега крутой чувак! мы твои должники!))


один недостаток в чоп четыре на четыре не поиграешь ((

 il :

19.5.14 00:05
 Цитата:

Еще раз проверил: сочетание /w bot chop работает сразу. В прошлые разы могло не прокатывать, так как геймбот мог отсутствовать (быть в игре), а я не обратил внимание.
Да, должно сразу работать. Мог быть и еще вариант: я в этот момент выключил 2-ю часть бота, которая игры создает и что-то там правил. Т.е. команда на создание игры отправлялась 2-й половине, но просто уходила в пустоту. Временные издержки на время доработки, такое бывает :-)
Цитата:

ИЛ дружище! СПАСИБО ТЕБЕ ГРОМАДНОЕ за такое новввоведиение!)))))))))))))))))))))))))))))))) ты просто мега крутой чувак! мы твои должники!))
Спасибо, приятно, ради этого и работаем :-D
Цитата:

один недостаток в чоп четыре на четыре не поиграешь ((
В планах есть tvb, но 4 на 4 конечно не выйдет - максимум 3 на 4. Но неужели среди 8 игроков не найдется ни одного с реальным айпи? :-o

 tolsty :

19.5.14 16:32
 Цитата:

Но неужели среди 8 игроков не найдется ни одного с реальным айпи? :-o

Я думаю найдется, тем более, что любители играть чоп уже неплохо чувствуют себя и с англоговорящими. А новички и 3х3 или 3х4 переживут :)
Правильно я понял, что бот живет на первом канале? А его сообщение (типа захостил игру, комон эврибади) видят на других каналах? Если видят, то можно сделать, чтобы не видели? Я к чему: тогда можно сделать, два бота, причем бот на первом канале пусть приглашает всех игроков и будет виден на всех каналах, а бот на Russia оповещает только Russia посетителей. Им пофиг, а нам приятно. Правда может быть засада в том, что JOIN похоже общий и тот, кто в него заходит увидит игру. Но живет она не долго. Если сразу договориться, то мало вероятно, что кто-то чужой залезет. В идеале, в строке можно было бы вводить /w bot chop пароль Пароль, допустим из трех цифр, предварительно сообщив о нем нужным перцам.
Ил, ты не ругайся, если что :) Я - типа говорю, а делать это не умею :) Все уже и так СУПЕР рады боту. Просто меня учили планировать максимально, а там уж как пойдет :) Мысли всякие лезут постепенно, вот и выкладываю потихоньку :)

 Oragorn :

19.5.14 16:39
 Tolsty, каналы специально созданы, для того, чтобы разный джоин был.
То есть, если на канале "раша" создали игру, то господа из общего канала не будут видеть созданную игру)))

 tolsty :

19.5.14 16:41
 Уверен? Надо проверить. Я думал, что каналы для общения сделаны, а не для разделения джойна. Но так даже проще.

[ Редактировано tolsty в 19.5.14 15:41 ]

 Oragorn :

19.5.14 16:42
 Tolsty, по крайней мере, мне так думается. Так было бы логично.

 tolsty :

19.5.14 16:44
 Логика штука такая... что для одного логично - другому смерть :) Надо разобраться сначала или Ил подскажет...

 Oragorn :

19.5.14 16:47
 Да, Ил подскажет.
Лино я, не видел созданных игр на других каналах.... Не, всё-таки я уверен, что джоин НЕ общий.

 il :

19.5.14 17:02
 Цитата:

Правильно я понял, что бот живет на первом канале?
Да, бот живет на первом канале, на других его сообщений не видят.
Можно другого бота и на russian повесить, если под 2-го бота кто-нибудь комп выделит

Join - общий, он вне каналов.

Пароль сделаем.

Сразу добавлю, что в ближайших планах сделать /w bot start и в дальнейшем полноценную поддержку tvb.

Цитата:

Ил, ты не ругайся, если что :) Я - типа говорю, а делать это не умею :) Все уже и так СУПЕР рады боту. Просто меня учили планировать максимально, а там уж как пойдет :) Мысли всякие лезут постепенно, вот и выкладываю потихоньку :)
Да не, очень правильно тебя учили, в те времена советское воспитание правильное давали, я вот ценю, потому как тоже чуть-чуть застал :-P

[ Редактировано il в 19.5.14 16:03 ]

 Oragorn :

19.5.14 17:05
 Значит, я ошибся...

 tolsty :

19.5.14 17:05
 Логика шахматиста :) ... Короче, захожу нв сервер, попадаю на первый канал. Заходу в джой - вижу созданную перцем игру. Название своеобразное, запоминаю. Захожу на канал Россия, захожу в Джойн и о чудо, та игра видна и создатель ее тот же... А вот и Ил :) Сейчас он тебя добьет...

[ Редактировано tolsty в 19.5.14 16:06 ]

 il :

20.5.14 05:06
 Так, дописал кое-какую логику, точнее, практически всю переписал: теперь один бот следит за другим, если что зависло, то вроде бы во всех случаях это будет отслежено и перезапущено.

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

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

 tolsty :

20.5.14 09:06
 !!!!!!!!!!!!! !!!!!!!!!!!!!!
Не хватает пары смайликов : лезгинка и человечек, бухающийся головой об пол в знак высочайшего почтения :) Не нашел...

 Oragorn :

20.5.14 11:49
 Ну и славно! А какую команду писать, чтобы попросить бота?

 Zubator :

20.5.14 12:04
 Ил, спасибо! проверил и я нововведение ботовские. Да сейчас он ждёт две минуты. СОздатель игры то есть я могу попрсоить начать раньше для этого нужно в чате игры написать команду /w bot start и игра начнётся!)))

 Oragorn :

20.5.14 12:40
 Спасибо Зубатор)
Сегодня всё опробую! :)

 CBuH :

22.5.14 15:27
 Попробовал, работает. Вот какие мысли появились:
Было бы вообще шикарно, если бы была возможность создавать приватные игры, например:
/w bot gow ef priv 123
Бот не пишет в чат, что юзернейм создаёт игру, а просто её создает с паролем 123.

 il :

22.5.14 17:09
 Да, конечно, пароль в плане.
В следующих версиях будет, когда научусь между процессами бота произвольные строки передавать...

 FX :

26.5.14 02:30
 il, напиши как работает твой бот изнутри, недолго, по простому.

 il :

26.5.14 17:25
 Вкратце: есть 2 скриптовых языка: stealthbot и nncron, 1 клиент вар2, есть 1 виндовый хостинг для вар2.

Stealthbot слушает команды от юзеров и передает их nncron, тот нажимает нужные кнопки и кликает мышкой по вар2.
Вар2 - совершенно "слепой", не знает, в каком он состоянии находится.
Stealthbot это определяет по тому, что 2-й бот вошел в чат или вышел из чата.

 FX :

26.5.14 17:50
 Цитата:

Stealthbot слушает команды от юзеров и передает их nncron, тот нажимает нужные кнопки и кликает мышкой по вар2.


Зачем нужен StealthBot , если можно просто "telnet server.war2.ru 6112"?
Рекомендую еще посмотреть программу http://www.autohotkey.com/ http://ru.wikipedia.org/wiki/AutoHotkey

Цитата:

Вар2 - совершенно "слепой", не знает, в каком он состоянии находится.


AutoHotKey функция PixelGetColor (Retrieves the color of the pixel at the specified x,y coordinates.)

Еще там есть интересная функция ImageSearch (Searches a region of the screen for an image.)

 il :

26.5.14 18:47
 Цитата:

Зачем нужен StealthBot , если можно просто "telnet server.war2.ru 6112"?
Stealthbot - довольно мощная штука, которая умеет например обрабатывать события, типа входа-выхода юзера на канал, прием /w-команд от юзера, встроенные таймеры - как минимум это я использую. Писать такой же функционал самому на telnet - ну как-то не хочется...

Цитата:

AutoHotkey возник как ответвление проекта AutoIt
, ну да, autoit знаю, смотрел, по сути nncron - аналог, вышло так, что я именно его взял.
Цитата:

PixelGetColor
не смотрел, скорее всего что-то подобное там есть - пока не дошел до его использования. Не так это и просто - получить требуемую инфу по цвету точки, пока проще если что пошло не так - кильнуть процесс вар2 и запустить его заново.

 FX :

26.5.14 19:33
 Цитата:

есть 1 виндовый хостинг для вар2.


Может купить дешевый VPS для этой цели? гугли VPS, какие там цены не знаю.

Цитата:

Писать такой же функционал самому на telnet - ну как-то не хочется...


Это было бы более красивое решение.

 il :

26.5.14 21:21
 Цитата:

Может купить дешевый VPS для этой цели? гугли VPS, какие там цены не знаю.
10 баксов находил. Собственно, тут 2 варианта: либо найти кого, кому не впадлу за это дело платить 10 баксов в месяц (лично мне впадлу), либо найти кому впихнуть на его домашний 24*7 работающий комп. Таких желающих пара человек в принципе есть, надо только с них пароль от тимвьювера стрясти...

Цитата:

Это было бы более красивое решение.
Изобрести половину точно такого же велосипеда, который уже изобретен - более красивое решение чем использовать готовый? Ну никак не соглашусь. Если бы еще юзерам надо было его ставить - тогда да, а так - все равно на сервере выполняется

 FX :

6.6.14 19:46
 А в Warcraft 3 хост-бот не занимает слота игрока...

 Rio :

6.6.14 22:21
 Доброго! Ил пара вопросов.
1) Куда пропал бот?
2) Несколько дней не мог зайти в игры созданные ботом. Перезаходил на сервер, но не помогало.

 il :

7.6.14 00:16
 Бота перезапустил - на том сервере отваливался инет.
Собственно, тот сервер с ботом - это как раз резервный хостинг от mouseTopher, вот мы и потестируем, как он работает...

Почему не мог зайти - не знаю. Народ жаловался, что тоже не может зайти, у меня все заходило. Скорее всего, индивидуальная несовместимость с маршрутизацией...

 FenixF :

29.7.14 18:20
 Добрый день. Есть проблема - не могу зайти в игру к боту.
Вот что пишет:
http://rghost.ru/57152456.view
Собственно, у меня нет реального IP, а поиграть с друзьями хочется.
Можно что-нибудь мне с этим сделать.
PS В английском не силен, к сожалению.
PSS Простите за скомканность, просто пост случайно удалился, а переписывать его полностью никаких сил уже нет.

 tolsty :

29.7.14 19:00
 Про бота ответит Ил. Я же могу сказать что писал в чат в открытую и в личку персонажу FenixF. Предлагал поиграть :) Предлагал создать игру на выбор :)

 FenixF :

29.7.14 19:25
 Ага, я помню тебя в чате.
Попробовал подсоединиться в рандомную игру(кто-то создал) - тоже не прокатило. По всей видимости, тут дело не в боте.
http://rghost.ru/57152456.view
Пишет то ли про задержку, то ли еще про что. Рядом с названием игры красная полоска(типа пинг плохой. как я понимаю).
Поиграть... впринципе, можно и с сообществом, если не против абсолютного нубизма(буду сидеть на базе, развиваясь до(да пока не снесут)), и... походу не получается зайти.

[ Редактировано FenixF в 29.7.14 18:28 ]

 Zubator :

29.7.14 20:00
 Я кстати тоже не смог зайти вот только что в почти семь часов вечера по МСК в игру созданную ботом. Та же ошибка пишет. Скорее всего пропал реальный айпи на том компе в том месте где стоит гамебот.

 Rio :

7.10.14 12:51
 Доброго! Ил, действительно к боту часто невозможно войти в игру. Ситуация неприятная.

 il :

12.10.14 02:13
 Да, неприятно.
Действительно, сталкивался с этой проблемой еще давно - в причинах не разобрался, сервер с ботом перезагрузили, и заработало.

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

А я со своей стороны попробую им объяснить, чтобы они об этом mousey сообщали...

 Rio :

9.11.14 10:07
 Давненько бот не появлялся. Что случилось? Он еще будет?

 il :

9.11.14 15:11
 Сервер, на котором хостится бот, поломался. Там вентилятор сдох, ждем когда починят...

Есть еще желающие у себя бота приютить на постоянной основе? Нужен комп, включенный 24*7, с реальным айпи, выделенным под бота.
Либо 300р в месяц за виндовый хостинг. Чтобы не заморачиваться с компами, у которых ломаются вентиляторы. Есть желающие?

© 2005 www.runcms.org
https://www.war2.ru

URL этой темы
https://www.war2.ru/modules/newbb_plus/viewtopic.php?topic_id=2083&forum=1