Jump to content
Korean Random
Dragon armor

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

Recommended Posts

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

@Plotnik5252ru Возможность запустить бой. То есть, полноценная эмуляция сервера. Сейчас, кроме ангара, в бой тоже можно зайти, но только зайти, а больше ничего нельзя сделать.

Так это же эмулятор. По-моему с ним много гемора у меня есть идея хоть я не шарю как но можно из эмулятора сделать просто сервер? Обычный сервер?

Share this post


Link to post

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

можно из эмулятора сделать просто сервер? Обычный сервер?

https://ru.wikipedia.org/wiki/Эмулятор_сервера

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

Share this post


Link to post

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

https://ru.wikipedia.org/wiki/Эмулятор_сервера

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

А почему бы тебе как нибудь попробовать поискать добровольцев для помощи в эмуляторе?

Share this post


Link to post

Short link
Share on other sites

@Plotnik5252ru Добровольцев в чём? В программировании? Уже писал об этом, что нет тут тех, кто может сделать то, что мне нужно, а кто может - тут не сидит. Когда с картами разбирался, мне Скептический_Лис помог очень сильно. В остальном, просто нет никого знающего. Если вдруг столкнусь с чем-то, кто знает, как решить, подозреваю, что подскажут. Остальное приходится самому делать.

Share this post


Link to post

Short link
Share on other sites

Извиняюсь за два глупых вопроса, но:

1. Будет ли эмулятор работать на старых версиях?

2. Будет ли эмулятор в открытом доступе?

Share this post


Link to post

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

1. Будет ли эмулятор работать на старых версиях?

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

33 минуты назад, Kustarnik сказал:

2. Будет ли эмулятор в открытом доступе?

Да будет. Надеюсь. Только когда - не знаю. Ибо мне опять лень.

Share this post


Link to post

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

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

Да будет. Надеюсь. Только когда - не знаю. Ибо мне опять лень.

А с ленью делать?

Share this post


Link to post

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

А с ленью делать?

Ты просто посмотри, что надо сделать. Загляни в исходники бигворлда 2.01, файл bw2\src\lib\network\packet_receiver.cpp. Сетевая часть, которую надо хоть частично повторить. Как только вижу эту простыню кода, в которой надо разобраться, меня охватывает уныние и отчаяние.

Share this post


Link to post

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

Ты просто посмотри, что надо сделать. Загляни в исходники бигворлда 2.01, файл bw2\src\lib\network\packet_receiver.cpp. Сетевая часть, которую надо хоть частично повторить. Как только вижу эту простыню кода, в которой надо разобраться, меня охватывает уныние и отчаяние.

Ааааа вот что за хрень ну тут и мне бы не по себе было. Мда уж это тяжелая работка

Share this post


Link to post

Short link
Share on other sites

А ещё есть отличия, что не удивительно, исходники года 12 что-ли. Некий флаг появился в пакете, 1 << 12. И никак не пойму, что он делает и для чего нужен.

 

Безымянный.png

И это шлёт клиент. Нужен - не нужен, а кто его знает?

Share this post


Link to post

Short link
Share on other sites
31.08.2020 в 12:36, Dragon armor сказал:

Чем эта версия не устроит? Из-за пары-тройки выведеных в прошлых версиях танков? Или из-за выведенных карт?

Не, просто хотелось бы сыграть с кем нибудь на патче 8.4 или же на том же 0.7.0. 

Share this post


Link to post

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

Не, просто хотелось бы сыграть с кем нибудь на патче 8.4 или же на том же 0.7.0. 

+++ давно уже мечтаю зайти на старые версии или блять сделать фанатские сервера без доната со всеми танками. Для всех или многих версий как с nfs world.

Share this post


Link to post

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

сделать фанатские сервера без доната со всеми танками

идея хрень. Все будут просто сидеть на десятках. На общем тесте видел что творится? Ты на 5-7 уровни хрен зайдешь, одни школьники на десятках сидят. Было бы интересно если сделать так, как на wot classic было. Каждый день получаешь валюту, гоняешь на танчиках, качаешься. Мб вайпы делать еще можно каждые 3 месяца или же по необходимости, так как  все на десятках опять же будут и в этом проблема.

31.08.2020 в 12:48, Dragon armor сказал:

меня охватывает уныние и отчаяние.

