Vítejte na stránkách Asgard's serveru !, přehled novinek





V posledním článku věnovaném HL Server queries se podíváme na to nejdůležitější a tím je nejnovější protocol, který používá většina serverů. Queries je celkem pět a u každé najdete přesný tvar včetně příkladů, jak má datová část datagramu vypadat. Dále také uvidíte, jak má vypadat odpověď.

New server queries


Nový protokol používá má podobný obsah datagramů nicméně, pokud se chcete držet starého protokolu dostanete odpověď pouze na datagram se stringem ping. V novém protokolu bylo hlavní změnou použítí takzvaného challenge number ( dále jen challenge ). Challenge jsou čtyři bytes, které dostanete jako odpověď na požadavek A2S_SERVERQUERY_GETCHALLENGE . Challenge number, které dostanete od serveru je platné 60 minut nebo dokud ho serveru neuvolní z LRU cache ( LRU = last recently used ). Požadavků je více oproti starému protokolu a jsou trochu jinak pojmenované.


Queries

 

Název

Komentář

A2S_SERVERQUERY_GETCHALLENGE

Požádá o zaslání challenge.

A2A_PING

Slouží pouze k získání odezvy serveru.

A2S_INFO

Požádá o základní infomace o serveru ( název, mapa, počet připojených atd. ).

A2S_PLAYER

Požádá o informace o hráčí ch( nicknames, kills, time connected ).

A2S_RULES

Požádá o informace o pravidlech server ( sv_ , cl_, mp_ proměnné ).


A2S_SERVERQUERY_GETCHALLENGE

Datagram který, požádá server o přidělení challenge number.


Request

Typ

Hodnota

Komentář

integer

-1 (0xFF FF FF FF )

Začátek datové části datagramu

byte

ASCII 'i' nebo 0x57

Byte obsahuje hodnotu, která v ASCII odpovídá znaku 'i'. Není nutné tedy používat žádný string oproti starému protokolu.

Příklad

FF|FF|FF|FF|57


Response

Typ

Hodnota

Komentář

integer

-1 (0xFF FF FF FF )

Začátek datové části datagramu

byte

ASCII 'A' nebo 0x41

Byte obsahuje hodnotu, která v ASCII odpovídá znaku 'A'. Potvrzuje tím odpověď na požadavek getchallenge.

4 - bytes

nedefinovaná

Čtyři bytes čísla = challenge

Příklad

FF|FF|FF|FF|41|25|7C|F4|3C

 

Červeně je označeno zaslané challenge number


A2A_PING

Request

Typ

Hodnota

Komentář

integer

-1 (0xFF FF FF FF )

Začátek datové části datagramu

byte

ASCII 'i' nebo 0x69

Byte obsahuje hodnotu, která v ASCII odpovídá znaku 'i'. Není nutné tedy používat žádný string oproti starému protokolu.

Příklad

FF|FF|FF|FF|69


Response

Typ

Hodnota

Komentář

integer

-1 (0xFF FF FF FF )

Začátek datové části datagramu

byte

ASCII 'j' nebo 0x6A

Byte obsahuje hodnotu, která v ASCII odpovídá znaku 'j'. Potvrzuje tím odpověď na požadavek ping.

Příklad

FF|FF|FF|FF|6A


A2S_INFO

Request

Typ

Hodnota

Komentář

integer

-1 (0xFF FF FF FF )

Začátek datové části datagramu

byte

ASCII 'T' nebo 0x54

Byte obsahuje hodnotu, která v ASCII odpovídá znaku 'T'.

string

''Source Engine Query ''

String určený k poslání požadavku pro zjištění informací o serveru.

byte

0x00

Ukončení stringu.

Příklad

FF|FF|FF|FF|57


Response

Typ

Hodnota

Komentář

integer

-1 (0xFF FF FF FF )

Začátek datové části datagramu

byte

ASCII 'm' nebo 0x6D

Byte obsahuje hodnotu, která v ASCII odpovídá znaku 'm'.

string

nedefinováno

IP a port serveru.

string

nedefinováno

hostname serveru.

string

nedefinováno

Mapa která se právě na serveru hraje.

string

nedefinováno

Složka hry ( např. cstrike ).

string

nedefinováno

Popis hry ( např. Counter-Strike ).

byte

nedefinováno

Počet aktuálních hráčů.

byte

nedefinováno

Maximální možný počet hráčů na serveru.

byte

nedefinováno

Verze

byte

'd' nebo 'l' nebo 'p'

Typ serveru ( d = dedicated, l = listen, p = HLTV )

byte

'l' nebo 'w'

Typ OS ( w = Windows, l = Linux )

byte

0 nebo 1

Server je zaheslovaný ( 0 = ne, 1 = ano )

byte

0 nebo 1

IsMod – jedná se o mód ( 0 = ne, 1 = ano )

Následujicí informace jsou v datagramu obsaženy pouze pokud je byte IsMod nastaven na hodnotu 1 !

string

nedefinováno

URL obsahující informace o módu

string

nedefinováno

URL ke stažení tohoto módu

byte

0x00

oddělovač

long

nedefinováno

Verze nainstalovaného módu

long

nedefinováno

Velikost módu

byte

0 nebo 1

Je mód pouze ServerSide ( není potřeba, aby ho klient instaloval )

byte

0 nebo 1

Má tento mód vlasní DLL ( knihovna )

Zde končí sekce informací o módu !

byte

0 nebo 1

Zabezpečeno VACem ( 0 = ne, 1 = ano )

byte

nedefinováno

Počet botů na serveru.

Příklad

A2SInfo



 

A2S_PLAYER

Datagram obsahuje počet hráčů na server, poté následují data o každém hráči se stejnou strukturou. Tento požadavek musí v datagramu obsahovat challenge number !


