Бред

Ответить в тред Ответить в тред
Аноним 16/12/20 Срд 16:05:51 2355320701
image.png 37Кб, 985x133
985x133
image.png 13Кб, 920x225
920x225
image.png 20Кб, 560x116
560x116
Приветствую /b/ратья.

Возможно кто-то из Вас уже встречался со мной в моих прошлых тредах посвящённых созданию ПО для Java Minecraft на C++. В этом треде я так же прошу у Вас помощи.

Мне нужно сделать так чтобы я мог полностью контролировать передачу данных по своему усмотрению. То есть, иметь возможность в любой момент остановить (с последующим возобновлением) принятие или отправку данных таким образом, чтобы меня не выкинуло с сервера и клиент игры не завершил работу из-за какой-либо ошибки. Или например сделать так, чтобы отправляемые пакеты данных куда-то сохранялись и отправлялись по 10 каждую секунду. В общем, иметь полный контроль над передачей данных.

Что известно

Клиент игры Java Minecraft 1.10 работает на протоколе TCP и использует для принятия и передачи данных функции из библиотеки ws2_32 под названием WSASend и WSARecv.

Если установить ловушку на функцию WSASend и вернуть 0 без вызова оригинальной функции то отправка "заморозится" но игра попытается отправить данные снова. И так будет до тех пор пока данные не будут отправлены. То есть, отправка идти не будет, но игра будет спамить одними и теми же данными в надежде их отправить. Аноны из прошлых тредов подсказали как убрать повторную отправку. Для этого нужно было установить переменной lpNumberOfBytesSent значение из lpBuffers->len. Буфер всегда один. Как я понял, игра проверяла количество отправленных байт. Теперь игра не пытается отправить одни и те же данные повторно. Отправка данных остановлена (успешно игнорируется) и при этом я прекрасно вижу как игроки двигаются, что говорит о том что с принятием данных всё в порядке. Но появляется новая проблема. Либо ошибки которые появляются после отключения игнорирования, либо сервер перестаёт видеть данные и я просто для всех стою на месте.

Есть предположение что эти ошибки появляются из-за того что была отправлена только часть данных и сервер ожидает продолжение, но после "разморозки" получает совершенно другую часть данных и выкидывает с сервера (либо не выкидывает, но не может понять что с ними делать и я для всех просто стою на месте) из-за того что не получилось их корректно сопоставить и прочитать. Есть ли какая-то возможность проверить что текущие данные были отправлены и можно начать игнорировать отправку?

Если установить ловушку на функцию WSARecv и попытаться так-же вернуть 0 то это не сработает как с WSASend. Меня просто моментально выкинет с сервера с надписью "disconnected". На одном из форумов мне подсказали установить ловушку не на WSARecv а на Select и очищать readfds при помощи FD_ZERO. Это вроде как работало и по логике я должен был иметь возможность двигаться, ставить блоки и так далее но не видеть что что-то меняется (так как принятие "приостановлено") Однако в игре все мои действия идут рывками, хотя не должны. Отправку ведь я не трогал. То есть, для других я двигаюсь, ставлю блоки и тому подобное, но это идёт рывками. После прекращения игнорирования входящих данных отлаг идёт около 2 - 3 секунд. То есть, только спустя 2 - 3 секунды игроки начинают снова бегать и так далее.

