html Функция текущего статуса сервера

Сообщения
17
Реакции
3
Привет, я пытаюсь написать API, используя библиотеку SourceQuery.
Мне нужно мгновенно отобразить статус сервера в API. Какая функция требуется?


Python:
server_info = {
    "Sunucu ismi": info["name"],
    "Sunucu durumu": "Aktif" if info["numplayers"] > 0 else "Pasif",
    "Harita İsmi": info["map"],
    "Sunucuda aktif oyuncu isimleri": [player["name"] for player in players]
}
Я думал, что без игроков не будет активного сервера, но может произойти сбой мгновенного подключения к серверу.
info["players"]

вот полный код

Python:
import sourcequery

def get_server_info(ip, port):
    sq = sourcequery.SourceQuery()
    sq.connect((ip, port))

    info = sq.get_info()
    players = sq.get_players()

    server_info = {
        "Sunucu ismi": info["name"],
        "Sunucu durumu": "Aktif" if info["players"] > 0 else "Pasif",
        "Harita İsmi": info["map"],
        "Sunucuda aktif oyuncu isimleri": [player["name"] for player in players]
    }

    return server_info

ip = "sunucu_ip_adresi"  # Sunucu IP
port = 27015  # Sunucu port

server_info = get_server_info(ip, port)

for key, value in server_info.items():
    print(f"{key}: {value}")
 
В этой теме было размещено решение! Перейти к решению.
  • Lol
Реакции: Arni
Сообщения
17
Реакции
3
да, это лучше

JavaScript:
const express = require('express');
const { SourceQuery } = require('source-query');

const app = express();
const port = 3000;

// Sunucu bilgileri
const serverIP = '127.0.0.1'; // Sunucu IP adresi
const serverPort = 27015; // Sunucu portu

app.get('/api/server-status', async (req, res) => {
    const query = new SourceQuery();
    let serverStatus = 'offline'; // Varsayılan durum

    try {
        await query.open(serverIP, serverPort);
        serverStatus = 'online'; // Sunucu çevrimiçi

        const info = await query.getInfo();
        const players = await query.getPlayers();

        res.json({
            serverStatus,
            serverName: info.name,
            map: info.map,
            playerList: players,
        });
    } catch (error) {
        console.error('Error fetching server status:', error);
        res.json({
            serverStatus,
            message: 'Server is offline or unreachable',
        });
    } finally {
        query.close();
    }
});

app.listen(port, () => {
    console.log(`API is running at http://localhost:${port}/api/server-status`);
});
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу