Game Server Login Token - это строка из 32 символов, позволяющая выделенному серверу входить в Steam как постоянная учётная запись, а не как анонимный процесс. Он бесплатен, создаётся примерно за минуту и является причиной того, что вполне рабочий сервер иногда никто не может найти. Это ещё и учётные данные, привязанные к вашему личному аккаунту Steam, с вашим именем на всём, что делает сервер, поэтому самое важное правило нарушают первым: никогда не используйте токен, созданный кем-то другим, и никому не передавайте свой.
Что такое GSLT и чем он не является#
Игры Steam, использующие API игровых серверов Steamworks, могут входить двумя способами. Анонимный игровой сервер запускается, работает и принимает прямые подключения, но Steam не знает, кто его запускает. Сервер, вошедший с аккаунтом игрового сервера, обладает личностью: Valve знает, какому аккаунту Steam он принадлежит, сервер появляется в публичном браузере, а записи игроков в Избранном и Истории следуют за ним, если его адрес меняется.
Токен - это пароль от этого аккаунта. Вы создаёте аккаунт на странице аккаунтов игровых серверов Steam, Steam выдаёт токен, и сервер предъявляет его при запуске.
Чем он не является:
- Не лицензией. Он ничего не стоит и ничего не даёт. Платного уровня нет.
- Не защитой от DDoS и не античитом. VAC - отдельная вещь и работает без него.
- Не привязан к игроку. Он аутентифицирует сервер, а не людей на нём.
- Не взаимозаменяем между играми. Токен создаётся для одного app id и отвергается любой другой игрой.
- Не может делиться между работающими серверами. Один токен - один живой сервер. Два сервера с одним токеном раз за разом выбивают друг друга, и это выглядит как нестабильный сервер, а не как ошибка конфигурации.
Кто вправе его создать#
Valve публикует требования на самой странице, и они строже, чем большинство ожидает:
- Ваш аккаунт Steam не должен быть в данный момент заблокирован в сообществе или закрыт.
- Ваш аккаунт Steam не должен быть ограниченным.
- К вашему аккаунту Steam должен быть привязан подходящий телефон.
- Ваш аккаунт Steam должен владеть игрой, для которой вы создаёте аккаунт.
- Один аккаунт может создать 1000 аккаунтов игровых серверов.
Ограниченный аккаунт - то, на чём спотыкаются. Steam ограничивает аккаунты, которые никогда не тратили деньги, и ограниченный аккаунт не может создавать токены вообще. То же с требованием телефона: аккаунт без привязанного номера не подходит, что бы ещё о нём ни было верно.
Правило владения - причина, по которой хостер не может создать токен за вас даже в принципе для большинства игр. Оно же определяет практическое решение: если вы собираетесь купить копию игры специально для запуска серверов, покупайте её на аккаунте, где больше ничего нет. По формулировке самой Valve, если ваши аккаунты игровых серверов забанят по какой-либо причине, вам могут ограничить возможность играть в связанные игры. Такое последствие лучше, чтобы пришлось на запасной аккаунт.
Создание токена#
- Войдите на
steamcommunity.com/dev/managegameserversс аккаунта, которому принадлежит игра. - Введите app id игры, а не серверного инструмента. Следующий раздел целиком посвящён именно этому.
- Напишите заметку (memo). Это свободная текстовая метка, и только она через полгода подскажет вам, какой из одиннадцати токенов относится к какому серверу. «eu-survival-01» - хорошая заметка; «server» - нет.
- Создайте токен и скопируйте 32 шестнадцатеричных символа.
Memo: thursday-survival-01App ID: 304930Token: 0123456789ABCDEF0123456789ABCDEFСоздавайте по одному на каждый сервер, который собираетесь запускать одновременно. Это бесплатно, и предела, о котором стоило бы беспокоиться, нет, а альтернатива - использовать один токен на двух живых серверах - даёт плавающий сбой, который очень трудно диагностировать изнутри.
Какой app id - ошибка, которую делают все#
Токен создаётся для app id игры. Большинство игр Steam поставляют выделенный сервер как отдельное приложение с другим id, и именно этот id вы передаёте SteamCMD, а не странице токенов. Использование id сервера даёт токен, который игра отвергает с невнятным сообщением.
| Игра | app id для токена | app id сервера для SteamCMD |
|---|---|---|
| Counter-Strike 2 | 730 | 730 |
| Team Fortress 2 | 440 | 232250 |
| Garry's Mod | 4000 | 4020 |
| Counter-Strike: Source | 240 | 232330 |
| Day of Defeat: Source | 300 | 232290 |
| Left 4 Dead 2 | 550 | 222860 |
| Unturned | 304930 | 1110390 |
| Insurgency: Sandstorm | 581320 | 581330 |
| Euro Truck Simulator 2 | 227300 | 1948160 |
| The Forest | 242760 | 556450 |
Counter-Strike 2 - исключение, из-за которого правило кажется запутанным: у сервера и игры общий app id 730, поэтому для этой одной игры числа совпадают, и случайно ничего не ломается. Euro Truck Simulator 2 - самый наглядный пример ловушки: 227300 для токена и 1948160 для установки, и её собственная документация прямо указывает на эту ошибку. Более широкий список app id серверов и игр и причины их различия есть в статье SteamCMD простыми словами.
Куда вставлять токен, игра за игрой#
Каждая игра читает токен из своего места, а у нескольких есть правило о том, когда его нужно прочитать.
| Игра | Куда вставлять |
|---|---|
| Counter-Strike 2 | +sv_setsteamaccount <token> в строке запуска |
| Team Fortress 2, CS:S, DoD:S, L4D2 | sv_setsteamaccount в строке запуска |
| Garry's Mod | sv_setsteamaccount, вместе с -authkey для Workshop |
| Unturned | GSLT <token> в Commands.dat или Login_Token в конфиге |
| Euro Truck Simulator 2 | server_logon_token в server_config.sii |
| The Forest | serverSteamAccount в конфиге сервера |
| Insurgency: Sandstorm | -GSLTToken= в строке запуска |
У Unturned тоже есть правило: ставьте токен в Commands.dat или в секцию Browser конфига игры, но не в оба. В его документации к тому же названы два преимущества помимо попадания в список, о которых другие игры не сообщают. Сервер с токеном сохраняет один и тот же Server Code между перезапусками, а не генерирует новый каждый раз, и Steam может перенести записи игроков в Избранном и Истории на новый адрес сервера, если тот изменится, обычно примерно за сутки. Где находятся оба поля, описано в статье настройка сервера Unturned.
Что делает сервер без него#
Это самое частое сообщение вида «мой сервер сломался», и сервер при этом обычно не сломан.
- Игры на движке Source работают нормально и принимают прямые подключения командой
connect 203.0.113.10:27015. Они не регистрируются на master-серверах Valve, поэтому никогда не появляются в браузере сообщества. Загрузки из Workshop на некоторых из них тоже могут не работать. - Unturned считает сервер без токена анонимным и полностью скрывает его из списка серверов в интернете. По локальной сети, по приглашению друзей Steam и по Server Code он всё равно работает, а код меняется при каждом перезапуске.
- Euro Truck Simulator 2 запускается как анонимный сервер с более слабой идентификацией в браузере.
- Counter-Strike 2 будет работать, но публичный сервер без токена - это сервер вне списка, а для большинства людей это то же самое, что сломанный.
Проверка, решающая всё за тридцать секунд: попробуйте зайти по IP. Если прямое подключение работает, а сервер в браузере не виден, дело в токене или порте query, а не в игре. Если и прямое подключение не удаётся, дело в порте. Как отличить одно от другого, а также про порт query отдельно, описано в статье порты игрового сервера: у сервера, которого нет в браузере, ровно две вероятные причины, а эта статья посвящена одной из них.
Баны, срок действия и перегенерация#
Токены можно забанить, и последствия выходят за пределы сервера.
Забаненный токен не может пройти аутентификацию, поэтому сервер пропадает из браузера и, в играх с VAC, может перестать принимать подключения. Valve банит токены за то, чего вы и ожидаете: запуск или содействие читам, конфигурации для обхода VAC, серверы, существующие ради рекламы мошенничества, и повторные нарушения правил хостинга серверов самой игры. Что люди недооценивают - последствия на уровне аккаунта, которые Steam прямо называет на странице: вы единолично отвечаете за эти токены, и если ваши аккаунты игровых серверов забанят по какой-либо причине, вам могут ограничить возможность играть в связанные игры.
Эта последняя оговорка - довод в пользу запасного аккаунта, и заодно довод против запуска плагинов, которых вы не читали. Плагин, который втихую превращает ваш сервер во что-то, что не нравится Valve, стоит вам сервера и, возможно, возможности играть в игру. О гигиене рассказывает статья как держать сервер с модами в чистоте; правила о том, что можно продавать игрокам, пока токен не стал обузой, - в статье монетизация игрового сервера в рамках правил.
Два административных поведения, на которых попадаются:
- Неиспользуемые токены истекают. Токен, с которым сервер так и не вошёл, со временем помечается истёкшим. Его можно перегенерировать на той же странице, что выдаёт новое значение, так что конфиг любого сервера, который всё ещё использует старое, нужно обновить.
- Сброс пароля Steam перегенерирует все ваши токены. Если вы сбросили пароль через сайт справки Steam или это сделала для вас поддержка Steam, все ваши GSLT перегенерируются разом. Это сделано намеренно и правильно, и это означает, что сброс пароля тихо убирает из списка каждый ваш сервер, пока вы не обновите каждый.
Внесите этот второй пункт в любой список того, что ломает продакшен, который вы ведёте. Это единственный сбой в статье, который бьёт по всем вашим серверам одновременно.
Как хранить токен в тайне#
GSLT - это учётные данные. Он идентифицирует ваш аккаунт для Steam, несёт вашу ответственность, а инструкция самой Valve на странице однозначна: не распространяйте токены входа игровых серверов третьим лицам, а если уже сделали это, удалите токен.
Практическая версия:
- Никогда не принимайте токен от хостера. Хостер, вручающий вам рабочий токен, вручает вам чужие учётные данные, а последствия того, что делает ваш сервер, лягут на него. Любой хостер, просящий вас предоставить свой, поступает правильно, а не вредничает.
- Никогда не вставляйте его в Discord, на форум, в скриншот или в сообщение поддержки в публичном канале. Если нужно отправить его тому, кто вам помогает, отправляйте приватно. В RE:NODE тикет поддержки принимает приватные вложения, и это правильное место для всего подобного.
- Держите его вне системы контроля версий. Токен в закоммиченном
server.cfg- это токен в каждом клоне репозитория навсегда, а удаление коммита не убирает его из истории. Общий приём описан в статье переменные окружения и секреты. - Подумайте, кто может читать ваши файлы. Любой, у кого есть доступ к файловому менеджеру или SFTP сервера, может прочитать конфиг, в котором лежит токен, а на играх Source любой с RCON часто может прочитать и convar. Давайте персоналу доступ к консоли без доступа к файлам, где панель это позволяет: как строить такие роли, описано в статье субпользователи и принцип минимальных привилегий, а обращение с RCON - в статье безопасная работа с RCON.
- Меняйте осознанно. Если токен видел тот, кому не следовало, удалите его и создайте новый. Это минута, и колебаться незачем.
В RE:NODE Counter-Strike 2 и Unturned - две игры каталога, которым нужен токен, и создавать его вам. Сервер создаётся, как только пройдёт оплата, а установка ждёт на вкладке Setup, пока вы его вставите. Это сознательное решение, а не недостающая функция. Значение попадает в стартовую переменную, а не записывается установкой в файл, что не даёт ему попасть в то, что захватит backup или скриншот.
Диагностика#
Сервер работает, но никогда не появляется в браузере. Нет токена, токен для неверного app id, истёкший или забаненный токен либо закрытый порт query. Проверяйте в этом порядке; зайдите по IP, чтобы выяснить, какая половина проблемы у вас.
«Token is not valid» или отказ входа при старте. Почти всегда дело в app id. Токен, созданный для app id выделенного сервера, а не игры, не заработает никогда.
Сервер входит, а затем раз за разом выходит. Два живых сервера делят один токен. Создайте второй; минусов нет.
Все мои серверы разом пропали из списка. Ваш пароль Steam сбросили через поддержку Steam или сайт справки, что перегенерирует все токены. Соберите новые значения и обновите каждый сервер.
Токен, работавший в прошлом месяце, отвергается. Он истёк из-за неиспользования либо забанен. Страница управления показывает, что именно; истёкший можно перегенерировать, забаненный - нет.
Токен верный, а CS2 всё равно не в списке. Убедитесь, что convar стоит в строке запуска, а не в server.cfg, и что ничто другое не задаёт его позже. Полная строка запуска описана в статье настройка сервера Counter-Strike 2.
Хостер предложил мне токен. Откажитесь и пересмотрите выбор хостера. Законного варианта такого не существует.
FAQ#
Нужен ли GSLT, чтобы вообще запустить сервер?
Только для публичного сервера в списке. Каждая перечисленная здесь игра запускается и принимает прямые подключения без него. Вы теряете запись в браузере серверов сообщества, а в случае Unturned - ещё и стабильный Server Code.
Может ли мой хостинг-провайдер создать токен за меня?
Не должен, а для большинства игр и не может, не владея игрой на собственном аккаунте. Токен несёт ответственность за то, что делает сервер, поэтому он принадлежит тому, кто сервер запускает. Хостер, просящий вас предоставить свой токен, ведёт себя правильно.
Сколько токенов мне нужно?
По одному на каждый одновременно работающий сервер. Общий токен на двух живых серверах делает нестабильными оба, потому что каждый вход выбивает другой. Steam разрешает 1000 аккаунтов игровых серверов на аккаунт Steam, так что экономить незачем.
За что банят токен?
За читы, конфигурации для обхода VAC, серверы мошенничества или рекламы и повторные нарушения правил хостинга самой игры. Бан лишает сервер возможности аутентифицироваться, а по формулировке самой Valve, забаненный аккаунт игрового сервера может привести к ограничению вашей возможности играть в связанную игру.
Какой app id использовать?
Игры, а не серверного инструмента. Для Team Fortress 2 это 440, хотя сервер устанавливается с 232250; для Euro Truck Simulator 2 это 227300, хотя сервер устанавливается с 1948160. Counter-Strike 2 - исключение, где оба равны 730.
Мой токен перестал работать, а я ничего не менял.
Две вероятные причины. Он истёк, потому что этот сервер давно не входил, либо ваш пароль Steam сбросили, что перегенерирует все токены аккаунта. Обе исправляются на той же странице, и в обеих новое значение нужно скопировать в конфигурацию сервера.




Комментарии
Полностью анонимно: без аккаунта, без почты, без cookie. Мы храним имя, которое вы ввели, текст и время - больше ничего. Количество ссылок ограничено, разметка не отображается.