- Серверная платформа
- GoldSrc · AMX Mod X
- Транспорт
- A2S
- Схема
- 1
EMP расширяет стандартный ответ игрового сервера структурированными актуальными данными. Полученную информацию могут использовать совместимые мониторинги и любые другие сторонние сервисы.
Разработка и поддержка осуществляются командой Lagnetic и распространяется с открытым исходным кодом.
Для каждой игры создаётся отдельная серверная реализация, учитывающая возможности её движка.
| Игра | Серверная платформа | Транспорт | Схема | Статус | Репозиторий |
|---|---|---|---|---|---|
| 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 | — | — | В планах | Ещё не опубликован |
Ссылки на новые репозитории появятся в таблице после публикации соответствующих реализаций.
Стандартный ответ сервера хорошо отражает его техническое состояние: адрес, текущую карту, количество игроков, наличие защиты паролем, версию и т. д. Однако этого недостаточно, чтобы подробно описать сам игровой сервер — его режим, поддерживаемые языки, официальные сообщества и ссылки на них, модификации и другие характерные особенности.
Extended Meta Protocol добавляет эти сведения в виде именованных полей, предоставляя всем потенциальным получателям более полную информацию. При этом её источником остаётся сам игровой сервер.
Игроки получают актуальные сведения о сервере через любые источники, которыми они пользуются.
При изменении сервера или связанных с ним ресурсов больше не нужно заново регистрироваться в десятках мониторингов, вручную исправляя данные в нескольких местах.
Они смогут всегда получать полные и актуальные сведения о сервере, не завися от информации, вручную обновляемой пользователями.
Они смогут использовать общую схему и не придумывать собственные форматы, которые не поддерживаются другими.
Протокол создаёт единый контракт между игровым сервером и сервисами, которые представляют его игрокам.
EMP помогает строить более информативные карточки серверов, не собирая сведения вручную и не поддерживая отдельную интеграцию с каждым проектом.
Запрашивать A2S и обнаруживать поля с префиксом em_.
Сначала проверять em_status и em_schema, затем собирать составные поля.
Валидировать и экранировать все строки и безопасно загружать внешние ресурсы.
EMP даёт владельцу контроль над тем, как сервер представлен в разных сервисах, и позволяет описать особенности проекта непосредственно в его конфигурации всего 1 раз.
Скачать соответствующий плагин или мод из официального источника.
Установить на свой сервер.
Заполнить конфигурацию в соответствии с настройками вашего сервера и проекта.
Открытая схема позволяет перенести EMP на другие игры, сохранив единое значение полей и ожидаемое поведение для мониторингов.
Выбрать доступный в игре механизм запроса серверных метаданных.
Сохранить схему, манифесты динамических полей и правила версионирования EMP.
Связаться с нами для публикации мода под вашим авторством.
Ниже показан пример реализации EMP для Counter-Strike 1.6. Для других игр транспорт и детали реализации могут отличаться — сверяйтесь с документацией соответствующего репозитория и актуальной схемой EMP.
Описание проекта хранится в конфигурации EMP на игровом сервере.
Плагин проверяет конфигурацию и добавляет em_-поля в A2S.
Совместимый сервис разбирает схему и показывает актуальные сведения игрокам.
EMP дополняет стандартные A2S-ответы и не пытается повторно передавать онлайн, карту, ботов, пароль, VAC или версию сервера.
em_desc*, em_mod, em_keywordsem_lang_voice, em_lang_uiem_icon, em_map_imgem_links, em_link_<key>em_commands*, em_custom, em_x_<key>em_status, em_schema, em_updated, em_errorПолная спецификация, ограничения и коды ошибок находятся в репозитории реализации. Минимальный потребитель должен учитывать следующие поля.
em_statusem_schemaem_desc_partsem_linksem_customem_error