Server queries/fr

From Valve Developer Community
Jump to: navigation, search

Il est possible d'interroger un serveur de jeu basé sur le moteur Goldsource (Half-Life et ses Mods) ou Source (Half-Life 2 et ses Mods) en utilisant des paquets UDP/IP. Cet article décrit le format des différents paquets pouvant être envoyés ou reçus ainsi que le protocole utilisé pour les acheminer.

Types de données

Chaque requête ou réponse utilise cinq types de base, assemblés pour former un flux de données. Tous ces types sont little-endian, il n'y a donc aucune conversion à effectuer sur un processeur x86.

Type Description
byte Caractère non signé (8 bits).
short Entier court signé (16 bits).
long Entier long signé (32 bits).
float Nombre à virgule flottante (32 bits).
string Suite d'octets de longueur variable terminée par le caractère NUL.

Protocole

La taille des paquets utilisés par le protocole d'interrogation est de 1400 octets (sans compter l'en-tête UDP/IP). Chaque réponse contient un en-tête propre au protocole, mais si une réponse nécessite plus d'un paquet elle sera alors découpée et chaque paquet comprendra un en-tête additionnel.

Réponse simple

Donnée Type Commentaire
En-tête long Toujours égal à -1 (0xFFFFFFFF).
Données

Réponse multi-paquets

Serveur Goldsource

Donnée Type Commentaire
En-tête long Toujours égal à -2 (0xFFFFFFFE).
ID long Numéro unique attribué par le serveur à chaque paquet appartenant à la même réponse.
Nombre et numéro de paquet byte Les 4 bits de poids fort représentent le numéro du paquet courant (en commençant à 0) et les 4 bits de poids faible représentent le nombre total de paquets (de 2 à 15).
Données

Serveur Source

Donnée Type Commentaire
En-tête long Toujours égal à -2 (0xFFFFFFFE).
ID long Même signification que pour un serveur Goldsource, cependant si le bit de poids fort est à 1 alors la réponse a été compressé avec l'algorithme Bzip2 avant d'être découpée. Après avoir récupéré et assemblé tous les paquets il faut décompresser la réponse (avec BZ2_bzBuffToBuffDecompress() en C ou bzdecompress() en PHP par exemple) avant de pouvoir la traiter.
Nombre de paquets byte Nombre total de paquets de la réponse.
Numéro de paquet byte La numérotation commence à 0.
Taille des paquets short Uniquement présent dans la nouvelle version du moteur Source, il s'agit de la taille maximale que peut prendre un paquet avant qu'un découpage ne se produise (auparavant il était impossible de changer cette taille). Cela concerne uniquement le protocole de jeu, dans celui d'interrogation des serveurs il n'est toujours pas possible de demander des paquets de plus petite taille que celle par défaut.

La valeur par défaut est de 1248 octets (0x04E0), mais l'administrateur du serveur peut la diminuer.

Uniquement présent dans le premier paquet (numéro 0) si la réponse a été compressé :
Donnée Type Commentaire
Taille de la réponse long Nombre d'octet qu'occupe la réponse une fois décompressée.
Somme CRC32 long Somme de contrôle CRC32 de la réponse décompressée.
Données

Comme les paquets UDP peuvent arriver dans le désordre et en différé, chaque paquet devrait être contrôlé avec son ID et son numéro pour s'assurer qu'il s'agit toujours de la même réponse et que tous les paquets sont arrivés.

Requêtes

Le format des requêtes est le même que celui des réponses (il est rare de devoir faire une requête multi-paquets toutefois). Les requêtes doivent être envoyées en UDP sur le port d'écoute du serveur (généralement 27015).

A2A_PING

Cette requête qui ne retourne aucune donnée exploitable ne sert qu'à vérifier que le serveur répond correctement. Elle peut être utilisée pour calculer le temps de latence du serveur.

Format de la requête

Donnée Type Valeur
En-tête byte 'i' (105)
FF FF FF FF 69                                     ÿÿÿÿi           

Format de la réponse

Serveur Goldsource

