MONSER DM

Легендарный проект сетевой

игры GTA San Andreas, зарекомендовавший себя с

2014 года, как №1 в жанре DeathMatch

Персонаж Monser

Рассмотрено Краши из-за тренировок

Статус
В этой теме нельзя размещать новые ответы.

ШРЕК НАГЕБАТОР

Пользователь
Сообщения
153
Реакции
68
1). Ваш игровой ник-нейм и номер аккаунта: NAGEBATOR_MYCAP0B
2). Суть вашей проблемы: Уже примерно месяц парят краши на вашем сервере. В какой-то спонтанный момент игры на любом режиме (в т.ч. и /gw), игра вылетает в краш, и после этого какое-то время, иногда минуту, а иногда полчаса наблюдается следующая картина: при подключении к серверу до появления каких-либо диалогов, игра крашится, и так каждый раз, но при этом любой другой сервер работает нормально без каких-либо нареканий, когда этот отрезок времени заканчивается, то всё возвращается на круги своя.

Теория.
Думаю дело в недавнем обновлении тренировочного режима. Объясняю почему так решил. Для начала оговоримся, что у нас в Сампе всё взаимодействие между игроками и сервером происходит исключительно посредством отправки RakNet пакетов синхронизации и RPC, следовательно единственный путь, через который сервер может крашнуть игрока — это отправить ему кривую синхру, которая при обработке на его компьютере спровоцирует ошибку. Это значит, что искать ответ нам следует во входящих пакетах и RPC. Что указывает на тренировочный режим, ну во-первых это период времени когда всё началось, как раз примерно после обновления тренировок когда боты научились стрелять, во-вторых я использую скрипт Shotlog, который логирует входящие/исходящие пакеты выстрелов, и там не раз уже замечал, что отображаются выстрелы ваших ботов TS_BOT, даже когда они находятся в другом виртуальном мире.

Что же, есть теория, её можно проверить. Включим лог всех пакетов и RPC, и посмотрим что успевает отправить сервер прежде, чем игру крашнет. Результат:
Код:
-- RakLogger++ Started Logging --
Time: 10:57:37
Date: 10/02/21
----------------------------------

[RECV] > [BULLET_SYNC(206)] -> lenBytes: 43 | lenBits: 344
playerId: 335
targetType: 0
targetId: 65535
origin: -1427.7917480469 -1579.3485107422 101.75782012939
target: 2002.5400390625 -2485.3828125 18.402433395386
center: 0 0 0
weapon: 24

Как видим, ровно один пакет успевает отправить сервер, и это синхра пуль, напомню, что это происходит до появления диалога с авторизацией. Если посмотрим на поле playerId, то увидим, что посылает всё это дело серверный бот под ID 335, т.к. на сервере всего 300 слотов для игроков, а остальные зарезервированы для ботов. Дальше не будем вдаваться подробности почему это вызывает краши у одних, и не вызывает у других, тут может быть много вариантов, но очевидно, что ⚠️ именно эта кривая синхра ставит раком мою ГТА ⚠️ и не даёт нормально постреляться. Сделайте так, чтобы боты не слали синхронизацию в другие вирт. миры и тем более игрокам, которые не успели даже авторизоваться.

3). Ваш игровой сервер: One.
4). Доказательства:
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Назад