Jump to content
Korean Random

Dragon armor

User
  • Content Count

    272
  • Joined

  • Last visited

  • Days Won

    1

Dragon armor last won the day on August 10 2018

Dragon armor had the most liked content!

Community Reputation

37

6 Followers

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Случайно пропустил отправку пакета, поэтому не было чата. Не заметил просто в дампе трафика его. Пока не работает, но вкладка появилась. В общем, сообщения пока не появляются. Но чат загружается.
  2. @Plotnik5252ru Нет, это не моё. @DrWeb7_1 Там и 192.168.99.136, и localhost. Может из-за этого?
  3. Пакет 61 вроде клиент отправляет. А после него ошибка. Посмотри повыше ошибочного пакета, из-за чего возникает такое. Заканчивать на сегодня надо. Сейчас итоги подведу. Итак, первое. Для чата в ангаре xmpp не нужен. Всё прекрасно работает и без него. Упс, называется. Бывает. Второе. Но всё общение завязано на xmpp, только через сервер это идёт (частично). Явно не сервер следит за отправкой и приёмом сообщений, а связан через xmpp. И третье. Где-то надо включить чат.
  4. @DrWeb7_1 Не надо. Просто посмотри, что там. Если ты шифрование отключил, то там будет текст. А если не отключил, то надо будет найти, где это сделать.
  5. Кто-нибудь подскажет, как из cPickle, в котором закодирован utf8, вывести читаемый текст? @DrWeb7_1 Возможно, клиент отправляет своё сообщение с неймспейсом 'http://wargaming.net/xmpp#filter-roster' например и ждёт ответ, а сервер не знает, что это такое и отправляет ошибку. Запусти сниффер.
  6. Ладно, продолжаем страдать хернёй. CHAT_ACTION_DATA Да делов-то, выучить erlang да написать плагин к серверу. Ну и с базой данных разобраться надо будет (там своя какая-то). А ещё надо как-то эмулятору связываться с xmpp. У меня есть дамп чата. Сейчас попробую расшифровать, что там. Уже забыл просто, как поле PYTHON надо декодировать.
  7. А ещё ошибка была в том, что надо видео записывать. Попробуй сейчас разобрать, что записано в дампе под названием chat.pcap. И как-бы всё нормально. Клиент отправляет серверу уведомление, что он не может соединиться с xmpp сервером. Но дальше идут команды чата. В том-то и дело, что не знаю, насколько зря. Но так то, плагин писать бы будешь к еджабберу? Хоть и не уверен, но чат работает и без xmpp. Хотя бы потому, что мне уже надоело настраивать сервер.
  8. Моя огромная ошибка была в том, что делал дамп только udp трафика. Надо было всё делать, тогда легко было бы сейчас узнать, что именно отправляется и какие данные. Но как сейчас происходит? Для чата xmpp не нужен. Сейчас проверил, запустил клиент, которому разрешено только udp соединение. Загрузил, общий чат доступен. Подозреваю, что будут не доступны поиск игроков и контакт-лист, а также приватные сообщения (это точно, проверено).
  9. @DrWeb7_1 Гугл в помощь. Но мне кажется, что слишком уж навороченный этот сервер. Думаю, можно ещё попробовать prosody, совсем простой сервер, как пишут про него, только опять проблема, что под Windows нет бинарников. Но он на Lua написан большей частью, не должно быть проблем с компиляцией. Или вообще забить на это. Знать бы точно, для чего именно xmpp используется. Только ли через него можно сообщения отправлять. $ ejabberdctl register testuser1 localhost pass123 User testuser1@localhost succesfully registered $ ejabberdctl add_rosteritem badlop localhost testuser1 localhost TestUser1 Friends none А в jabberd2 просто запись в sqlite. Можно и ручками будет сделать напрямую из сервера.
  10. @Web3dSkillet По поводу чего? Если для скчивания сервера, то уже много раз писал, что пока что нечего выкладывать, разве кроме загрузки ангара. Когда будет что-то более-менее стабильное, тогда опубликую. Может, но не в этом случае. Достаточно. И соединение устанавливается, клиент шлёт данные и ждёт ответа. Но вот на каком-то пункте происходит непонятное. В логах питона нет ничего, что намекло бы на ошибку. @DrWeb7_1 Сейчас уже построчно сравниваю. Единственное, на что наткнулся, так это сервер отправляет строку xmlns:ack='http://www.xmpp.org/extensions/xep-0198.html#ns' чего в оригинале нет. Явно не в этом дело. Но, что интересно, оригинальных xmpp сервер шлёт такую вещь <stream:features xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client'> <mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'> <mechanism> <![CDATA[PLAIN]]> </mechanism> </mechanisms> </stream:features> Т.е. тег CDATA. Хз что там за сервер у картохи.
  11. @Plotnik5252ru Первая ссылка в гугле ведёт сюда https://java.com/ru/download/help/error_1603.xml @DrWeb7_1 Не получается что-то. Просто забрутфорсил программу и смог отправить пакет клиенту. После этого клиент замолкает, то ли ждёт чего-то ещё, то ли неправильно у меня. Вот оригинальный ответ сервера. <presence to='...@wot-ru.loc' from='...@wot-ru.loc/wot' xmlns:stream='http:etherx.jabber.org/streams' xmlns='jabber:client'> <priority> <![CDATA[0]]> </priority> <wgexts-client xmlns='http:wargaming.net/xmpp#client'> <game-host> <![CDATA[login.p7.worldoftanks.net:20014]]> </game-host> </wgexts-client> <c ver='1LpOuB49QCQE6BcZoAF5tBoALdg=' node='http:camaya.net/gloox' hash='sha-1' xmlns='http:jabber.org/protocol/caps' /> <wgexts xmlns='http:wargaming.net/xmpp#v2'> <extra xmlns='http:wargaming.net/xmpp#extra-attributes' /> <userid> <![CDATA[...]]> </userid> <nickname> <![CDATA[...]]> </nickname> <ban-info /> <moderator /> </wgexts> </presence> Вот мой. <presence xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' to='1@127.0.0.1/wot' from='1@127.0.0.1'> <wgexts xmlns='http://wargaming.net/xmpp#v2'> <moderator /> <ban-info /> <nickname> <![CDATA[Player_1]]> </nickname> <userid> <![CDATA[1]]> </userid> <extra xmlns='http://wargaming.net/xmpp#extra-attributes' /> </wgexts> <priority> <![CDATA[0]]> </priority> <wgexts-client xmlns='http://wargaming.net/xmpp#client'> <game-host> <![CDATA[127.127.127.127:20014]]> </game-host> </wgexts-client> <c xmlns='http://jabber.org/protocol/caps' ver='1LpOuB49QCQE6BcZoAF5tBoALdg=' node='http://camaya.net/gloox' hash='sha-1'></c> </presence> За исключением порядка следования тегов, всё идентично. Что-то тут не так.
  12. Да, именно сервер задаёт тип шифрования. Отключай в настройках. Эта штука в jabberd2 называется mechanisms, а тип шифрования plain, хотя в ejabberd может и по-другому называться. На стороне сервера. Там консоль через веб-интерфейс есть. У меня не получилось под админом залогиниться, поэтому прекратил попытки использовать данный сервер. <stream:features xmlns:stream='http://etherx.jabber.org/streams'> <address xmlns='http://affinix.com/jabber/address'>127.0.0.1</address> <mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'> <mechanism>PLAIN</mechanism> </mechanisms> <auth xmlns='http://jabber.org/features/iq-auth'/> <register xmlns='http://jabber.org/features/iq-register'></register> </stream:features> Мне пришлось вообще всё шифрование отключать для отладки. Вот так ответ выглядит от сервера, когда всё шифрование отключено. Попробуй сниффер запустить, чтобы посмотреть, что происходит.
  13. @DrWeb7_1 Ну там же написано "stream error". Запускай сниффер, отключай всё шифрование и смотри, после какого сообщения получается ошибка. Клиент логинится хотя бы? И надо в двух местах прописывать настройки. Пока что у меня очень плохо внутри сделано, надо бы через какой-то файл конфигурации сделать. @DrWeb7_1 А ты клиента добавил? Сам клиент не регистрируется автоматически. И пароль назначил такой же? Нет, очень лениво идёт. Крайне дизморалит отсутствие прогресса. Запустить и всё. Чего там настраивать? Ничего нового там нет, увы.
  14. Вопрос, на самом деле, не тупой. Да, так можно. И на данный момент достаточно будет указать ip адрес или домен в настройках, которые передаёт эмулятор клиенту. Смотри xmpp_connections в скриптах эмулятора. Там в двух местах надо поправить. У меня на локальной машине, потому что так удобнее для отладки. Но ничего не мешает сделать удалённый сервер. Единственное, нужно будет сделать какой-то интерфейс по взаимодействию эмулятора и xmpp. С сообщением requestToken разобрался, что отправлять на его запрос - знаю. По сути, на это сообщение сервер отправляет логин (который является id клиента, пробовал другой, отличный от того, что присваивается клиенту, так клиент его не принимает) и пароль для подключения. Так что для тестовых целей можно прописать прямо в файле. Мне помнится, у тебя он есть (AccountAuthTokenProvider.py который). Напиши там что-то такое: def requestToken(self, requestID, tokenType): print 'requestToken {}, {}'.format(requestID, tokenType) if tokenType == TOKEN_TYPE.XMPPCS: self.client.onTokenReceived(requestID, tokenType, cPickle.dumps({'token': 12345, 'databaseID': 1}, 2)) И импорт добавь: import cPickle from constants import TOKEN_TYPE И можешь экспериментировать. Тебе в ЛС могу скинуть, что у меня есть по дампу трафика xmpp (кстати, огромная удача, что у меня есть дамп в одном единственном файле, просто случайно захватился, а иначе гадай, что там надо было бы клиенту). 'xmpp_alt_connections': [], 'xmpp_bosh_connections': [], 'xmpp_connections': [('127.0.0.1', 5222)], 'xmpp_enabled': True, 'xmpp_host': '127.0.0.1', 'xmpp_muc_enabled': False, 'xmpp_muc_services': [], 'xmpp_port': 5222, 'xmpp_resource': 'wot' xmpp_host - это после @ будет идти. Логин вида 1@127.0.0.1. xmpp_resource - это после слеша будет вида 1@127.0.0.1/wot или всё, что больше нравится. Адресов можно указать много больше одного. Но клиент, понятное дело, только к одному будет подключен. In fact, all my knowledge of c(++) was obtained without education. My education is not even close to programming. You don't need a lot of knowledge, just the basics.
×
×
  • Create New...