FF FF FF FF 6A 00                                  ÿÿÿÿj.          
Donnée Type Commentaire Valeur de l'exemple
En-tête byte Toujours égal à 'j' (106). 106
Contenu string Toujours une chaîne vide.

Serveur Source

FF FF FF FF 6A 30 30 30 30 30 30 30 30 30 30 30    ÿÿÿÿj00000000000
30 30 30 00                                        000.            
Donnée Type Commentaire Valeur de l'exemple
En-tête byte Toujours égal à 'j' (106). 106
Contenu string Toujours une chaîne composée de quatorze 0. 00000000000000

A2S_INFO

Cette requête permet d'obtenir des informations sur le serveur comme son nom ou le jeu joué actuellement.

Format de la requête

Donnée Type Valeur
En-tête byte 'T' (84)
Contenu string Source Engine Query
FF FF FF FF 54 53 6F 75 72 63 65 20 45 6E 67 69    ÿÿÿÿTSource Engi
6E 65 20 51 75 65 72 79 00                         ne Query.

Format de la réponse

Serveur Goldsource

FF FF FF FF 6D 37 37 2E 31 31 31 2E 31 39 34 2E    ÿÿÿÿm77.111.194.
31 31 30 3A 32 37 30 31 35 00 46 52 20 2D 20 56    110:27015.FR - V
65 72 79 47 61 6D 65 73 2E 6E 65 74 20 2D 20 44    eryGames.net - D
65 61 74 6D 61 74 63 68 20 2D 20 6F 6E 6C 79 20    eatmatch - only 
73 75 72 66 5F 73 6B 69 20 2D 20 6E 67 52 00 73    surf_ski - ngR.s
75 72 66 5F 73 6B 69 00 63 73 74 72 69 6B 65 00    urf_ski.cstrike.
43 6F 75 6E 74 65 72 2D 53 74 72 69 6B 65 00 0C    Counter-Strike..
12 2F 64 6C 00 01 77 77 77 2E 63 6F 75 6E 74 65    ./dl..www.counte
72 2D 73 74 72 69 6B 65 2E 6E 65 74 00 00 00 01    r-strike.net....
00 00 00 00 9E F7 0A 00 01 01 00                   ....ž÷.....
Donnée Type Commentaire Valeur de l'exemple
En-tête byte Toujours égal à 'm' (109). 109
Adresse string Adresse IP et port du serveur. 77.111.194.110:27015
Nom string Nom du serveur. FR - VeryGames.net - Deatmatch - only surf_ski - ngR
Carte string Nom de la carte jouée actuellement. surf_ski
Dossier string Nom du dossier contenant les fichiers du jeu. cstrike
Jeu string Nom complet du jeu. Counter-Strike
Joueurs byte Nombre de joueurs actuellement en train de jouer 12
Places byte Nombre maximum de joueurs que le serveur peut accueillir. 18
Protocole byte Version du protocole utilisé par le serveur. 47
Serveur byte Indique le type du serveur :
  • 'd' pour un serveur dédié
  • 'l' pour un serveur non dédié
  • 'p' pour un serveur HLTV
'd'
Environnement byte Indique le système d'exploitation du serveur :
  • 'l' pour Linux
  • 'w' pour Windows
'l'
Visibilité byte Indique si le serveur requiert un mot de passe :
  • 0 pour public
  • 1 pour privé
0
Mod byte Indique si le jeu est un Mod : 1
Uniquement présent si le jeu est un Mod :
Donnée Type Commentaire Valeur de l'exemple
Lien string URL du site d'information du Mod. www.counter-strike.net
Lien de téléchargement string URL du site où télécharger le Mod.
byte Toujours égal à 0. 0
Version long Version du Mod installée sur le serveur. 1
Taille long Espace (en octet) qu'occupe le Mod sur le disque dur. 184000000
Genre byte Indique le genre du Mod :
  • 0 pour un Mod solo et multijoueur
  • 1 pour un Mod uniquement multijoueur
