Сервер FiveM требует Steam: исправить отсутствующий идентификатор Steam
Сервер FiveM говорит, что требуется Steam или нет идентификатора steam? Как игроки это исправляют, как владельцы устанавливают steam_webApiKey и почему некоторые серверы используют license или Discord.
Вы пытаетесь присоединиться, а сервер вас отклоняет с сообщением, что требуется Steam или что идентификатор Steam не найден. Причина в одном из двух: ваш Steam клиент не запущен или сервер запрашивает то, что вы не можете предоставить. Обе проблемы имеют простое решение.
Что проверяет сервер
Когда вы подключаетесь, FiveM отправляет серверу список идентификаторов для вашего игрока. Они выглядят так:
license:xxxxxxxxxxxxxxxxxxxxxxxx
steam:11000010xxxxxxx
discord:123456789012345678Сервер, который использует steam: для своей базы данных, списка разрешённых или списка администраторов, должен иметь эту строку. Если Steam не запущен, нет идентификатора steam: и сервер блокирует вас.
Игроки: как это исправить
- Закройте FiveM.
- Запустите Steam и войдите в систему. Steam должен быть открыт и подписан в одном и том же пользователе Windows до запуска FiveM. Проверьте окно Steam или значок в трее.
- Запустите FiveM и подключитесь снова.
- Если вы играете в GTA V из Epic или Rockstar, сервер может всё равно попросить Steam. В этом случае вам нужен запущенный и вошедший Steam клиент с вашей учётной записью или вам нужно играть на сервере, который использует
licenseвместо этого. - Не запускайте FiveM от администратора, пока Steam не запущен от администратора. Оба должны работать на одном уровне привилегий, иначе FiveM не сможет видеть Steam. Запустите оба нормально.
- Если это всё ещё не удаётся, закройте оба, перезагрузите Steam, затем FiveM. Очистка кэша с помощью Как очистить кэш FiveM помогает в некоторых случаях.
Steam в автономном режиме также может не дать идентификатор. Перейдите в онлайн.
Совет: если вы играете на нескольких серверах, держите Steam запущенным, когда вы играете в FiveM. Это ничего не стоит и избегает этой ошибки на каждом сервере, который использует Steam.
Владельцы серверов: ключ Steam Web API
Чтобы сервер использовал аутентификацию Steam, дайте ему ключ Steam Web API. Вы получаете ключ из своей учётной записи Steam на странице ключа веб-API Steam.
Добавьте его в server.cfg:
set steam_webApiKey "YOUR_STEAM_WEB_API_KEY"Используйте set, а не setr, чтобы ключ никогда не был отправлен клиентам. Никогда не делитесь ключом, никогда не публикуйте server.cfg с ключом в нём, и сбросьте ключ из своей учётной записи Steam, если он просочится.
Перезагрузите сервер после изменения. Некоторые фреймворки и скрипты списков разрешённых имеют свою собственную настройку для типа идентификатора, поэтому проверьте также конфиг скрипта.
Проверка на отсутствующий идентификатор Steam в ваших скриптах
Если вы хотите только заблокировать игроков без Steam, прочитайте их идентификатор во время подключения и отложите:
AddEventHandler('playerConnecting', function(name, setKickReason, deferrals)
local src = source
deferrals.defer()
Wait(0)
local steam = GetPlayerIdentifierByType(src, 'steam')
if not steam then
deferrals.done('Steam is required. Start Steam, log in, then restart FiveM.')
return
end
deferrals.done()
end)Ясное сообщение спасает ваших игроков от угадывания. См. playerConnecting и deferrals для полного шаблона.
Почему многие серверы используют license или Discord
Steam в качестве основного идентификатора имеет недостатки:
- Игроки должны запустить Steam, и многие не играют в GTA V на Steam, поэтому они получают ошибку выше.
- Steam в режиме «в сети» или в плохом состоянии удаляет идентификатор в середине сеанса.
- Ключ Steam Web API — ещё один секрет, который владельцу нужно управлять.
Идентификатор license: поступает из учётной записи Rockstar игрока. Он всегда там, и ему не нужен дополнительный ключ, поэтому многие современные фреймворки используют его по умолчанию для базы данных персонажей. Идентификаторы Discord популярны для списков разрешённых и ролей, потому что персонал может управлять ими с сервера Discord. См. Discord список разрешённых для FiveM.
Изменение типа идентификатора на существующем сервере — это миграция данных: персонажи, сохранённые под steam:, не будут соответствовать license:. Создайте резервную копию базы данных и спланируйте это перед переключением.
Чеклист
| Симптом | Исправление |
|---|---|
| Сервер говорит, что требуется Steam | Запустите Steam и войдите до FiveM |
| Steam запущен, но не удаётся | Запустите оба на одном уровне привилегий, без администратора только на одном |
| Steam в автономном режиме | Перейдите в онлайн |
Нет идентификатора steam: в консоли |
Steam не запущен или нет steam_webApiKey где требуется |
| Владелец хочет аутентификацию Steam | set steam_webApiKey "key" в server.cfg, держите в секрете |
| Игроки без Steam | Используйте идентификаторы license: или Discord вместо этого |
| Переключение типа идентификатора | Сначала создайте резервную копию, сохранённые данные не будут совпадать с новым идентификатором |
Короткие ответы
Почему сервер говорит, что мне нужен Steam?
Сервер читает ваш идентификатор Steam при подключении, и FiveM имеет его только если Steam клиент запущен и вы вошли в систему. Сервер использует его, чтобы узнать вас и сохранить вашего персонажа.
Нужен ли мне ключ Steam Web API для запуска сервера FiveM?
Только если ваш сервер или его скрипты используют аутентификацию Steam. Добавьте его с помощью set steam_webApiKey "your_key" в server.cfg.
Лучше ли идентификатор Steam, чем идентификатор license?
Ни один не лучше. Идентификатор license поступает из учётной записи Rockstar и всегда присутствует. Steam зависит от того, запущен ли Steam у игрока, поэтому многие серверы предпочитают license.
Скрипты без этой проблемы
Mic PhoneСкладной телефон, который раскладывается в планшет и работает и на настоящем телефоне игрока.Смотреть скрипт →
Drug Dealer AppУличная торговля в виде приложения lb-phone: зоны, NPC-покупатели, уровни и вызовы полиции.Смотреть скрипт →
Pawn Shop AppЛомбард между игроками прямо в lb-phone.Смотреть скрипт →