Lagnetic
ServersObserverCommunityPromotion
Sign in
ServersObserver
rust
CommunityPromotion
Разработчикам
Extended Meta Protocol
Information
AboutContactsFAQAdvertisingFor HostingPartnersOfferPrivacy policyTerms of use
© 2026 Lagnetic. All rights reserved.
XDiscordTelegram
  • General information
  • What problem does EMP solve?
  • For monitoring services
  • For server owners
  • For developers
  • Usage example

Extended Meta Protocol (EMP)

EMP extends the standard game server response with structured, up-to-date data. The resulting information can be used by compatible monitoring services and any other third-party services.

EMP is developed and maintained by the Lagnetic team and distributed as open-source software.

Current status

Each game receives its own server-side implementation tailored to the engine.

Games, EMP support status and implementation repositories
GameServer platformTransportSchemaStatusRepository
Counter-Strike 1.6GoldSrc · AMX Mod XA2S1Supportedemp-cs16-amxx
Counter-Strike: SourceSource——PlannedNot published yet
Counter-Strike: Global OffensiveSource——PlannedNot published yet
Counter-Strike 2Source 2——PlannedNot published yet
Counter-Strike 1.6Supported
Server platform
GoldSrc · AMX Mod X
Transport
A2S
Schema
1
emp-cs16-amxx
Counter-Strike: SourcePlanned
Server platform
Source
Not published yet
Counter-Strike: Global OffensivePlanned
Server platform
Source
Not published yet
Counter-Strike 2Planned
Server platform
Source 2
Not published yet

Links to new repositories will be added after the corresponding implementations are published.

What problem does EMP solve?

The standard server response accurately reflects its technical state: address, current map, player count, password protection, version, and so on. However, this is not enough to describe the game server itself in detail — its mode, supported languages, official communities and their links, modifications, and other distinctive features.

Extended Meta Protocol adds this information as named fields, providing every potential consumer with more complete data. The game server itself remains the source of that information.

Useful for everyone

  • Players

    Players receive current server information through any source or service they already use.

  • Game server owners

    When a server or related resource changes, owners no longer need to edit information and register again across dozens of monitoring services.

  • Monitoring and other services

    Services can always obtain complete, current information directly from the server instead of relying on manually maintained user data.

  • Server implementation developers

    Developers can use one shared schema instead of inventing incompatible formats that other services do not support.

Who EMP is for and why it matters

The protocol establishes one contract between a game server and the services that present it to players.

Game server monitoring services

EMP enables richer server pages without manually collecting information or maintaining a custom integration for every project.

Why support EMP

  • Data comes directly from the server and refreshes with the normal query cycle.
  • One documented schema replaces a collection of unstable custom formats.
  • Mode, languages, links and visuals improve search, filters and server pages.
  • Schema version, state and error codes make processing predictable.

How to integrate

  1. 1

    Query A2S and detect fields with the em_ prefix.

  2. 2

    Check em_status and em_schema first, then reassemble chunked fields.

  3. 3

    Validate and escape every value, and fetch external resources safely.

Game server owners

EMP gives owners control over how their server is presented across different services and lets them describe project-specific features directly in its configuration just once.

Why install EMP

  • Players see the project mode, description and languages before connecting.
  • Official links and visual assets come from a source you control.
  • Changes are picked up as quickly as possible.

How to use it

  1. 1

    Download the appropriate plugin or mod from an official source.

  2. 2

    Install it on your server.

  3. 3

    Fill in the configuration according to your server and project settings.

Server implementation developers

The open schema can be brought to other games while preserving field meaning and expected behavior for monitoring services.

Why use the shared schema

  • A new game becomes compatible with monitoring services that already understand EMP.
  • Field names and semantics do not need to be reinvented for each engine.
  • Publication state and errors retain the same machine-readable meaning.

What an implementation needs

  1. 1

    Choose a server metadata query mechanism available in the target game.

  2. 2

    Preserve the EMP schema, dynamic-field manifests and versioning rules.

  3. 3

    Contact us so the mod can be published under your authorship.

Usage example

The example below describes the EMP implementation for Counter-Strike 1.6. Transport and implementation details may differ for other games; consult the corresponding repository documentation and the current EMP schema.

Data flow

1
The owner defines metadata

Project information is stored in the EMP configuration on the game server.

2
The server publishes fields

The plugin validates the config and adds em_ fields to A2S.

3
Monitoring reads the response

A compatible service parses the schema and presents current data to players.

Data published by the protocol

EMP extends standard A2S responses. It does not duplicate player count, map, bot count, password, VAC state or server version.

Description and modeem_desc*, em_mod, em_keywords
A short project description, the game mode or mod name, and searchable classification keywords.
Languagesem_lang_voice, em_lang_ui
Player voice languages and server interface languages are published separately.
Visual assetsem_icon, em_map_img
URLs for the project icon and the current map image with map-name substitution.
Community linksem_links, em_link_<key>
An extensible collection of links to the website, Discord, social channels and other official resources.
Commands and extensionsem_commands*, em_custom, em_x_<key>
Optional discovery of public AMXX commands and explicitly marked custom fields outside the standard schema.
Protocol stateem_status, em_schema, em_updated, em_error
Plugin version, publication state, schema version, configuration time and a machine-readable error code.

Core fields for monitoring integration

The implementation repository contains the full specification, limits and error list. A minimal consumer should account for these fields.

em_status
Plugin version and publication state. State 0 means application metadata is invalid.
em_schema
Data schema version used to select parsing rules.
em_desc_parts
Number of description chunks to assemble from em_desc, em_desc_2 and later fields.
em_links
Authoritative manifest of active em_link_<key> fields.
em_custom
Authoritative manifest of custom em_x_<key> fields.
em_error
Stable machine-readable reason when configuration validation fails.