▲ Наверх
Популярные новости
Время на сайте
Текущее время на сайте

Текущая дата на сайте
Последние комментарии
На сайте...
Всего на сайте: 16
Гостей: 14
Пользователи: 

Роботы: 
Голосование

Ваш любимый шутер от Valve?

Half-Life (все части)
CS 1.6
CS:S v.34
CS:S v2230303
CS:GO

 
 
Архив новостей
Облако тегов

buffer overflow после 100 игрока

kuninyao
26 февраля 2026 16:10
   Сообщение #1

Юнец
  • 0
Награды:

Репутация: 0
Группа: Пользователи
Сообщений: 3
Регистрация: 26.02.2026

Предупреждения:
Добрый день!

У нас на сервере 254 слота и после 100 игрока происходит краш из-за Rev Emu, скорее всего он был спроектирован на 100 игроков.

bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;
bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;
bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;
bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;
bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;
bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;
bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;
bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;
bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;
bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;
bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;
bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot;bot; *** buffer overflow detected ***: terminated Aborted Add \\"-debug\\" to the ./srcds_run_64 command line to generate a debug.log to help with solving this problem


При этом если отключить Rev Emu, то сервер спокойно работает при 254 ботах.


 buffer overflow после 100 игрока
kuninyao
26 февраля 2026 16:11
   Сообщение #2

Юнец
  • 0
Награды:

Репутация: 0
Группа: Пользователи
Сообщений: 3
Регистрация: 26.02.2026

Предупреждения:
Забыл уточнить, используется последняя версия от 08/23/2025 на Linux. 64 бит, на последнем движке 2025 года.
bir3yk
26 февраля 2026 21:32
   Сообщение #3

Легенда
  • 150
Награды:
 
Репутация: 286
Группа: Администраторы
Сообщений: 2099
Регистрация: 7.11.2012

Предупреждения:
kuninyao,
надо смотреть, ограничений на ботов точно нет, по игрокам вроде то же, там динамический список, если не ошибаюсь. Посмотрю на выходных.
kuninyao
2 марта 2026 14:31
   Сообщение #4

Юнец
  • 0
Награды:

Репутация: 0
Группа: Пользователи
Сообщений: 3
Регистрация: 26.02.2026

Предупреждения:
bir3yk,

Привет, мы покопались в бинаре и нашли причину краша.

Краш происходит в CSteamGameServer015::SetServerName, там собирается строка числа игроков для hostname (100/254) через цепочку __strcat_chk в буфер на стеке размером всего 10 байт. при 100+ игроках строка перестаёт влезать и glibc кидает SIGABRT с сообщением *** buffer overflow detected ***. при этом флаг
AddCountPlayerInServerName у меня в rev.ini стоит false, но подсчёт игроков все равно идет (строка формируется), из-за этого краш из-за переполнения этой строки.

Проверил это патчем бинарника и успешно запустилось на 254 игроках.


Было бы здорово если бы Вы в исходниках увеличили размер этого буфера либо вынесли проверку флага в начало функции, чтобы не собирать строку впустую, когда в rev.ini флаг
AddCountPlayerInServerName = false.
bir3yk
2 марта 2026 18:56
   Сообщение #5

Легенда
  • 150
Награды:
 
Репутация: 286
Группа: Администраторы
Сообщений: 2099
Регистрация: 7.11.2012

Предупреждения:
kuninyao,
хорошо посмотрю и исправлю. Спасибо.
1чел. читают эту тему (гостей: 1)
Пользователей: 0

  Сейчас: 19 марта 2026 09:26