Jump to content
Korean Random
Dragon armor

Мод "Эмулятор сервера World of Tanks".

Recommended Posts

@DrWeb7_1 Ну там же написано "stream error". Запускай сниффер, отключай всё шифрование и смотри, после какого сообщения получается ошибка. Клиент логинится хотя бы? И надо в двух местах прописывать настройки. Пока что у меня очень плохо внутри сделано, надо бы через какой-то файл конфигурации сделать.

@DrWeb7_1 А ты клиента добавил? Сам клиент не регистрируется автоматически. И пароль назначил такой же?

11 часов назад, Plotnik5252ru сказал:

Вижу работа ещё кипит.

Нет, очень лениво идёт. Крайне дизморалит отсутствие прогресса.

11 часов назад, Plotnik5252ru сказал:

Интересно а для новичков в которые не шарят как да что будет гайд как сделать и что качать чтобы сервак заработал?

Запустить и всё. Чего там настраивать?

11 часов назад, Plotnik5252ru сказал:

прочекайте там вроде про движок может что полезное есть

Ничего нового там нет, увы.

Share this post


Link to post

Short link
Share on other sites
8 минут назад, Dragon armor сказал:

Ну там же написано "stream error". Запускай сниффер, отключай всё шифрование и смотри, после какого сообщения получается ошибка.

Шифрование на стороне ejabberd?

9 минут назад, Dragon armor сказал:

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

@DrWeb7_1А ты клиента добавил? Сам клиент не регистрируется автоматически. И пароль назначил такой же?

А где его регистрировать надо?

Share this post


Link to post

Short link
Share on other sites
2 минуты назад, DrWeb7_1 сказал:

Шифрование на стороне ejabberd?

Да, именно сервер задаёт тип шифрования. Отключай в настройках. Эта штука в jabberd2 называется mechanisms, а тип шифрования plain, хотя в ejabberd может и по-другому называться.

4 минуты назад, DrWeb7_1 сказал:

А где его регистрировать надо?

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

<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>

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

Share this post


Link to post

Short link
Share on other sites
27 минут назад, Dragon armor сказал:

На стороне сервера. Там консоль через веб-интерфейс есть.

У меня он {веб-интерфейс} даже не стартанул – Vivaldi из-под Windows при открытии адреса 192.168.99.136:5280/admin тупо вывалил ERR_EMPTY_RESPONSE. Видимо, что-то не до конца настроил. На свежую голову посмотрю.

Edited by DrWeb7_1

Share this post


Link to post

Short link
Share on other sites

@Plotnik5252ru Первая ссылка в гугле ведёт сюда https://java.com/ru/download/help/error_1603.xml

@DrWeb7_1 Не получается что-то. Просто забрутфорсил программу и смог отправить пакет клиенту. После этого клиент замолкает, то ли ждёт чего-то ещё, то ли неправильно у меня.

Вот оригинальный ответ сервера.

<presence to='[email protected]' from='[email protected]/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='[email protected]/wot' from='[email protected]'>
    <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>

За исключением порядка следования тегов, всё идентично. Что-то тут не так.

Share this post


Link to post

Short link
Share on other sites
1 час назад, Dragon armor сказал:

@Plotnik5252ru Первая ссылка в гугле ведёт сюда https://java.com/ru/download/help/error_1603.xml

@DrWeb7_1 Не получается что-то. Просто забрутфорсил программу и смог отправить пакет клиенту. После этого клиент замолкает, то ли ждёт чего-то ещё, то ли неправильно у меня.

Вот оригинальный ответ сервера.


<presence to='[email protected]' from='[email protected]/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='[email protected]/wot' from='[email protected]'>
    <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>

За исключением порядка следования тегов, всё идентично. Что-то тут не так.

Очень заинтересовала твоя тема. где можем связаться.?

Share this post


Link to post

Short link
Share on other sites
1 час назад, Dragon armor сказал:

Что-то тут не так.

Не может же клиент игры принудительно просить включение шифрования? Или ему достаточно будет хотя бы корректной установки соединения без раздумий о безопасности?

Share this post


Link to post

Short link
Share on other sites

