Lagnetic
СервераОбозревательСообществоПродвижение
Войти
СервераОбозреватель
rust
СообществоПродвижение
Разработчикам
Extended Meta Protocol
Информация
О проектеКонтактыFAQРекламаДля хостинговПартнерыОфертаКонфиденциальностьУсловия использования
© 2026 Лагнетик. Все права защищены.
VKDiscordTelegram
  • Общая информация
  • Какую проблему решает EMP?
  • Для мониторингов
  • Для владельцев серверов
  • Для разработчиков
  • Пример использования

Extended Meta Protocol (EMP)

EMP расширяет стандартный ответ игрового сервера структурированными актуальными данными. Полученную информацию могут использовать совместимые мониторинги и любые другие сторонние сервисы.

Разработка и поддержка осуществляются командой Lagnetic и распространяется с открытым исходным кодом.

Актуальный статус

Для каждой игры создаётся отдельная серверная реализация, учитывающая возможности её движка.

Игры, статус поддержки EMP и репозитории реализаций
ИграСерверная платформаТранспортСхемаСтатусРепозиторий
Counter-Strike 1.6GoldSrc · AMX Mod XA2S1Поддерживаетсяemp-cs16-amxx
Counter-Strike: SourceSource——В планахЕщё не опубликован
Counter-Strike: Global OffensiveSource——В планахЕщё не опубликован
Counter-Strike 2Source 2——В планахЕщё не опубликован
Counter-Strike 1.6Поддерживается
Серверная платформа
GoldSrc · AMX Mod X
Транспорт
A2S
Схема
1
emp-cs16-amxx
Counter-Strike: SourceВ планах
Серверная платформа
Source
Ещё не опубликован
Counter-Strike: Global OffensiveВ планах
Серверная платформа
Source
Ещё не опубликован
Counter-Strike 2В планах
Серверная платформа
Source 2
Ещё не опубликован

Ссылки на новые репозитории появятся в таблице после публикации соответствующих реализаций.

Какую проблему решает EMP?

Стандартный ответ сервера хорошо отражает его техническое состояние: адрес, текущую карту, количество игроков, наличие защиты паролем, версию и т. д. Однако этого недостаточно, чтобы подробно описать сам игровой сервер — его режим, поддерживаемые языки, официальные сообщества и ссылки на них, модификации и другие характерные особенности.

Extended Meta Protocol добавляет эти сведения в виде именованных полей, предоставляя всем потенциальным получателям более полную информацию. При этом её источником остаётся сам игровой сервер.

Это полезно всем

  • Игрокам

    Игроки получают актуальные сведения о сервере через любые источники, которыми они пользуются.

  • Владельцам игровых серверов

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

  • Мониторингам и другим сервисам

    Они смогут всегда получать полные и актуальные сведения о сервере, не завися от информации, вручную обновляемой пользователями.

  • Разработчикам серверных реализаций

    Они смогут использовать общую схему и не придумывать собственные форматы, которые не поддерживаются другими.

Кому и зачем использовать EMP

Протокол создаёт единый контракт между игровым сервером и сервисами, которые представляют его игрокам.

Мониторингам игровых серверов

EMP помогает строить более информативные карточки серверов, не собирая сведения вручную и не поддерживая отдельную интеграцию с каждым проектом.

Почему стоит использовать EMP

  • Данные поступают напрямую с сервера и обновляются вместе с его обычным опросом.
  • Одна документированная схема заменяет набор нестабильных пользовательских форматов.
  • Режим, языки, ссылки и оформление улучшают поиск, фильтры и качество карточек.
  • Версия схемы, статус и коды ошибок позволяют обрабатывать данные предсказуемо.

Как подключить

  1. 1

    Запрашивать A2S и обнаруживать поля с префиксом em_.

  2. 2

    Сначала проверять em_status и em_schema, затем собирать составные поля.

  3. 3

    Валидировать и экранировать все строки и безопасно загружать внешние ресурсы.

Владельцам игровых серверов

EMP даёт владельцу контроль над тем, как сервер представлен в разных сервисах, и позволяет описать особенности проекта непосредственно в его конфигурации всего 1 раз.

Почему стоит установить EMP

  • Игроки видят режим, описание и языки проекта до подключения к серверу.
  • Официальные ссылки и визуальные материалы берутся из управляемого вами источника.
  • Изменения подхватываются максимально оперативно.

Как использовать

  1. 1

    Скачать соответствующий плагин или мод из официального источника.

  2. 2

    Установить на свой сервер.

  3. 3

    Заполнить конфигурацию в соответствии с настройками вашего сервера и проекта.

Разработчикам серверных реализаций

Открытая схема позволяет перенести EMP на другие игры, сохранив единое значение полей и ожидаемое поведение для мониторингов.

Почему стоит использовать общую схему

  • Новая игра становится совместимой со всеми мониторингами, уже понимающими EMP.
  • Имена и семантика полей не изобретаются заново для каждого движка.
  • Состояние публикации и ошибки имеют одинаковую машинную интерпретацию.

Что требуется от реализации

  1. 1

    Выбрать доступный в игре механизм запроса серверных метаданных.

  2. 2

    Сохранить схему, манифесты динамических полей и правила версионирования EMP.

  3. 3

    Связаться с нами для публикации мода под вашим авторством.

Пример использования

Ниже показан пример реализации EMP для Counter-Strike 1.6. Для других игр транспорт и детали реализации могут отличаться — сверяйтесь с документацией соответствующего репозитория и актуальной схемой EMP.

Путь данных

1
Владелец задаёт данные

Описание проекта хранится в конфигурации EMP на игровом сервере.

2
Сервер публикует поля

Плагин проверяет конфигурацию и добавляет em_-поля в A2S.

3
Мониторинг читает ответ

Совместимый сервис разбирает схему и показывает актуальные сведения игрокам.

Какие данные может передавать протокол

EMP дополняет стандартные A2S-ответы и не пытается повторно передавать онлайн, карту, ботов, пароль, VAC или версию сервера.

Описание и режимem_desc*, em_mod, em_keywords
Краткое описание проекта, название игрового режима или мода и ключевые слова для классификации и поиска.
Языкиem_lang_voice, em_lang_ui
Языки голосового общения игроков и языки интерфейса сервера передаются раздельно.
Визуальные материалыem_icon, em_map_img
Ссылки на иконку проекта и изображение текущей карты с подстановкой её имени.
Ссылки сообществаem_links, em_link_<key>
Расширяемый набор ссылок на сайт, Discord, социальные сети и другие официальные ресурсы проекта.
Команды и расширенияem_commands*, em_custom, em_x_<key>
Опциональный список публичных AMXX-команд и явно помеченные пользовательские поля, не входящие в стандарт протокола.
Состояние протоколаem_status, em_schema, em_updated, em_error
Версия плагина, состояние публикации, версия схемы, время изменения конфигурации и машиночитаемый код ошибки.

Основные поля для интеграции мониторинга

Полная спецификация, ограничения и коды ошибок находятся в репозитории реализации. Минимальный потребитель должен учитывать следующие поля.

em_status
Версия плагина и состояние публикации. Состояние 0 означает, что прикладные метаданные недействительны.
em_schema
Версия схемы данных, по которой потребитель выбирает правила разбора.
em_desc_parts
Количество частей описания, которые нужно последовательно собрать из em_desc, em_desc_2 и далее.
em_links
Авторитетный манифест активных ключей ссылок em_link_<key>.
em_custom
Авторитетный манифест пользовательских полей em_x_<key>.
em_error
Стабильный машиночитаемый код причины, если конфигурация не прошла проверку.