Чел, добивайся своей цели до конца, на тебя надеются люди, ты можешь дать вторую жизнь игре. Если ты будешь "ой блин пуньк среньк так много работы ну нафиг все равно не получится" то ты ничего не сделаешь.

  • Upvote 1

Share this post


Link to post

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

Если ты будешь "ой блин пуньк среньк так много работы ну нафиг все равно не получится" то ты ничего не сделаешь.

 

18 минут назад, Plotnik5252ru сказал:

давно уже мечтаю зайти на старые версии

Пссс, пссс, слышите меня? Только шопотом отвечайте.

В общем, качаете бигворлд 2 (например, тут). Открываете файл bw2\src\lib\network\packet_receiver.cpp. Переписываете его, чтобы от бигворлда не осталось ничего. В качестве входных данных будет дешифрованный пакет. Выход должен быть какой-то массив отдельных пакетов. Если надо в качестве примера входных данных, отсыплю сколько надо. Нужно:

1. Парсер пакетов.

2. Сборка пакетов, если размер пакета больше mtu, или ожидание, если вдруг приходят не по порядку.

3. Таймауты. Повторная отправка или повторный запрос в случае отсутствия пакета либо отсутствия подтверждения доставки.

4. Сборка пакетов из отдельных сообщений.

Это то, что сейчас вспомнил.

Можно на сишке, можно на c++17 или 19, или что там новомодное, плевать, соберу в dll отдельную, как с физикой.

Всё, теперь можно не шопотом.

 

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

Кстати, физику может кто-то запилить, если есть желание. Да и xmpp сервер сделать и плагин для него написать для картошкиного протокола. Есть для желающих, чем заняться.

 

40 минут назад, Kustarnik сказал:

просто хотелось бы сыграть с кем нибудь на патче 8.4 или же на том же 0.7.0

Уж очень хреновый клиент этих версий. Ради графики запускать его? Всё-равно поведение танков зависить будет от сервера.

Share this post


Link to post

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

 

Пссс, пссс, слышите меня? Только шопотом отвечайте.

В общем, качаете бигворлд 2 (например, тут). Открываете файл bw2\src\lib\network\packet_receiver.cpp. Переписываете его, чтобы от бигворлда не осталось ничего. В качестве входных данных будет дешифрованный пакет. Выход должен быть какой-то массив отдельных пакетов. Если надо в качестве примера входных данных, отсыплю сколько надо. Нужно:

1. Парсер пакетов.

2. Сборка пакетов, если размер пакета больше mtu, или ожидание, если вдруг приходят не по порядку.

3. Таймауты. Повторная отправка или повторный запрос в случае отсутствия пакета либо отсутствия подтверждения доставки.

4. Сборка пакетов из отдельных сообщений.

Это то, что сейчас вспомнил.

Можно на сишке, можно на c++17 или 19, или что там новомодное, плевать, соберу в dll отдельную, как с физикой.

Всё, теперь можно не шопотом.

 

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

Кстати, физику может кто-то запилить, если есть желание. Да и xmpp сервер сделать и плагин для него написать для картошкиного протокола. Есть для желающих, чем заняться.

 

Уж очень хреновый клиент этих версий. Ради графики запускать его? Всё-равно поведение танков зависить будет от сервера.

Насчёт действий это сложно так как не [мат] в сишке и вообще в программировании полный 0. А ещё незнаю чем тебе не нравятся старые танки. Мне нравятся все обновления до 0.9.20

И до рубикона

  • Downvote 1

Share this post


Link to post

Short link
Share on other sites
01.09.2020 в 19:20, Dragon armor сказал:

 

Пссс, пссс, слышите меня? Только шопотом отвечайте.

В общем, качаете бигворлд 2 (например, тут). Открываете файл bw2\src\lib\network\packet_receiver.cpp. Переписываете его, чтобы от бигворлда не осталось ничего. В качестве входных данных будет дешифрованный пакет. Выход должен быть какой-то массив отдельных пакетов. Если надо в качестве примера входных данных, отсыплю сколько надо. Нужно:

1. Парсер пакетов.

2. Сборка пакетов, если размер пакета больше mtu, или ожидание, если вдруг приходят не по порядку.

3. Таймауты. Повторная отправка или повторный запрос в случае отсутствия пакета либо отсутствия подтверждения доставки.

