// lib/serverConfig.ts // Parse AC server config to get available cars import { promises as fs } from 'fs'; const SERVER_CONFIG_PATH = '/mnt/combined/servers/acserver_EVENTS/utils/cfg/server_cfg.ini'; export async function getAvailableCars(): Promise { try { const content = await fs.readFile(SERVER_CONFIG_PATH, 'utf-8'); // Find the CARS= line const carsLine = content .split('\n') .find(line => line.trim().startsWith('CARS=')); if (!carsLine) { console.error('CARS line not found in server config'); return []; } // Extract cars list after "CARS=" const carsString = carsLine.split('CARS=')[1].trim(); // Split by semicolon and remove duplicates const cars = carsString .split(';') .map(car => car.trim()) .filter(car => car.length > 0); // Remove duplicates using Set const uniqueCars = Array.from(new Set(cars)); return uniqueCars.sort(); } catch (error) { console.error('Error reading server config:', error); return []; } } // Format car name for display (optional - makes it prettier) export function formatCarName(carId: string): string { return carId .replace(/_/g, ' ') .replace(/\b\w/g, char => char.toUpperCase()); }