Обход бана

turka

Участник
Сообщения
31
Реакции
1
У игрока вместо steamid "STEAM_ID_STOP_IGNORING_RETVALS". Очевидно, что после бана спокойно имеет возможность зайти на сервер. Возможно каким-то образом скрыл steamid. Steam Community ID также фейковый, то есть вычислить настоящий steamid для дальнейшего добавления в банлист не представляется возможным. Вероятно кто-то знает как бороться с этой проблемой. Сервер онли стим, что вдвойне забавно.
--- Добавлено позже ---
Заметил, что подобное далеко не редкость: те ребята, что используют данную "фичу", имеют Community ID 76561197960265728. Может в будущем кому и пригодится.
 
Последнее редактирование:

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
вот почищенный декомпил плагина
 

Вложения

  • checkauth.sp
    1.3 КБ · Просмотры: 76

MaZa

Участник
Сообщения
1,732
Реакции
980
У игрока вместо steamid "STEAM_ID_STOP_IGNORING_RETVALS". Очевидно, что после бана спокойно имеет возможность зайти на сервер. Возможно каким-то образом скрыл steamid. Steam Community ID также фейковый, то есть вычислить настоящий steamid для дальнейшего добавления в банлист не представляется возможным. Вероятно кто-то знает как бороться с этой проблемой. Сервер онли стим, что вдвойне забавно.
--- Добавлено позже ---
Заметил, что подобное далеко не редкость: те ребята, что используют данную "фичу", имеют Community ID 76561197960265728
Такое бывает и в CS:GO
C-подобный:
STEAM_ID_STOP_IGNORING_RETVALS
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #6
У игрока вместо steamid "STEAM_ID_STOP_IGNORING_RETVALS"
Держу в курсе, но такой SteamID имеют все игроки некоторое время после захода. А сама строка прилетает на плагины только когда серверу ещё неизвестен настоящий SteamID.
Почему он может быть неизвестен - есть целых две причины:
  1. Что-то или кто-то блокирует на стороне клиента соединение к серверу Steam. В этом случае, игрока всё равно самого кикнет сервер спустя некоторое время ожидания Стима.
  2. У сервера нестабильное, плохое соединение до Steam, и он не может произвести получение авторизационного токена. В таком случае, игрока не кикнет. Проблема-то у сервера.
А строку такую возвращает сам SourceMod, вот здесь. Помимо самой строки, функция, которая отдаёт SteamID, отдаёт булевую переменную, true/false, которую в идеале все плагины и должны проверять вместо проверки строки.

Тем не менее, в это же время, сервер (как бы абсурдно это не звучало) будет показывать "настоящий" SteamID игрока в выводе команды status. Я обернул слово в кавычки, потому что сервер не будет уверен, что это его реальный Стим.
Потому, серверу и клиенту нужно соединение к серверу Стима, чтобы обменяться своими идентификаторами (у сервера тоже есть свой SteamID) через такого посредника.

те ребята, что используют данную "фичу", имеют Community ID 76561197960265728
Опять же, держу в курсе. Это очередная магия. Только уже не Сурсмода, а Стима. Это стартовая точка всех Community ID. Именно от этого числа опирается и сервер, и сайты, и Сурсмод при формировании Community ID. Добавьте к этому числу единицу, и получите Community ID самого первого пользователя Steam. И по нарастаюшей.
Очень древнее описание алгоритма получения Community ID из SteamID / AccountID на эту тему.
 

₮αй₮оβый

Участник
Сообщения
317
Реакции
35
вот почищенный декомпил плагина
C-подобный:
L 02/23/2019 - 10:29:39: [SM] Exception reported: Invalid timer handle 42003bf (error 1)
L 02/23/2019 - 10:29:39: [SM] Blaming: checkauth.smx
L 02/23/2019 - 10:29:39: [SM] Call stack trace:
L 02/23/2019 - 10:29:39: [SM] [0] KillTimer
L 02/23/2019 - 10:29:39: [SM] [1] Line 49, C:\Users\GG\Desktop\\[error script]ing\checkauth.sp::OnClientDisconnect
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #8
@₮αй₮оβый, а Вам никто и не говорил, что все проблемы оригинала исправлены.
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #10
Ошибка на исправность работы не повлияет. А вылезать будет только при отключении игрока.
 

turka

Участник
Сообщения
31
Реакции
1
Почему он может быть неизвестен - есть целых две причины:

Что-то или кто-то блокирует на стороне клиента соединение к серверу Steam. В этом случае, игрока всё равно самого кикнет сервер спустя некоторое время ожидания Стима.
У сервера нестабильное, плохое соединение до Steam, и он не может произвести получение авторизационного токена. В таком случае, игрока не кикнет. Проблема-то у сервера.
В моем случае второй вариант не подходит, да и первый не особо тянет на истину. Точнее та часть, что игрока должно кикнуть спустя некоторое время. Хотя если игрок будет способен находится на сервере более 20 минут, то тогда вполне подходит.
А вообще интересная инфа, спасибо.
 
Последнее редактирование:

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #12
В моем случае второй вариант не подходит
Уверены?
Порт 5000 открыт? Именно им пользуется сервер для общения со Steam. Его можно поменять через параметры запуска:
C-подобный:
-steamport XXXXX
 
Сверху Снизу