Request

Typ

Hodnota

Komentář

integer

-1 (0xFF FF FF FF )

Začátek datové části datagramu

byte

0x55

Byte obsahuje hodnotu, která je hexidecimálně 55.

4-bytes

nedefinovaná

Challenge number získané pomocí požadavku A2S_SERVERQUERY_GETCHALLENGE

Příklad

FF|FF|FF|55|89|62|4D|72


Response

Typ

Hodnota

Komentář

integer

-1 (0xFF FF FF FF )

Začátek datové části datagramu

byte

ASCII 'D' nebo 0x44

Byte obsahuje hodnotu, která v ASCII odpovídá znaku 'D'. Potvrzuje tím odpověď na požadavek players.

byte

nedefinovaná

Počet hráčů, o kterých datagram nese informace.

Následující část se opakuje podle počtu hráčů

byte

nedefinovaná

Index hráče.

string

nedefinovaná

Nickname hráče.

long

nedefinovaná

Počet fragů hráče.

float

nedefinovaná

Doba připojení hráče ve vteřinách

Příklad

A2SPlayer





A2S_RULES

Datagram obsahuje počet pravidel serveru, poté následují data o každém pravidlu se stejnou strukturou. Tento požadavek musí v datagramu obsahovat challenge number !


Request

Typ

Hodnota

Komentář

integer

-1 (0xFF FF FF FF )

Začátek datové části datagramu

byte

0x56

Byte obsahuje hodnotu, která je hexidecimálně 56.

4-bytes

nedefinovaná

Challenge number získané pomocí požadavku A2S_SERVERQUERY_GETCHALLENGE

Příklad

FF|FF|FF|56|89|62|4D|72


Response

Typ

Hodnota

Komentář

integer

-1 (0xFF FF FF FF )

Začátek datové části datagramu

byte

ASCII 'E' nebo 0x45

Byte obsahuje hodnotu, která v ASCII odpovídá znaku 'E'. Potvrzuje tím odpověď na požadavek rules.

byte

nedefinovaná

Počet pravidel, o kterých datagram nese informace.

Následující část se opakuje podle počtu hráčů

string

nedefinovaná

Název pravidla ( proměnné ).

string

nedefinovaná

Hodnota pravidla ( proměnné ).

Příklad

A2SRules

V tomto příkladě je vidět, že datová část datagramu začíná hodnotou FE, to je informace o tom, že data jsou rozdělena do více datagramů a je potřeba si vyžádat další. O něco dále již data v datagramu pokračují standartně podle daných pravidel.


 

Remote Control ( RCON )

Pro poslání rcon příkazu je nutné poslat dva datagramy první obsahuje výzvu pro zaslaní rcon challenge number, druhý pak přijaté rcon challenge number a samotný příkaz.


 

Request -rcon challenge

Typ

Hodnota

Komentář

integer

-1 (0xFF FF FF FF )

Začátek datové části datagramu

string

''challenge rcon \n''

String obsahuje příkaz pro zaslání rcon challenge number ukončený je znakem pro konec řádku.

byte

0x00

Ukončení stringu.

Příklad

RconChallenge



Response – rcon challenge

Typ

Hodnota

Komentář

integer

-1 (0xFF FF FF FF )

Začátek datové části datagramu

string

''challenge rcon \n''

String obsahuje příkaz pro zaslání rcon challenge number ukončený je znakem pro konec řádku.

string

nedefinovaná

Rcon challenge number – v string formátu

byte

0x00

Ukončení stringu.

Příklad

RconChallengeResponse



Request – rcon command

Typ

Hodnota

Komentář

integer

-1 (0xFF FF FF FF )

Začátek datové části datagramu

string

''rcon''+number+password+ command

Password by mělo být správně v uvozovkách, number je získané rcon challenge number opět ve stringu.

byte

0x00

Ukončení stringu.

Příklad

RconCommand


Request – rcon command

Typ

Hodnota

Komentář

integer

-1 (0xFF FF FF FF )

Začátek datové části datagramu

byte

nedefinováno

 

string

nedefinováno

Odpověď serveru na příkaz.



» Jít zpět








Counter Strike 1.6 servery

Asgard's server public 1.6
cs.asgards-server.net:27015
protokol: 47,48/NS

Asgard's server AWM 1.6
cs.asgards-server.net:27016
protokol: 47,48/NS

Asgard's server DM 1.6
cs.asgards-server.net:27017
protokol: 47,48/NS

Asgard's server W3 1.6
cs.asgards-server.net:27018
protokol: 47,48/NS

Asgard's server public 1.6
cs.asgards-server.net:27019
protokol: 47,48/NS

Kontakty

deadly_hawk
204-703-587
deadlyhawk@a-fw.net
- hlavní admin
- správa webu a AGC
- technický správce serveru
- dohled na HW a SW serveru

Nightly_Falcon
274-916-654
nightlyfalcon@a-fw.net
- hlavní admin
- administrace CS a VT serverů
- dohled nad financemi
- rešení plateb za servery
- dotazy na pronájem serverů

Kyle_Katarn
174-854-843
kylekatarn@a-fw.net
- admin CS serverů
- cheathunter

J.C. Panda
179-509-187
jcpanda@a-fw.net
- admin CS serverů
- cheathunter

Hardware serveru Lara

MotherBoard : ASUS K8N-DL
CPU: 4x AMD Opteron 64-bit
Memory: 6 GB, 400 Mhz, ECC
HDD: 500 GB SATA II RAID 5
Radič: 9650SE-4LPML
Case: 2U SC822T-550LP
Connect: 100 Mb/s

Informace o firmě

: 74233866
Číslo účtu : 2020500052
Kód banky: 5500
Nejsme plátci DPH

Spolupracujeme s

BlackSheeps