PDA

Просмотр полной версии : Получение данных о сервере


oplis
13.02.2023, 16:48
можно ли получить список игроков на сервере в текущий момент?

используя ответ из данной темы - https://www.blast.hk/threads/91174/ (https://forum.antichat.xyz/threads/1391174/) получал вместо списка игроков пустой массив

TastyBread123
17.02.2023, 02:02
Код:






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'
)




https://forum.antichat.xyz/attachments/28257750/img_4f63a0cae8.png

Некоторые сервера(аризона, евольв и др) отключают список игроков, и поэтому в ответ ты получаешь пустой массив

yung milonov
17.02.2023, 02:22
Некоторые сервера(аризона, евольв и др) отключают список игроков, и поэтому в ответ ты получаешь пустой массив


список игроков показывается на всех серверах, если онлайн ниже 100

TastyBread123
17.02.2023, 02:26
список игроков показывается на всех серверах, если онлайн ниже 100



https://forum.antichat.xyz/attachments/28257757/img_9cccda8f9d.png

Какая то копия арз вынуждена не согласится

https://forum.antichat.xyz/attachments/28257757/img_54c521f04d.png

P.S. Не реклама

oplis
19.02.2023, 11:54
Код:






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'
)




Некоторые сервера(аризона, евольв и др) отключают список игроков, и поэтому в ответ ты получаешь пустой массив


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

либо есть более простые способы?

TastyBread123
19.02.2023, 12:02
то есть чтобы получить список игроков например аризоны/родины нужен программный заход на сервер, и через json/xml передать список игроков?


Может быть и можно, таким вопросом я еще не занимался)

kru_tin
19.02.2023, 15:13
то есть чтобы получить список игроков например аризоны/родины нужен программный заход на сервер, и через json/xml передать список игроков?
либо есть более простые способы?


парси сайт аризоны

fedos
20.02.2023, 11:04
парси сайт аризоны


подскажи, а где на сайте аризоны найти фулл список игроков, которые сейчас на серваке?

я вижу лишь списки фракций, рейтинги и тп..

oplis
20.02.2023, 18:31
парси сайт аризоны


списка игроков нету же там

kru_tin
21.02.2023, 06:11
подскажи, а где на сайте аризоны найти фулл список игроков, которые сейчас на серваке?
я вижу лишь списки фракций, рейтинги и тп..





списка игроков нету же там


а, да, сорян, перепутал с фракциями

тогда скорее всего остается лишь один вариант получить список игроков:

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

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