0
Dll byte Indique si le Mod utilise sa propre dll :
  • 0 pour la dll d'Half-Life
  • 1 pour une dll propriétaire
1
VAC byte Indique si le serveur utilise le VAC :
  • 0 pour non sécurisé
  • 1 pour sécurisé
1
Bots byte Nombre de bots présents sur le serveur. 0
Note.pngNote: Un serveur HLTV répondra parfois avec une fin de requête incomplète ou erronée (si le nombre de places est de 255).

Serveur Source

FF FF FF FF 49 07 50 75 62 6C 69 63 20 53 65 72    ÿÿÿÿI.Public Ser
76 65 72 20 54 69 63 6B 20 31 30 30 20 77 77 77    ver Tick 100 www
2E 6C 61 72 75 73 68 2E 64 65 00 64 6D 5F 6C 6F    .larush.de.dm_lo
63 6B 64 6F 77 6E 00 68 6C 32 6D 70 00 54 65 61    ckdown.hl2mp.Tea
6D 20 44 65 61 74 68 6D 61 74 63 68 00 40 01 0F    m Deathmatch.@..
10 00 64 77 00 01 31 2E 30 2E 30 2E 31 32 00       ..dw..1.0.0.12.
Donnée Type Commentaire Valeur de l'exemple
En-tête byte Toujours égal à 'I' (73). 73
Protocole byte Version du protocole utilisé par le serveur. 7
Nom string Nom du serveur. Public Server Tick 100 www.larush.de
Carte string Nom de la carte jouée actuellement. dm_lockdown
Dossier string Nom du dossier contenant les fichiers du jeu. hl2mp
Jeu string Nom complet du jeu. Team Deathmatch
AppID short Steam Application ID du jeu. 320
Joueurs byte Nombre de joueurs actuellement en train de jouer 15
Places byte Nombre maximum de joueurs que le serveur peut accueillir. 16
Bots byte Nombre de bots présents sur le serveur. 0
Serveur byte Indique le type du serveur :
  • 'd' pour un serveur dédié
  • 'l' pour un serveur non dédié
  • 'p' pour un serveur SourceTV
'd'
Environnement byte Indique le système d'exploitation du serveur :
  • 'l' pour Linux
  • 'w' pour Windows
'w'
Visibilité byte Indique si le serveur requiert un mot de passe :
  • 0 pour public
  • 1 pour privé
0
VAC byte Indique si le serveur utilise le VAC :
  • 0 pour non sécurisé
  • 1 pour sécurisé
1
Uniquement s'il s'agit d'un serveur The Ship :
Donnée Type Commentaire Exemple de valeur
Mode byte Indique le mode de jeu :
  • 0 pour Hunt
  • 1 pour Elimination
  • 2 pour Duel
  • 3 pour Deathmatch
  • 4 pour Team VIP
  • 5 pour Team Elimination
0
Témoins byte Nombre minimum de témoins nécessaire pour qu'un joueur se fasse arrêter. 2
Durée byte Durée (en seconde) avant qu'un joueur ne se fasse arrêter quand il est vu par un/des témoin(s). 1
Version string Version du jeu installée sur le serveur. 1.0.0.12
IDS byte Indice de données supplémentaires. Si présent, indique quel type de données est ajouté en fin de réponse.
Uniquement si (IDS & 0x80) :
Donnée Type Commentaire Exemple de valeur
Port short Port du serveur de jeu. 27015
Uniquement si (IDS & 0x40) :
Donnée Type Commentaire Exemple de valeur
Port spectateur short Port permettant de se connecter au serveur SourceTV. 27030
Nom SourceTV string Nom du serveur SourceTV présent sur le serveur. DragonTV
Uniquement si (IDS & 0x20) :
Donnée Type Commentaire
Mots-clés string Mots-clés du jeu proposé par le serveur (pas encore implémenté).
Note.pngNote: Les serveurs de jeu SiN 1 Multiplayer et Rag Doll Kung Fu répondent également à cette requête, dans le même format qu'un serveur Source.
Note.pngNote: Sur un serveur Rag Doll Kung Fu le type de serveur est toujours égal à 0.

