114 lines
2.4 KiB
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
|