@Web3dSkillet По поводу чего? Если для скчивания сервера, то уже много раз писал, что пока что нечего выкладывать, разве кроме загрузки ангара. Когда будет что-то более-менее стабильное, тогда опубликую.

2 минуты назад, DrWeb7_1 сказал:

Не может же клиент игры принудительно просить включение шифрования?

Может, но не в этом случае.

2 минуты назад, DrWeb7_1 сказал:

Или ему достаточно будет хотя бы корректной установки соединения без раздумий о безопасности?

Достаточно. И соединение устанавливается, клиент шлёт данные и ждёт ответа. Но вот на каком-то пункте происходит непонятное. В логах питона нет ничего, что намекло бы на ошибку.

@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. Хз что там за сервер у картохи.

Share this post


Link to post

Short link
Share on other sites

О, получилось пробраться в админку ejabberd. Сейчас будем думать, как туда заталкивать пользователя...

image.thumb.png.3c467f001a90ceb69dadec1bc9227322.png

Share this post


Link to post

Short link
Share on other sites

@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. Можно и ручками будет сделать напрямую из сервера.

Share this post


Link to post

Short link
Share on other sites
2 минуты назад, Dragon armor сказал:

Только ли через него можно сообщения отправлять.

На нём ещё боевой чат вроде висит.

Share this post


Link to post

Short link
Share on other sites
9 минут назад, DrWeb7_1 сказал:

На нём ещё боевой чат вроде висит.

Моя огромная ошибка была в том, что делал дамп только udp трафика. Надо было всё делать, тогда легко было бы сейчас узнать, что именно отправляется и какие данные.

Но как сейчас происходит? Для чата xmpp не нужен. Сейчас проверил, запустил клиент, которому разрешено только udp соединение. Загрузил, общий чат доступен. Подозреваю, что будут не доступны поиск игроков и контакт-лист, а также приватные сообщения (это точно, проверено).

Share this post


Link to post

Short link
Share on other sites
5 минут назад, Dragon armor сказал:

Для чата xmpp не нужен.

То есть, виртуалку с ejabberd зря я разворачивал или она ещё пригодится?

Share this post


Link to post

Short link
Share on other sites

А ещё ошибка была в том, что надо видео записывать. Попробуй сейчас разобрать, что записано в дампе под названием chat.pcap.

И как-бы всё нормально. Клиент отправляет серверу уведомление, что он не может соединиться с xmpp сервером. Но дальше идут команды чата.

 

Только что, DrWeb7_1 сказал:

То есть, виртуалку с ejabberd зря я разворачивал или она ещё пригодится?

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

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

Share this post


Link to post

Short link
Share on other sites
2 минуты назад, Dragon armor сказал:

Но так то, плагин писать бы будешь к еджабберу?

Я не могу писать плагин к тому, с чем в первый раз сталкиваюсь. :cheewing:

Share this post


Link to post

Short link
Share on other sites

Ладно, продолжаем страдать хернёй.

CHAT_ACTION_DATA

Только что, DrWeb7_1 сказал:

Я не могу писать плагин к тому, с чем в первый раз сталкиваюсь.

Да делов-то, выучить erlang да написать плагин к серверу. Ну и с базой данных разобраться надо будет (там своя какая-то). А ещё надо как-то эмулятору связываться с xmpp.

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

Share this post


Link to post

Short link
Share on other sites

Смотрю в лог ejabberd. Несмотря на то, что консоль сервера WoT пишет "stream error (5)", сервер ejabberd пишет, что "принято соединение".

image.png.8eb9cf477ec98a69c4a0beeb4f99380e.png

Share this post


Link to post

Short link
Share on other sites

Кто-нибудь подскажет, как из cPickle, в котором закодирован utf8, вывести читаемый текст?

@DrWeb7_1 Возможно, клиент отправляет своё сообщение с неймспейсом 'http://wargaming.net/xmpp#filter-roster' например и ждёт ответ, а сервер не знает, что это такое и отправляет ошибку. Запусти сниффер.

Share this post


Link to post

Short link
Share on other sites
8 минут назад, Dragon armor сказал:

Запусти сниффер.

Поймал что-то через Wireshark. Захваченные пакеты тебе в личку скинуть? 

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...