Replace RCON with API-only emulator transport
CI / check (push) Successful in 30s
CI / release (push) Skipped
CI / deploy (push) Successful in 1m9s

- Switch default EMULATOR_MODE from 'rcon' to 'api'
- Remove RCON_HOST/PORT/timeout/maxRetries env vars
- Add EMULATOR_API_URL to .env and .env.example
- Update createEmulatorTransport() to use HTTP API only
- Remove rconHost/port from offline alert context
- All 827 tests pass, TypeScript compiles cleanly
This commit is contained in:
openhands committed 2026-08-22 15:12:56 +02:00
1 parent e6dd22a4de
commit e06e419707
4 files changed
+15 -30

No files matched your search

+3 -9
View File
@@ -40,17 +40,11 @@ const schema = z
SMTP_USER: z.string().optional(),
SMTP_PASSWORD: z.string().optional(),
SMTP_FROM: z.string().optional(),
// RCON link to the Arcturus emulator (raw-JSON TCP protocol).
RCON_HOST: z.string().default("127.0.0.1"),
RCON_PORT: z.coerce.number().int().positive().default(3001),
RCON_TIMEOUT_MS: z.coerce.number().int().positive().default(10_000),
RCON_MAX_RETRIES: z.coerce.number().int().positive().default(3),
// Emulator transport selection. "rcon" uses the raw-JSON TCP protocol
// above; "api" uses an HTTP endpoint that accepts the same
// Emulator transport selection. "api" uses an HTTP endpoint that accepts the same
// `{"key":...,"data":...}` payload (for emulators without RCON).
EMULATOR_MODE: z.enum(["rcon", "api"]).default("rcon"),
EMULATOR_MODE: z.enum(["rcon", "api"]).default("api"),
// HTTP endpoint used when EMULATOR_MODE=api. Required in that mode.
EMULATOR_API_URL: z.string().url().optional(),
EMULATOR_API_URL: z.string().url(),
// Optional bearer/key auth for the API transport. When set, it is sent
// as `${EMULATOR_API_KEY_HEADER}: ${EMULATOR_API_KEY}` (default header
// "Authorization").