Jump to content
Korean Random
Dragon armor

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

Recommended Posts

1 минуту назад, blueferret сказал:

I have been studying their protocol lately

Do you have any protocol analysis tools you created?

Share this post


Link to post

Short link
Share on other sites
Just now, Dragon armor said:

Do you have any protocol analysis tools you created?

No, but I would say I am decent with using Wireshark. I have had minor experience using IDA (even tho that isn't for network).

Share this post


Link to post

Short link
Share on other sites
Только что, blueferret сказал:

I have had minor experience using IDA

IDA is a powerful utility I have no idea how to work with. XD

Share this post


Link to post

Short link
Share on other sites
1 minute ago, DrWeb7_1 said:

IDA is a powerful utility I have no idea how to work with. XD

Yes, used it with a friend about a year ago to analyze malware :P

It's a long story lol

Share this post


Link to post

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

No, but I would say I am decent with using Wireshark.

7 минут назад, blueferret сказал:

I have been studying their protocol lately

I'm just curious how you studied the protocol?

Anyway, there is no public mod right now. The mod is not yet ready so that you can at least run it without problems.

Share this post


Link to post

Short link
Share on other sites
6 minutes ago, Dragon armor said:

I'm just curious how you studied the protocol?

Anyway, there is no public mod right now. The mod is not yet ready so that you can at least run it without problems.

Yes, am aware of this. I was asking for a copy of the mod the way it is now, so to try and assist in getting it to a ready state.

 

I've been passionate about attempting the creation of an emulator ever since 1.0 came out, (because at the time my PC could not handle the new graphics lol).

I am on vacation for the rest of the week, so I wouldn't be of as much help as I would be next week.

I also just checked, and saw that I have downloaded the WRONG version of the client, 50 minutes to download the correct (.1) version :facepalmic:

 

Edit: I'm also quite a fast learner; anything I don't understand immediately, I can usually grasp quickly.

Edited by blueferret

Share this post


Link to post

Short link
Share on other sites

@Dragon armor , вопрос мимо контекста: а где можно поковырять entity и модули к ним, чтобы они сервером импортировались? Понятное дело, что не критично, но любопытство мает.

 

image.png.df9ba4a76783969022b78540822a2d9e.png

По контексту (XMPP и передача данных). Сейчас виртуалка отрезана от внешнего мира. Попытка поиска канала выглядит так:

 

image.thumb.png.6c0fe6cb7c7c5692fed20fe71c47517d.png

Создание канала выглядит чуть иначе (прикладываю скриншот консоли сервера).



image.png.2bef819b0eef5e740897e964feac7d23.png

Edited by DrWeb7_1

Share this post


Link to post

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

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

Энтити - название питон-файла в папке server_py, название энтитей в scripts_ru_0.9.22_4\entity_defs\ (в скриптах игры, в общем). По аналогии с существующими создать можешь. Первый наследуемый модуль обязательно (Entity который называется), а остальные - это интерфейс. Их смотри в разделе Implements интересующей энтити (def-файлы которые в игре). interfaces - это как аналог импорта в питоне, один раз создаёшь, а потом к нужной энтити подключаешь. Его тоже можешь создать, но уже в папке interfaces. Тоже по аналогии с существующими создай. Вряд ли понятно написал, т.к. там в BigWorld довольно сложная система, если что, спрашивай.

Дополнительно могу написать, не помню, как они инициализируются. Кто и какие параметры передаёт. Логин - кто ему id пользователя, аккаунт - а ему имя кто? Хорошо хоть вчера разобрался, как оно у меня устроено.

Про флаги забыл написать, они тоже очень важны. Это Flags. Если BASE, то доступен на сервере, BASE_AND_CLIENT - и на сервере, и в клиенте, CELL - это вроде когда в бою (арена называется у них). Это в секции Properties, типа значения у энтити.

Ещё то, что нужно реализовывать. У меня вроде какой-то вывод есть (not implement который). Все методы в BaseMethods для ангара, CellMethods - для арены, ну а ClientMethods - это что в клиенте. Параметры по порядку идут, названия любые, а размерность указана (хотя для питона это не важно, но именно такой размерности пересылается по сети).

Ещё и отправлять клиенту надо как-то. А ты думал, всё просто? Чтобы клиенту отправить, надо в нужной энтити вызвать self.client.название_метода. client создаётся сервером само, тебе не нужно трогать.

Properties, кстати, в prop находятся. По-хорошему, там тоже не всё просто, если изменяется одна пропетис, то в зависимости от флагов, это может автоматически клиенту отправляться. У меня не реализовано.

Share this post


Link to post

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

А ты думал, всё просто?

Никак нет!

Share this post


Link to post

Short link
Share on other sites

В общем, это ещё достаточно долго нужно делать, чтобы работало, как в оригинале. Там у меня такой код, что и не разберёшь, что к чему. Но работает. Поэтому пусть останется как есть.

Тут так просто не объяснишь, могу посоветовать документацию к BigWorld почитать про энтити, там нормально написано, хоть и на английском.

Share this post


Link to post

Short link
Share on other sites
3 minutes ago, Dragon armor said:

В общем, это ещё достаточно долго нужно делать, чтобы работало, как в оригинале. Там у меня такой код, что и не разберёшь, что к чему. Но работает. Поэтому пусть останется как есть.

Тут так просто не объяснишь, могу посоветовать документацию к BigWorld почитать про энтити, там нормально написано, хоть и на английском.

I was about to say this... big world already has documentation on writing a server and cells, as well as entities etc. what version of BW does 0.9.22.1 use?, if we even have access to that version. 

Share this post


Link to post

Short link
Share on other sites
Только что, blueferret сказал:

what version of BW does 0.9.22.1 use?

The last leaked version of BigWorld was around 2.0.1. That's not the one the game uses, obviously.

Edited by DrWeb7_1

Share this post


Link to post

Short link
Share on other sites

I tried reverse engineering a mock server using BW 2.0 on CentOS VM but for fucks sake all the packages are out of date for Cent v5 (iirc this is what they said to use, or RedHat distro)

Just now, DrWeb7_1 said:

The last leaked version of BigWorld was around 2.0.1. That's not the one the game uses, obviously.

Didn’t think so :3 

 

trust me I’ve trolled around the Internet for days trying to find anything past 2.0.1

Share this post


Link to post

Short link
Share on other sites

По большому счёту, это такой способ обмена сообщениями придумали разработчики BigWorld. Как бы функция, но отправляет данные на другой интерфейс, будь то пользователь, либо base или cell в терминологии BigWorld.

Кстати, видео есть хорошее.

Максим Барышников — Миллион пользователей онлайн в World of Tanks с инженерной точки зрения

На youtube лежит, хорошо объясняется архитектура движка. У меня-то всё вместе на данный момент, но надо будет разделять. Ангар или base, арена или cell, ещё и login должен быть отдельно от всего, но тут не обязательно, можно с base объединить. Хреново, что питон не позволяет легко и просто запустить несколько независимых друг от друга копий. Тут уже думал на этот счёт, и придётся делать взаимодействие этих штук по сети, хоть и очень будет упрощено, но никак по-другому тут не сделать.

Share this post


Link to post

Short link
Share on other sites

And honestly, messing with WG in any legal way is not a good idea.

 

there was this knock off version of WoT that u could play on Facebook(?) quite some years ago. The Mighty Jingles posted a video of it even, and I wonder if a source is open for that, which could help us here. It was almost an exact clone of WoT back before 0.8.0 went live. 

Project tank: https://m.youtube.com/watch?v=fjrjZc5tfRI

Correction: this used Unity, not BW (I knew this) so unfortunately I doubt it will be of any help. 

Share this post


Link to post

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

what version of BW does 0.9.22.1 use?

I am not aware of any leaked tools or server from WG.  They keep their secrets very well. WG bought BigWorld.  Since then BigWorld hasn't released anything publicly. Most complete version 1.91.

6 минут назад, blueferret сказал:

And honestly, messing with WG in any legal way is not a good idea.

What do you mean?

Share this post


Link to post

Short link
Share on other sites

@Dragon armor пока интерес к теме резко вскипел и ещё не угас, лучше опенсорсни проект. Так у него есть шансы пожить какое-то время. Без этого всё растянется на годы и угаснет.

Успехов вам, пацаны)