4. Сборка пакетов из отдельных сообщений.

Это то, что сейчас вспомнил.

Можно на сишке, можно на c++17 или 19, или что там новомодное, плевать, соберу в dll отдельную, как с физикой.

Всё, теперь можно не шопотом.

 

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

Кстати, физику может кто-то запилить, если есть желание. Да и xmpp сервер сделать и плагин для него написать для картошкиного протокола. Есть для желающих, чем заняться.

 

Уж очень хреновый клиент этих версий. Ради графики запускать его? Всё-равно поведение танков зависить будет от сервера.

Отлично, я уже нахожусь внутри packet_receiver.cpp, что дальше?

И ещё  куда закидывать "свою" игру?

01.09.2020 в 19:20, Dragon armor сказал:

 

Пссс, пссс, слышите меня? Только шопотом отвечайте.

В общем, качаете бигворлд 2 (например, тут). Открываете файл bw2\src\lib\network\packet_receiver.cpp. Переписываете его, чтобы от бигворлда не осталось ничего. В качестве входных данных будет дешифрованный пакет. Выход должен быть какой-то массив отдельных пакетов. Если надо в качестве примера входных данных, отсыплю сколько надо. Нужно:

1. Парсер пакетов.

2. Сборка пакетов, если размер пакета больше mtu, или ожидание, если вдруг приходят не по порядку.

3. Таймауты. Повторная отправка или повторный запрос в случае отсутствия пакета либо отсутствия подтверждения доставки.

4. Сборка пакетов из отдельных сообщений.

Это то, что сейчас вспомнил.

Можно на сишке, можно на c++17 или 19, или что там новомодное, плевать, соберу в dll отдельную, как с физикой.

Всё, теперь можно не шопотом.

 

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

Кстати, физику может кто-то запилить, если есть желание. Да и xmpp сервер сделать и плагин для него написать для картошкиного протокола. Есть для желающих, чем заняться.

 

Уж очень хреновый клиент этих версий. Ради графики запускать его? Всё-равно поведение танков зависить будет от сервера.

Вопрос, а как в BW закинуть WoT? ._.

Share this post


Link to post

Short link
Share on other sites
8 часов назад, Plotnik5252ru сказал:

Мне нравятся все обновления до 0.9.20

Делаю для версии 0.9.22. Это последняя версия перед 1.0.

37 минут назад, Plotnik5252ru сказал:

Отлично, я уже нахожусь внутри packet_receiver.cpp, что дальше?

Если ты потроллить так хочешь, то очень не удачно.

38 минут назад, Plotnik5252ru сказал:

Вопрос, а как в BW закинуть WoT?

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

С наскока ничего не выйдет. Разобраться надо сначала. Вот ты файл открыл. А функцию, которая начинает обработку сообщения нашёл? С неё и надо начинать.

Не, серьёзно. Если хочешь помочь - ОК. Но если можешь. А если мне надо всё объяснять перед этим, то в таком случае такая помощь не уместна.

PacketReceiver::processFilteredPacket - отсюда начинается разбор пришедшего и дешифрованного массива байт. В начале всё просто и понятно. Что-то можно пропустить, например, сбор статистики. А вот ниже уже не так всё однозначно. Сразу попадается флаг, а флаги - одно из неоднозначностей. Packet::FLAG_CREATE_CHANNEL как бы и не приходит ни от сервера, ни от клиента. Это вроде бы, для внутреннего использования между серверами внутри кластера.

Вот если таким образом опишешь сетевой протокол, даже на тот момент (2012 год) существующий, уже будет норм. Подтвеждение доставки, обработка пакета с номером больше, чем ожидается, запрос не пришедшего пакета и так далее. Если нет - ну, жди, когда мне будет не лень. Мне вот, наконец-то, удалось найти нормальную библиотеку для работы с таймерами. Эта штука называется "Wheel Timer" оказывается. На первый взгляд подходит. И производительность норм, сделал тест на 10к таймеров, не захлёбывается, мне с лихвой такого количества хватит. Теперь дальше сетевым протоколом заняться.

Share this post


Link to post

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

@Dragon armor Предлагал помощь с физикой) Я никому тут не нужен со своими знаниями

 

Попробуй спились с ним здесь обсуди в лс и ему в этом моде очень нужна помощь!

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.

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