A2S_SERVERQUERY_GETCHALLENGE

Les serveurs ne répondent à certaines requêtes que si un nombre particulier (appelé challenge) y est joint. La requête ci-dessous permet d'obtenir ce challenge.

Format de la requête

Donnée Type Valeur
En-tête byte 'W' (87)
FF FF FF FF 57                                     ÿÿÿÿW           

Format de la réponse

FF FF FF FF 41 4B A1 D5 22                         ÿÿÿÿAK¡Õ"       
Donnée Type Commentaire Valeur de l'exemple
En-tête byte Toujours égal à 'A' (65). 65
Challenge long Nombre à joindre aux requêtes le nécessitant. 584425803

A2S_PLAYER

Cette requête permet d'obtenir des informations sur les joueurs actuellement présents sur le serveur.

Note.pngNote: Cette requête nécessite un challenge.
Note.pngNote: Un serveur SourceTV ne répondra pas à cette requête.

Format de la requête

Donnée Type Valeur
En-tête byte 'U' (85)
Challenge long variable
FF FF FF FF 55 ED 9A E1 0C                         ÿÿÿÿUíšá.       

Format de la réponse

FF FF FF FF 44 02 01 5B 44 5D 2D 2D 2D 2D 3E 54    ÿÿÿÿD..[D]---->T
2E 4E 2E 57 3C 2D 2D 2D 2D 00 0E 00 00 00 B4 97    .N.W<----.....´—
00 44 02 4B 69 6C 6C 65 72 20 21 21 21 00 05 00    .D.Killer !!!...
00 00 69 24 D9 43                                  ..i$ÙC
Donnée Type Commentaire Valeur de l'exemple
En-tête byte Toujours égal à 'D' (68). 68
Joueurs byte Nombre de joueurs dont les informations sont fournies. 2
Pour chaque joueur présent dans la réponse on trouve les données suivantes :
Donnée Type Commentaire
Index byte Numéro du joueur dans cette réponse.
Nom string Nom du joueur.
Score long Score du joueur (généralement le nombre de frags).
Durée float Durée (en seconde) depuis laquelle le joueur est connecté sur le serveur.
1 [D]---->T.N.W<---- 14 514.37036
2 Killer !!! 5 434.28445
Note.pngNote: Lorsqu'un joueur est en train de se connecter au serveur il est comptabilisé dans le nombre de joueurs de la réponse, mais ces données ne sont pas contenues dans cette dernière.

A2S_RULES

Cette requête permet d'obtenir des informations sur la configuration (les règles) du serveur.

Note.pngNote: Cette requête nécessite un challenge.

Format de la requête

Donnée Type Valeur
En-tête byte 'V' (86)
Challenge long variable
FF FF FF FF 56 4B A1 D5 22                         ÿÿÿÿVK¡Õ"       

Format de la réponse

