Jump to content
GIGN Forum

Server Query


*jancis38*
 Share

Recommended Posts

  • Replies 93
  • Created
  • Last Reply

Top Posters In This Topic

kā būtu ar spēlētāja team parādīšanu? skatos, ka serveris(source dzinis) tādu fiču neatgriež vispār

jāmēģina kkā ar rcon konektēt un tad lasīt eventus, savādāk nav saprašanas kā to izdarīt...

Edited by bambam
Link to comment
Share on other sites

teamu caur statusa komandām nevar dabūt... vai nu caur rcon vai arī caur kaut kādu sourcemod pluginu var vienkārši ik pa 30 sekundēm datubāzē rakstīt iekšā playeru listu (starpcitu, tā arī gigna CS saraksts strādā galvenajā lapā)

Link to comment
Share on other sites

nu itkā jau sourcemodam defaultie plugini ir apmierinoši, ja vien nevajag kaut ko perversu, bet nu katram jau labāk spriest pēc savām vajadzībām... var jau arī pats savu moduli uzrakstīt, valvei jau tagad laba dokumentācija pieejama ir caur sourcesdk

Link to comment
Share on other sites

Cik reizes šajā topikā ir parādijies links uz manuāli? Daudz.

Server Query var atgriezt tikai spēlētāja vārdu, fragus un laiku.

Ja tavam php skriptam ir pieeja servera shell'am, tad vari ekzecot kaut kādu amx_list (vai nu kas jums tur par komandām, kas uzrāda spēlētājus, fragus, nāves, utt) un apstrādāt saņemtos datus.

Link to comment
Share on other sites

Divas iespējas:

1) Kešo datus, tb ik pa 1min (vai kāds cits laika intervāls) pieprasi datus par serveri un saglabā tos datubāzē. Atjaunošanu veic crontab's (*nix) vai Scheduled Tasks (win). Klientam parādi tos datus, kas šobrīd ir datubāzē. Patiesībā šis variants būtu labāks par otru.

2) Ielādē datus ar Ajax. Klientam atvērs lapu un tikai pēc tam tu slēgsies pie servera.

Link to comment
Share on other sites

Lai dabūtu playeru sarakstu, tev no sākuma ir jādabū challenge numbers... tas varētu stipri aptuveni izskatīties šādi:

PHP

<?

define

('A2S_PLAYER'"\x55");

$response query(A2S_PLAYER "\xFF\xFF\xFF\xFF");

if ( 

getbyte($response) != 0x41 )

  die(

'nedabujaam challenge');

$challenge = @pack("L"getlong($response));

$response query(A2S_PLAYER $challenge);

if ( 

getbyte($response) != 0x44 )

  die(

'nedabujaam playeru sarakstu');

// talak viss naak no dokumentacijas...

$total_players getbyte($response);

for(

$i 0;$i $total_players$i++) {

 

// ...

}

?>

Link to comment
Share on other sites

PHP

<?

define

('A2S_PLAYER'"x55");

$response query(A2S_PLAYER "xFFxFFxFFxFF");

if ( 

getbyte($response) != 0x41 )

die(

'nedabujaam challenge');

$challenge = @pack("L"getlong($response));

$response query(A2S_PLAYER $challenge);

if ( 

getbyte($response) != 0x44 )

die(

'nedabujaam playeru sarakstu');

$total_players getbyte($response);

getbyte($response);

$name getstring($response);

$kills getlong($response);

for(

$i 0;$i $total_players$i++)

{

    echo 

"$name / $kills<br />n";

}

?>

Izvada nika pāris pēdējos burtus, un kills 0, dažreiz kaut kāds liels skaitlis.

Es kaut ko nepareizi daru?

EDIT: Ā, un izvada tikai vienu niku. :fsckinsad:

Edited by *jancis38*
Link to comment
Share on other sites

Tu domā šādi:

PHP

<?php

$total_players 

getbyte($response);

for(

$i 0;$i $total_players$i++)

{

    

$name getstring($response);

    

$kills getlong($response);

    echo 

"$name / $kills<br />\n";

}

?>

Šis variants arī nestrādā.

Fragu skaits palicis, daudzas reizes lielāks (1936289024 un pat vairāk, lol),

un no visiem nikiem precīzi parādīja tikai vienu (sp[A]nky[Z]). :)

Link to comment
Share on other sites

es nesaprotu, jūs visi dokumentāciju kādreiz lasat arī?

Then for each player the following fields are sent:

Index - byte The index into [0.. Num Players] for this entry

Player Name - string Player's name

Kills - long Number of kills this player has

Time connected - float The time in seconds this player has been connected

tieši KURĀ vietā ir rakstīs ka formāts ir 1) name 2) kills ?? no responses ir jālasa PRECĪZI tādā formātā, kāds ir norādīts aprakstā. Un nevar izlaist kādu no getfloat vai getlong... ir jālieto VISI, kas ir prasīti!

nu lūūūūūūdzu pirms savām debīlajām idejām, palasat tomēr doooookuuuuumeeeeeentaaaaaaaaaciiiiiiijuuuuu... PĀĀĀĀLLLDIEEEEEESSS

Link to comment
Share on other sites

Kas varētu būt par iemeslu, ka uz hostinga neiet neviens servera querijs? Hostējos zem nano.lv . Saprotu, ka kaut kas nogriezts, bet ko lai es prasu adminam? "Ēū, man te CS kverijs neiet, lūdzu sataisi!" :lol:

P.S. Errorus nekādus nerāda. Parādās tikai balta lapa. Tas pats skripts uz localhost darbojas.

Edited by conrad
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share


×
×
  • Create New...