Add Hytale player detection via log parsing
All checks were successful
Deploy GSM / deploy (push) Successful in 26s

- Add getHytalePlayers function to ssh.js that parses server logs
- Track player joins via [Universe|P] Adding player pattern
- Track disconnects via Removing player pattern
- Integrate with rcon.js getPlayers and getPlayerList functions

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-15 14:14:38 +01:00
parent 52a06e435f
commit 9a732c819c
2 changed files with 52 additions and 1 deletions

View File

@@ -1,4 +1,5 @@
import { Rcon } from 'rcon-client';
import { getHytalePlayers } from './ssh.js';
const rconConnections = new Map();
const playerCache = new Map();
@@ -109,6 +110,10 @@ export async function getPlayers(server) {
// Use REST API instead of RCON for Palworld
const data = await getPalworldPlayers(server);
result = { online: data.players?.length || 0, max: null };
} else if (server.type === 'hytale') {
// Use log parsing for Hytale (no RCON support)
const data = await getHytalePlayers(server);
result = { online: data.online, max: 32 };
}
playerCache.set(cacheKey, { data: result, time: Date.now() });
@@ -171,6 +176,10 @@ export async function getPlayerList(server) {
// Use REST API instead of RCON for Palworld
const data = await getPalworldPlayers(server);
players = (data.players || []).map(p => p.name);
} else if (server.type === 'hytale') {
// Use log parsing for Hytale (no RCON support)
const data = await getHytalePlayers(server);
players = data.players || [];
}
const result = { players };