Jump to content
Korean Random

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


Recommended Posts

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.

Link to comment
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
Link to comment
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
Link to comment
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 находятся. По-хорошему, там тоже не всё просто, если изменяется одна пропетис, то в зависимости от флагов, это может автоматически клиенту отправляться. У меня не реализовано.

Link to comment
Short link
Share on other sites

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

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

Link to comment
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. 

Link to comment
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

Link to comment
Short link
Share on other sites

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

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

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

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

Link to comment
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. 

Link to comment
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?
Link to comment
Short link
Share on other sites

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

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

Link to comment
Short link
Share on other sites

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

What do you mean?

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

image.thumb.png.b78382b65bc2156d65a8816cef0d4b39.png

Link to comment
Short link
Share on other sites

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

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

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

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

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

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

Link to comment
Short link
Share on other sites

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

 

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

 

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

 

  1. Можно сразу оценить состояние проекта, приступить к инстересующей тебя части и задавать конкретные вопросы
  2. Можно делать маленькую работу по чуть чуть, каждый по мере своих возможностей
Edited by yepev
  • Upvote 1
Link to comment
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...