Note.pngNote: La réponse à cette requête est généralement multi-paquets.
FE FF FF FF 56 0A 00 00 02 FF FF FF FF 45 5D 00    þÿÿÿV....ÿÿÿÿE].
5F 74 75 74 6F 72 5F 62 6F 6D 62 5F 76 69 65 77    _tutor_bomb_view
61 62 6C 65 5F 63 68 65 63 6B 5F 69 6E 74 65 72    able_check_inter
76 61 6C 00 30 2E 35 00 5F 74 75 74 6F 72 5F 64    val.0.5._tutor_d
65 62 75 67 5F 6C 65 76 65 6C 00 30 00 5F 74 75    ebug_level.0._tu
74 6F 72 5F 65 78 61 6D 69 6E 65 5F 74 69 6D 65    tor_examine_time
00 30 2E 35 00 5F 74 75 74 6F 72 5F 68 69 6E 74    .0.5._tutor_hint
5F 69 6E 74 65 72 76 61 6C 5F 74 69 6D 65 00 31    _interval_time.1
30 2E 30 00 5F 74 75 74 6F 72 5F 6C 6F 6F 6B 5F    0.0._tutor_look_
61 6E 67 6C 65 00 31 30 00 5F 74 75 74 6F 72 5F    angle.10._tutor_
6C 6F 6F 6B 5F 64 69 73 74 61 6E 63 65 00 32 30    look_distance.20
30 00 5F 74 75 74 6F 72 5F 6D 65 73 73 61 67 65    0._tutor_message
5F 63 68 61 72 61 63 74 65 72 5F 64 69 73 70 6C    _character_displ
61 79 5F 74 69 6D 65 5F 63 6F 65 66 66 69 63 69    ay_time_coeffici
65 6E 74 00 30 2E 30 37 00 5F 74 75 74 6F 72 5F    ent.0.07._tutor_
6D 65 73 73 61 67 65 5F 6D 69 6E 69 6D 75 6D 5F    message_minimum_
64 69 73 70 6C 61 79 5F 74 69 6D 65 00 31 00 5F    display_time.1._
74 75 74 6F 72 5F 6D 65 73 73 61 67 65 5F 72 65    tutor_message_re
70 65 61 74 73 00 35 00 5F 74 75 74 6F 72 5F 76    peats.5._tutor_v
69 65 77 5F 64 69 73 74 61 6E 63 65 00 31 30 30    iew_distance.100
30 00 61 6C 6C 6F 77 5F 73 70 65 63 74 61 74 6F    0.allow_spectato
72 73 00 31 00 61 6D 78 5F 63 6C 69 65 6E 74 5F    rs.1.amx_client_
6C 61 6E 67 75 61 67 65 73 00 31 00 61 6D 78 5F    languages.1.amx_
6C 61 6E 67 75 61 67 65 00 66 72 00 61 6D 78 5F    language.fr.amx_
6E 65 78 74 6D 61 70 00 64 65 5F 61 7A 74 65 63    nextmap.de_aztec
00 61 6D 78 5F 74 69 6D 65 6C 65 66 74 00 30 30    .amx_timeleft.00
3A 30 30 00 61 6D 78 6D 6F 64 78 5F 76 65 72 73    :00.amxmodx_vers
69 6F 6E 00 31 2E 37 36 64 00 63 6F 6F 70 00 30    ion.1.76d.coop.0
00 63 73 64 6D 5F 61 63 74 69 76 65 00 31 00 63    .csdm_active.1.c
73 64 6D 5F 76 65 72 73 69 6F 6E 00 32 2E 31 00    sdm_version.2.1.
64 65 61 74 68 6D 61 74 63 68 00 31 00 64 65 63    deathmatch.1.dec
61 6C 66 72 65 71 75 65 6E 63 79 00 36 30 00 65    alfrequency.60.e
64 67 65 66 72 69 63 74 69 6F 6E 00 32 00 68 6F    dgefriction.2.ho
73 74 61 67 65 5F 64 65 62 75 67 00 30 00 68 6F    stage_debug.0.ho
73 74 61 67 65 5F 73 74 6F 70 00 30 00 68 75 6D    stage_stop.0.hum
61 6E 73 5F 6A 6F 69 6E 5F 74 65 61 6D 00 61 6E    ans_join_team.an
79 00 6A 74 70 31 30 31 38 31 00 63 68 75 74 65    y.jtp10181.chute
00 6D 61 78 5F 71 75 65 72 69 65 73 5F 73 65 63    .max_queries_sec
00 31 00 6D 61 78 5F 71 75 65 72 69 65 73 5F 73    .1.max_queries_s
65 63 5F 67 6C 6F 62 61 6C 00 31 00 6D 61 78 5F    ec_global.1.max_
71 75 65 72 69 65 73 5F 77 69 6E 64 6F 77 00 31    queries_window.1
00 6D 65 74 61 6D 6F 64 5F 76 65 72 73 69 6F 6E    .metamod_version
00 31 2E 31 39 00 6D 70 5F 61 6C 6C 6F 77 6D 6F    .1.19.mp_allowmo
6E 73 74 65 72 73 00 30 00 6D 70 5F 61 75 74 6F    nsters.0.mp_auto
6B 69 63 6B 00 30 00 6D 70 5F 61 75 74 6F 74 65    kick.0.mp_autote
61 6D 62 61 6C 61 6E 63 65 00 30 00 6D 70 5F 62    ambalance.0.mp_b
75 79 74 69 6D 65 00 39 39 39 39 00 6D 70 5F 63    uytime.9999.mp_c
34 74 69 6D 65 72 00 33 35 00 6D 70 5F 63 68 61    4timer.35.mp_cha
74 74 69 6D 65 00 35 00 6D 70 5F 63 6F 6E 73 69    ttime.5.mp_consi
73 74 65 6E 63 79 00 31 00 6D 70 5F 66 61 64 65    stency.1.mp_fade
74 6F 62 6C 61 63 6B 00 30 00 6D 70 5F 66 6C 61    toblack.0.mp_fla
73 68 6C 69 67 68 74 00 31 00 6D 70 5F 66 6F 6F    shlight.1.mp_foo
74 73 74 65 70 73 00 31 00 6D 70 5F 66 6F 72 63    tsteps.1.mp_forc
65 63 61 6D 65 72 61 00 30 00 6D 70 5F 66 6F 72    ecamera.0.mp_for
63 65 63 68 61 73 65 63 61 6D 00 30 00 6D 70 5F    cechasecam.0.mp_
66 72 61 67 73 6C 65 66 74 00 30 00 6D 70 5F 66    fragsleft.0.mp_f
72 65 65 66 6F 72 61 6C 6C 00 30 00 6D 70 5F 66    reeforall.0.mp_f
72 65 65 7A 65 74 69 6D 65 00 32 00 6D 70 5F 66    reezetime.2.mp_f
72 69 65 6E 64 6C 79 66 69 72 65 00 30 00 6D 70    riendlyfire.0.mp
5F 67 68 6F 73 74 66 72 65 71 75 65 6E 63 79 00    _ghostfrequency.
30 2E 31 00 6D 70 5F 68 6F 73 74 61 67 65 70 65    0.1.mp_hostagepe
6E 61 6C 74 79 00 31 33 00 6D 70 5F 6B 69 63 6B    nalty.13.mp_kick
70 65 72 63 65 6E 74 00 30 00 6D 70 5F 6C 69 6D    percent.0.mp_lim
69 74 74 65 61 6D 73 00 30 00 6D 70 5F 6C 6F 67    itteams.0.mp_log
64 65 74 61 69 6C 00 33 00 6D 70 5F 6C 6F 67 66    detail.3.mp_logf
69 6C 65 00 31 00 6D 70 5F 6C 6F 67 6D 65 73 73    ile.1.mp_logmess
61 67 65 73 00 31 00 6D 70 5F 6D 61 70 76 6F 74    ages.1.mp_mapvot
65 72 61 74 69 6F 00 31 00 6D 70 5F 6D 61 78 72    eratio.1.mp_maxr
6F 75 6E 64 73 00 30 00 6D 70 5F 6D 69 72 72 6F    ounds.0.mp_mirro
72 64 61 6D 61 67 65 00 30 00 6D 70 5F 70 6C 61    rdamage.0.mp_pla
79 65 72 69 64 00 30 00 6D 70 5F 72 6F 75 6E 64    yerid.0.mp_round
74 69 6D 65 00 33 00 6D 70 5F 73 74 61 72 74 6D    time.3.mp_startm
6F 6E 65 79 00 38 30 30 00 6D 70 5F 74 69 6D 65    oney.800.mp_time
6C 65 66 74 00 30 00 6D 70 5F 74 69 6D 65 6C 69    left.0.mp_timeli
6D 69 74 00 30 00 6D 70 5F 74 6B 70 75 6E 69 73    mit.0.mp_tkpunis
68 00 30 00 6D 70 5F 77 69 6E 64 69 66 66 65 72    h.0.mp_windiffer
65 6E 63 65 00 31 00 6D 70 5F 77 69 6E 6C 69 6D    ence.1.mp_winlim
69 74 00 30 00 70 61 75 73 61 62 6C 65 00 31 00    it.0.pausable.1.
73 76 5F 61 63 63 65 6C 65 72 61 74 65 00 35 00    sv_accelerate.5.
73 76 5F 61 69 6D 00 30 00 73 76 5F 61 69 72 61    sv_aim.0.sv_aira
63 63 65 6C 65 72 61 74 65 00 31 30 30 00 73 76    ccelerate.100.sv
5F 61 69 72 6D 6F 76 65 00 31 00 73 76 5F 61 6C    _airmove.1.sv_al
6C 6F 77 75 70 6C 6F 61 64 00 31 00 73 76 5F 61    lowupload.1.sv_a
6C 6C 74 61 6C 6B 00 31 00 73 76 5F 62 6F 75 6E    lltalk.1.sv_boun
63 65 00 31 00 73 76 5F 63 68 65 61 74 73 00 30    ce.1.sv_cheats.0
00 73 76 5F 63 6C 69 65 6E 74 74 72 61 63 65 00    .sv_clienttrace.
31 00 73 76 5F 63 6C 69 70 6D 6F 64 65 00 30 00    1.sv_clipmode.0.
73 76 5F 63 6F 6E 74 61                            sv_conta
FE FF FF FF 56 0A 00 00 12 63 74 00 00 73 76 5F    þÿÿÿV....ct..sv_
66 72 69 63 74 69 6F 6E 00 34 00 73 76 5F 67 72    friction.4.sv_gr
61 76 69 74 79 00 37 35 30 00 73 76 5F 6C 6F 67    avity.750.sv_log
62 6C 6F 63 6B 73 00 30 00 73 76 5F 6D 61 78 72    blocks.0.sv_maxr
61 74 65 00 32 35 30 30 30 00 73 76 5F 6D 61 78    ate.25000.sv_max
73 70 65 65 64 00 33 32 30 00 73 76 5F 6D 69 6E    speed.320.sv_min
72 61 74 65 00 31 35 30 30 30 00 73 76 5F 70 61    rate.15000.sv_pa
73 73 77 6F 72 64 00 30 00 73 76 5F 70 72 6F 78    ssword.0.sv_prox
69 65 73 00 32 00 73 76 5F 72 65 67 69 6F 6E 00    ies.2.sv_region.
33 00 73 76 5F 72 65 73 74 61 72 74 00 30 00 73    3.sv_restart.0.s
76 5F 72 65 73 74 61 72 74 72 6F 75 6E 64 00 30    v_restartround.0
00 73 76 5F 73 74 65 70 73 69 7A 65 00 31 38 00    .sv_stepsize.18.
73 76 5F 73 74 6F 70 73 70 65 65 64 00 37 35 00    sv_stopspeed.75.
73 76 5F 75 70 6C 6F 61 64 6D 61 78 00 30 2E 35    sv_uploadmax.0.5
00 73 76 5F 76 6F 69 63 65 65 6E 61 62 6C 65 00    .sv_voiceenable.
31 00 73 76 5F 77 61 74 65 72 61 63 63 65 6C 65    1.sv_wateraccele
72 61 74 65 00 31 30 00 73 76 5F 77 61 74 65 72    rate.10.sv_water
66 72 69 63 74 69 6F 6E 00 31 00                   friction.1.
Donnée Type Commentaire Valeur de l'exemple
En-tête byte Toujours égal à 'E' (69). 69
Règles short Nombre de règles présentes dans la réponse. 93
Pour chaque règle on trouve les données suivantes :
Donnée Type Commentaire
Nom string Nom de la règle.
Valeur string Valeur de la règle.
_tutor_bomb_viewable_check_interval 0.5
_tutor_debug_level 0
_tutor_examine_time 0.5
(...)
sv_uploadmax 0.5
sv_voiceenable 1
sv_wateraccelerate 10
sv_waterfriction 1

Voir aussi

Articles connexes

Liens externes