Skip to main content

xcore-protocol

Canonical cross-service protocol for the XCore ecosystem.

Mission

xcore-protocol is the canonical source of truth for XCore cross-service communication.

It defines:

  • message schemas
  • envelope structure
  • route and stream metadata
  • versioning and compatibility rules
  • canonical fixtures
  • generation inputs and tooling
  • generated Java and Python protocol DTO/model artifacts
  • thin handwritten validation and repository-tooling support around generated artifacts
  • cross-language compatibility tests

Scope

This repository contains only cross-process / cross-service wire protocol artifacts.

In scope

  • event, command, and RPC contracts
  • envelope definitions
  • route metadata
  • shared payload subtypes
  • protocol fixtures and validation helpers
  • generation configuration and generated Java/Python protocol artifacts

Out of scope

  • application business logic
  • Discord handlers or presentation code
  • Mindustry runtime integration
  • Mongo persistence
  • app-specific reconnect/worker orchestration

Repository Layout

  • docs/ — ADRs, architecture notes, policies, migration notes
  • spec/ — protocol specs, shared types, envelopes, routes, generation inputs
  • fixtures/ — valid, invalid, and legacy examples
  • generators/ — language generation config/templates/scripts
  • java/ — generated Java protocol artifacts for the canonical model surface
  • python/ — generated Python protocol package and thin helpers
  • compat/ — cross-language compatibility checks
  • scripts/ — validation and generation helper scripts

Migrated Families

All planned message families are fully migrated and operational:

  • Moderation — ban, mute, vote-kick, kick-banned, pardon, audit
  • Discord — link-confirm, unlink, link-status, admin-access, link-code
  • Maps — list request/response, remove request/response
  • Chat/Heartbeat — chat messages, global chat, heartbeat, join/leave, server actions, player state commands
  • Telemetry — Redis TTL snapshot payloads for Prometheus/Gateway telemetry aggregation

Current Status

All canonical message families are defined with JSON Schema specs and canonical fixtures. Generated Java records (org.xcore.protocol.generated.*) and Python frozen dataclasses (xcore_protocol.generated.*) cover the supported generated protocol surface, including route-less telemetry snapshot payloads. XCore-plugin and XCore-discord-bot both consume generated artifacts as their sole transport model where applicable. Cross-language compatibility checks and full CI validation chain are in place.

Releases

Each vX.Y.Z tag publishes the same version of both supported artifacts:

  • Java: org.xcore:xcore-protocol-java:X.Y.Z from https://maven.x-core.org/releases
  • Python: xcore-protocol==X.Y.Z from PyPI

Production consumers must use an exact released version. Git revisions and -SNAPSHOT versions are only acceptable while developing the protocol itself. The release workflow validates schemas, generated output, Java tests, Python tests, and distributable packages before publishing.

Before the first PyPI release, configure the pypi GitHub environment as a PyPI Trusted Publisher for this repository's Publish Release workflow. No Python package registry is self-hosted.

See Also

  • docs/adr/ADR-001-protocol-first.md
  • docs/architecture/protocol-overview.md
  • docs/policies/versioning.md
  • docs/policies/compatibility.md

Metadata

Release files for xcore-protocol 0.11.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for xcore-protocol 0.11.0
File Size Uploaded Provenance Actions
xcore_protocol-0.11.0.tar.gz 46.3 kB With provenance Details for xcore_protocol-0.11.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for xcore-protocol 0.11.0
File Interpreter ABI Platform Actions
xcore_protocol-0.11.0-py3-none-any.whl Python 3 none any Details for xcore_protocol-0.11.0-py3-none-any.whl

Total release size: 115.4 kB

Release files / xcore_protocol-0.11.0.tar.gz

Download URL xcore_protocol-0.11.0.tar.gz
Size 46.3 kB
Tags Source
SHA-256 checksum
How to use checksums
fc33cfa8d30055dbcc50c66a8b24668f212d319bc5bbf3ce5237076d2eb93d5b
BLAKE2b-256 checksum
How to use checksums
4d7c604575075aa81455c6dfe90fbdce5f4a114aaa752d3202f9d21abe60d303
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / xcore_protocol-0.11.0-py3-none-any.whl

Download URL xcore_protocol-0.11.0-py3-none-any.whl
Size 69.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9db47b23390a65a4e90a380ca8fb5012e14fe062b44bc49db35f4aafb7bcf51c
BLAKE2b-256 checksum
How to use checksums
2cd8db02f99704b81dec1d7e27beec6fd9fabc9e9d0540da6856d553daeb4f8c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Security for xcore-protocol 0.11.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for xcore_protocol-0.11.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page