module.exports = async function handler(request, response) {
  response.setHeader('Cache-Control', 's-maxage=30, stale-while-revalidate=60');
  try {
    const result = await fetch('https://servers-frontend.fivem.net/api/servers/single/qlxp84', {
      headers: { 'Accept': 'application/json', 'User-Agent': 'Mozilla/5.0 UrbanProtocol/1.0' },
      signal: AbortSignal.timeout(7000)
    });
    if (!result.ok) throw new Error(`FiveM API: ${result.status}`);
    const payload = await result.json();
    const data = payload.Data || payload.data;
    if (!data) throw new Error('Dati FiveM mancanti');
    return response.status(200).json({
      online: true,
      players: Number(data.clients ?? data.players?.length ?? 0),
      maxPlayers: Number(data.svMaxclients ?? data.vars?.sv_maxClients ?? 0)
    });
  } catch (error) {
    return response.status(503).json({ online: false, players: 0, maxPlayers: 0, error: 'FiveM API unavailable' });
  }
};