Пожалуйста помогите.
Аноним # OP 16/12/20 Срд 16:12:45 2355325272
Бамп
Аноним # OP 16/12/20 Срд 16:16:33 2355327873
Бамп
Аноним 16/12/20 Срд 16:25:07 2355334024
multfilmPumba18[...].jpg 46Кб, 600x450
600x450
Падажжи ебать, ты будешь писать мод на плюсах для джава версии Майнкрафта? А поконкретнее сложно про схему и способ такой хуйни
Аноним 16/12/20 Срд 16:27:22 2355335985
Ток не умерай, либо оставь телегу
Аноним # OP 16/12/20 Срд 16:29:07 2355337456
>>235533402
Это не мод, с самим майнкрафтом ты взаимодействовать не можешь.
Аноним # OP 16/12/20 Срд 16:29:26 2355337877
Аноним # OP 16/12/20 Срд 16:37:55 2355344488
Бамп
Аноним # OP 16/12/20 Срд 16:44:00 2355349299
Бамп
Аноним # OP 16/12/20 Срд 16:49:48 23553539510
Бамп
Аноним # OP 16/12/20 Срд 16:56:33 23553589811
>>235532070 (OP)
Так же у меня есть мысли сделать посредника между клиентом и сервером, чтобы он принимал все данные и решал передать ли их клиенту (если данные отправлял сервер) или отправить их серверу (если данные отправлял клиент). Но я не знаю как это сделать. У меня есть доступ к сокету клиента, есть доступ к функциям WSASend и WSARecv, по логике я должен просто перенаправить на свой сокет но я не знаю как правильно это все написать чтобы работало. Вариант с посредником намного лучше.
Аноним # OP 16/12/20 Срд 17:21:08 23553767512
Бамп
Аноним # OP 16/12/20 Срд 17:24:50 23553794213
Бамп
Аноним # OP 16/12/20 Срд 17:27:17 23553810414
Бамп
Аноним 16/12/20 Срд 17:29:31 23553824415
Бамп
Аноним 16/12/20 Срд 17:32:21 23553840816
Делал лаг свитч на продажу, юзал WinDivert (обертка pydivert под питон) через который стопал входящие\исходящие пакеты по нужному фильтру.

