Как банить игроков со старыми стимами? (U:1:123456)

wayLANder

Где AlmazON?
Сообщения
1,742
Реакции
577
Здравствуйте, подскажите, есть сервер дота2 и тф2, там у игроков используются старые форматы стимов, так вот, при попытке добавить бан через сайт соурсбана (1.5.4.7), пишет, что я вводу неверный стим. Пробовал даже себя забанить - безрезультатно. По айпи банит, но они меняются на раз-два. В ксго новые форматы стимов (STEAM_1:1234), банит спокойно.
Как быть?
Если откатиться, скажем, на 1.4.11, поможет? Так как версия старая, может она может банить такие стимы, я просто не ставил её, начинал с 1.5.2F :)
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #2
Быть такого не может. Проверяй валидность стимов.
Правильно Стим старый выглядит не так, как ты написал (STEAM_1:1234), а вот так: STEAM_1:0:1234
 

wayLANder

Где AlmazON?
Сообщения
1,742
Реакции
577
Ну это я для примера написал, на память, так как с телефона.
А так я в описании ошибся, это не старый формат стимов, а наоборот, новый, steamID3
Вот как выглядит стим, который не могу забанить:
[U:1:22085*****]
Так же пробовал и без скобок (steamID3 without brackets)
--- Добавлено позже ---
Please enter a valid Steam ID or Community ID
--- Добавлено позже ---
Попробовал узнать стим через home - STEAMID I/O , выдал стим в старом формате, попробовал забанить, позже отпишусь, получилось, или нет.
Но все же не хочется каждый раз лезть на сайт(
 
Последнее редактирование:

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #4
@Иванчо Бальбовски, а лезть и не надо.
Получить старый SteamID из нового можно имея под рукой лишь один калькулятор. Я покажу формулу и небольшой пример.

[U:1:B]
Где B - некоторое уникальное число.

STEAM_X:Y:Z
Где X - уникальный индекс игры (для всех старых игр, он равен как правило нулю. КС:ГО - 1)
Y - остаток от деления B на 2.
Z - результат деления на 2 (ЦЕЛОЕ ЧИСЛО)

И пример, как я обещал. Для него я возьму два своих аккаунта.
Скажем, у нас есть некоторые пользователи с айдишниками [U:1:111331224] и [U:1:59919733], и нам надо перевести их айдишники в старый формат.

Для первого пользователя делим число 111331224 (B) на 2. Получаем целое число 55665612 (Z) без остатка. Значит, SteamID v2 для [U:1:111331224] будет STEAM_0:0:55665612. Можно проверить по калькулятору SteamID.
Для второго пользователя делим число 59919733 (B) на 2. Получаем число с дробью 29959866,5. Убираем число после запятой, чтобы получилось 29959866 (Z). Так как изначально у нас число было дробное после деления, то Y будет равен единице. Значит, SteamID v2 для [U:1:59919733] будет STEAM_0:1:29959866. Можете снова проверить по калькулятору, дабы убедиться, что формула действительно рабочая.

В целом, как-то так можно получать SteamID v2 из SteamID v3. Точно так же, но наоборот можно получать SteamID v3 из SteamID v2. Только в данном случае, надо умножать Z на 2 и прибавлять к результату Y.
Я надеюсь, что я ясно пояснил метод конвертирования SteamID v3 в SteamID v2 лишь с одним обыкновенным калькулятором под рукой.
 

wayLANder

Где AlmazON?
Сообщения
1,742
Реакции
577
Проблема решена:
[ALPHA] MATERIAL Admin - ReFork на основе [SB: 1.5.4.7] [Bootstrap 3]
U:0:1-ID vs STEAM-ID? - AlliedModders
Оффтоп
 
Сверху Снизу