Share this post


Link to post

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

What do you mean?

Похоже, он о пункте 4.2.2 в EULA Wargaming говорит. Аналогичного пункта в английской версии документа я не нашёл. По поводу этого пункта когда-то вполне доходчиво всё Странник объяснил.

image.thumb.png.b78382b65bc2156d65a8816cef0d4b39.png

Share this post


Link to post

Short link
Share on other sites

@yepev Да перестань. Интерес будет только у одной группы - спамеров. Считай, готовый парсер пакетов, только в другую сторону немного переделай и можно тысячами запускать очень компактные и не требовательные к ресурсам клиенты на одном компьютере.

А насчёт интереса других. Ну вот мало кто хочет что-то делать. Это как всегда, кто может - не хочет, кто хочет - не знает. Вон с физикой танков, делай кто хочет. А никто. Не то чтобы не хочет, не умеет, скорее всего.

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

Похоже, он о пункте 4.2.2 в EULA Wargaming говорит.

Мне вот это странно в том плане, что моды-то можно, а как без реверса их делать? При этом, есть официальный сайт от вгшечки. Вот как это уживается? Все мододелы нарушают этот пункт? Даже шкурки пробития - это уже использование ресурсов. Письменное согласие кто-то просит что ли? А уж скрипты - это ж прямо и есть декомпиляция в чистом виде, апи-то не подвезли за 10 лет. И все дёргают методы напрямую, чуть чихнул вг, все моды поломались.

Поэтому у меня мод. Моды можно. Они ничего не нарушают. ВотЪ.

Share this post


Link to post

Short link
Share on other sites

@Dragon armor без открытости слишком сложно входить в проект:

 

  1. Надо написать,
  2. Объяснить своё желание,
  3. Дождаться или не дождаться одобрения,
  4. Разобраться со всем самостоятельно или в переписке, потому что до тебя мало кто набил шишки с запуском и описал их (вот тут спасибо вам за чатик возникший в этой теме за последние дни, хоть какая-то инфа появилась),
  5. Понять что вообще есть, а чего нет,
  6. Делать большой объём работы с непонятной перспективой.

 

Если проект открыт, всё проще:

 

  1. Можно сразу оценить состояние проекта, приступить к инстересующей тебя части и задавать конкретные вопросы
  2. Можно делать маленькую работу по чуть чуть, каждый по мере своих возможностей
Edited by yepev
  • Upvote 1

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