Если я правильно понял, лаг свитч ты и пилишь.
Аноним 16/12/20 Срд 17:36:35 23553870517
>>235538408
Это драйвер нужно писать?
Аноним # OP 16/12/20 Срд 17:38:06 23553878018
Бамп
Аноним 16/12/20 Срд 17:40:45 23553895619
>>235538408
ебатьколотить за сколько такая хуйня нынче продается?
плюсовик-байтоеб, которому не помешало бы подрочить TCP/UDP
Аноним 16/12/20 Срд 17:43:46 23553914720
Пиши телегу, будет интересно пообщаться
Аноним # OP 16/12/20 Срд 17:44:40 23553922121
Бамп
Аноним # OP 16/12/20 Срд 17:48:48 23553949422
Бамп аноны помогите :(
Аноним 16/12/20 Срд 17:48:56 23553950423
15997243390350.jpg 61Кб, 673x570
673x570
Так, с опорни, ты собрался писать мод на плюсах для джава версии Майнкрафта? Это реализуемо? Не будет говно костылем?
Аноним # OP 16/12/20 Срд 17:56:50 23554006524
>>235539504
Блять я уже второй раз говорю ЭТО НЕ МОД и я НЕ СОБИРАЮСЬ взаимодействовать с ФУНКЦИЯМИ ИГРЫ. Если ты вообще не понял о чем тут речь то от тебя никакого толку не будет, можешь пролистывать тред.
Аноним 16/12/20 Срд 17:59:46 23554030125
>>235532070 (OP)
Ты хочешь отреверсить клиент на данных, что посылает сервер?
Аноним 16/12/20 Срд 18:00:14 23554034226
>>235540065
Нихуя агрессивный крендель. Двач твоя палка выручалка? Съеби нахуй, шиз, здесь таким не рады , саги треду
Аноним # OP 16/12/20 Срд 18:03:09 23554054527
>>235540342
Нахуя отвечать в треде если ты не имеешь знаний / не прочитал полностью инфу? Тот кто имеет знания понимает что WSASend и WSARecv это функции из WinAPI библиотеки ws2_32 ни о каком хукинге java классов речи не шло. Слово java в названии лишь только для того чтобы дать понять что это именно JAVA minecraft а не бедрок например. Съеби нахуй сам.
Аноним # OP 16/12/20 Срд 18:03:39 23554059128
Бамп
Аноним # OP 16/12/20 Срд 18:08:30 23554095029
Бамп
Аноним # OP 16/12/20 Срд 18:10:25 23554109330
Бамп
Аноним 16/12/20 Срд 18:12:26 23554123631
Бамп
Аноним # OP 16/12/20 Срд 18:18:14 23554163132
Бамп
Аноним 16/12/20 Срд 18:18:41 23554166933
15970540736650.jpg 168Кб, 317x699
317x699
>>235540545
Во первых я не спал всю ночь, и мягко говоря не был настроен читать всю ту хуйню что ты написал. Поэтому спокойно задал вопрос, на который рассчитывал получить краткий ответ.
Во вторых, почему ты, не отвечая на вопросы, хочешь что бы тебе на твой кто то ответил?

Было желание помочь, интересная задача, думал раздуплю глаза перечитаю ещё разок, но щяс хуй те в рот. С отношением как будто тебе кто то что то должен на дваче, не хотел бы когда либо с тобой работать.
Бай бай, дура
16/12/20 Срд 18:20:43 23554182934
>>235541669
> на который рассчитывал получить краткий ответ
Ты - хуй. Достаточно кратко?
Аноним # OP 16/12/20 Срд 18:20:55 23554184735
>>235541669
Если бы можно было короче - я бы написал. Ты ничего не должен, но раз сюда зашел то будь добр, прочитай полностью.
Аноним # OP 16/12/20 Срд 18:21:16 23554187136
>>235541847
Я даже пожалуйста написал
16/12/20 Срд 18:23:04 23554199737
gif4.gif 481Кб, 300x200
300x200
Хуйня какая-то, сажи.
Аноним # OP 16/12/20 Срд 18:25:45 23554219138
Бамп
16/12/20 Срд 18:29:51 23554249639
>>235542191
>Бамп
Возвращайся на свой остров дэ/b/илов
Аноним # OP 16/12/20 Срд 18:35:16 23554286940
Бамп
Аноним # OP 16/12/20 Срд 18:40:24 23554326341
Пожалуйста помогите :c
Аноним # OP 16/12/20 Срд 18:45:37 23554365742
Бамп
Аноним 16/12/20 Срд 18:51:46 23554416143
Бамп
Аноним # OP 16/12/20 Срд 18:52:37 23554422344
Бамп
Аноним 16/12/20 Срд 19:02:07 23554487845
БАМП
Аноним 16/12/20 Срд 19:05:10 23554507446
бамп
Аноним # OP 16/12/20 Срд 19:06:23 23554516847
Бамп
Аноним # OP 16/12/20 Срд 19:13:05 23554563348
Бамп
Аноним # OP 16/12/20 Срд 19:26:24 23554658249
Бамп
Аноним # OP 16/12/20 Срд 19:34:06 23554710350
Бамп
Аноним 16/12/20 Срд 19:40:31 23554758751
Бамп
Аноним 16/12/20 Срд 19:42:04 23554769452
Бамп
Аноним 16/12/20 Срд 19:45:37 23554796353
Бамп
Аноним # OP 16/12/20 Срд 19:54:53 23554865054
Бамп
16/12/20 Срд 19:54:55 23554865255
>>235532070 (OP)
> Мне нужно сделать так чтобы я мог полностью контролировать передачу данных по своему усмотрению. То есть, иметь возможность в любой момент остановить (с последующим возобновлением) принятие или отправку данных таким образом, чтобы меня не выкинуло с сервера и клиент игры не завершил работу из-за какой-либо ошибки
Лошпед, для чего тебе это надо? Ты хуйню выдумал, назови изначальную задачу
Аноним # OP 16/12/20 Срд 19:57:03 23554881456
Бамп
Аноним # OP 16/12/20 Срд 20:04:19 23554934157
Бамп
Аноним # OP 16/12/20 Срд 20:12:26 23554994158
Бамп
Аноним 16/12/20 Срд 20:12:49 23554997059
1
Аноним # OP 16/12/20 Срд 20:16:09 23555020360
Бамп
Аноним # OP 16/12/20 Срд 20:24:28 23555075461
Бамп
Аноним 16/12/20 Срд 20:38:51 23555175562
Бамп
Настройки X
Ответить в тред X
15000
Макс объем: 20Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
X
Ваш шидевор X
Стикеры X
Избранное / Топ тредов