Files
mc-gateway/examples/plugins/mc-auth-proxy/manifest.yaml

114 lines
2.4 KiB
YAML

# Human-maintained plugin manifest. Build packages normalize this into manifest.json.
schema_version: mc-gateway.plugin/v1
id: mc-auth-proxy
name: Minecraft Auth Proxy
version: 0.1.0
description: Protocol-proxy example that owns Minecraft login handling and returns a stable fixture disconnect.
artifact_type: binary
runtime:
type: go-plugin
entry: plugin.so
entry_symbol: Plugin
api_version: plugin-api/v1
sdk_module: github.com/tursom/mc-gateway/plugin/api
sdk_module_version: v0.1.0
go_version: go1.24.0
go_os: linux
go_arch: amd64
extension_points:
- type: hook
key: upstream.connect/v1
capabilities:
upstream_connect:
mode: protocol-proxy
minecraft:
protocol_versions:
min: 47
max: 767
tested:
- 47
- 760
- 763
- 767
unsupported_policy: kick
states:
status: transparent
login: handled
configuration: transparent
play: transparent
auth_modes:
- fixture
forwarding:
supported:
- none
- velocity-modern
default: none
requires_secret: false
unsupported_policy: kick
modded:
forge: transparent
fabric: transparent
fml: unsupported
unknown: pass
runtime_limits:
handler_timeout_ms: 3000
initial_write_timeout_ms: 1000
events:
- name: auth.success
fields:
- result
- mode
- name: auth.failure
fields:
- result
- mode
custom_metrics:
- name: auth.attempts
type: counter
labels:
- result
- mode
external_dependencies:
- name: backend
endpoint: tcp://
purpose: auth
required: true
timeout: 3s
retry: 0
fail_policy: fail_closed
data_classes:
- operational
background_tasks:
- id: profile-cache-gc
name: Profile cache GC
mode: manual
manual: true
timeout: 1s
data_stores:
- name: profile-cache
schema_version: 1
data_class: profile_cache
quota_bytes: 1048576
retention: 24h
exportable: false
file_stores:
- namespace: cache
data_class: profile_cache
quota_bytes: 1048576
retention: 24h
- namespace: diagnostic
data_class: diagnostic
quota_bytes: 1048576
retention: 24h
config_schema:
type: object
properties:
match_host:
type: string
fixture_accept:
type: boolean
disconnect_message:
type: string
backend:
type: string