- Серверна платформа
- GoldSrc · AMX Mod X
- Транспорт
- A2S
- Схема
- 1
EMP розширює стандартну відповідь ігрового сервера структурованими актуальними даними. Отриману інформацію можуть використовувати сумісні моніторинги та будь-які інші сторонні сервіси.
Розробкою та підтримкою займається команда Lagnetic, а EMP поширюється з відкритим вихідним кодом.
Для кожної гри створюється окрема серверна реалізація з урахуванням рушія.
| Гра | Серверна платформа | Транспорт | Схема | Статус | Репозиторій |
|---|---|---|---|---|---|
| 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 дає власнику контроль над тим, як сервер представлений у різних сервісах, і дозволяє описати особливості проєкту безпосередньо в його конфігурації лише один раз.
Завантажити відповідний плагін або мод з офіційного джерела.
Встановити його на свій сервер.
Заповнити конфігурацію відповідно до налаштувань вашого сервера та проєкту.
Відкриту схему можна перенести в інші ігри, зберігши єдине значення полів і очікувану поведінку для моніторингів.
Обрати доступний у грі механізм запиту серверних метаданих.
Зберегти схему 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