Получение данных о сервере

oplis

Новичок
Автор темы
3
0
можно ли получить список игроков на сервере в текущий момент?
используя ответ из данной темы - https://www.blast.hk/threads/91174/ получал вместо списка игроков пустой массив
 

TastyBread123

Известный
631
301
Код:
from samp_client.client import SampClient #pip install samp_client

def getsamp(ip: str, port: int):
    with SampClient(address=ip, port=7777) as client:
        info = client.get_server_info() #инфа о сервере
        clients = client.get_server_clients_detailed() #инфа о игроках
    
    print(f'Онлайн: {info.players}/{info.max_players}\n\n')

    for i in clients: #перебираем и рассматриваем данные игроков
        print(f"Игрок: {i.name}\nУровень: {i.score}\nТекущий пинг: {i.ping}", end='\n\n')

1676584888881.png


Некоторые сервера(аризона, евольв и др) отключают список игроков, и поэтому в ответ ты получаешь пустой массив
 
  • Вау
  • Нравится
Реакции: oplis и qdIbp

yung milonov

Известный
1,023
528
Некоторые сервера(аризона, евольв и др) отключают список игроков, и поэтому в ответ ты получаешь пустой массив
список игроков показывается на всех серверах, если онлайн ниже 100
 
  • Нравится
Реакции: moreveal

TastyBread123

Известный
631
301
Последнее редактирование:
  • Эм
Реакции: qdIbp

oplis

Новичок
Автор темы
3
0
Код:
from samp_client.client import SampClient #pip install samp_client

def getsamp(ip: str, port: int):
    with SampClient(address=ip, port=7777) as client:
        info = client.get_server_info() #инфа о сервере
        clients = client.get_server_clients_detailed() #инфа о игроках
 
    print(f'Онлайн: {info.players}/{info.max_players}\n\n')

    for i in clients: #перебираем и рассматриваем данные игроков
        print(f"Игрок: {i.name}\nУровень: {i.score}\nТекущий пинг: {i.ping}", end='\n\n')

Посмотреть вложение 190270

Некоторые сервера(аризона, евольв и др) отключают список игроков, и поэтому в ответ ты получаешь пустой массив
то есть чтобы получить список игроков например аризоны/родины нужен программный заход на сервер, и через json/xml передать список игроков?
либо есть более простые способы?
 
Последнее редактирование:

TastyBread123

Известный
631
301
то есть чтобы получить список игроков например аризоны/родины нужен программный заход на сервер, и через json/xml передать список игроков?
Может быть и можно, таким вопросом я еще не занимался)
 

kru_tin

Активный
127
33
то есть чтобы получить список игроков например аризоны/родины нужен программный заход на сервер, и через json/xml передать список игроков?
либо есть более простые способы?
парси сайт аризоны
 

kru_tin

Активный
127
33
подскажи, а где на сайте аризоны найти фулл список игроков, которые сейчас на серваке?
я вижу лишь списки фракций, рейтинги и тп..
списка игроков нету же там
а, да, сорян, перепутал с фракциями

тогда скорее всего остается лишь один вариант получить список игроков:
1) Пишешь скриптик на раксамп (lua), обрабатываешь всех игроков (вход, выход, и т.д, упор лишь в твою логику) >> отправляешь на сервер этот список​
2) Пишешь сервер(протокол выбери под твои нужды), который будет принимать этот список >> делаешь с этим список шо хочешь​

p.s чисто в теории можно будет обойтись и без сервера, если это все будет (раксамп и твой основной скрипт) на одной виртуалке, например работать с файлами, либо в память все это записывать, это даже будет наверное правильнее
 
  • Нравится
Реакции: oplis