位置:轻松日志 » CS专区

Half-Life 游戏协议(编写程序有用)

发表于:2004/05/20 14:41:41

Half-Life 游戏协议(编写程序有用)

  • Default Query Port : 27015
  • Games below are based on HL engine, and have almost the same networking code (perhaps a change of protocol version)
  • Counterstrike Retail
  • DOD Retail
  • Query Data Returned
    ÿÿÿÿping
    FF FF FF FF 6A 00                                ....j.          
    
    Full Ascii String : ....j.
    ÿÿÿÿrules
    FF FF FF FF 45 30 00 63 6F 6F 70 00 30 00 64 65  ....E0.coop.0.de
    61 74 68 6D 61 74 63 68 00 31 00 64 65 63 61 6C  athmatch.1.decal
    66 72 65 71 75 65 6E 63 79 00 33 30 00 65 64 67  frequency.30.edg
    65 66 72 69 63 74 69 6F 6E 00 32 00 6D 61 78 5F  efriction.2.max_
    71 75 65 72 69 65 73 5F 73 65 63 00 31 00 6D 61  queries_sec.1.ma
    78 5F 71 75 65 72 69 65 73 5F 73 65 63 5F 67 6C  x_queries_sec_gl
    6F 62 61 6C 00 31 00 6D 61 78 5F 71 75 65 72 69  obal.1.max_queri
    65 73 5F 77 69 6E 64 6F 77 00 31 00 6D 70 5F 61  es_window.1.mp_a
    6C 6C 6F 77 6D 6F 6E 73 74 65 72 73 00 30 00 6D  llowmonsters.0.m
    70 5F 61 75 74 6F 63 72 6F 73 73 68 61 69 72 00  p_autocrosshair.
    31 00 6D 70 5F 63 68 61 74 74 69 6D 65 00 31 30  1.mp_chattime.10
    00 6D 70 5F 63 6F 6E 73 69 73 74 65 6E 63 79 00  .mp_consistency.
    31 00 6D 70 5F 66 61 6C 6C 64 61 6D 61 67 65 00  1.mp_falldamage.
    30 00 6D 70 5F 66 6C 61 73 68 6C 69 67 68 74 00  0.mp_flashlight.
    31 00 6D 70 5F 66 6F 6F 74 73 74 65 70 73 00 31  1.mp_footsteps.1
    00 6D 70 5F 66 6F 72 63 65 72 65 73 70 61 77 6E  .mp_forcerespawn
    00 31 00 6D 70 5F 66 72 61 67 6C 69 6D 69 74 00  .1.mp_fraglimit.
    35 30 00 6D 70 5F 66 72 61 67 73 6C 65 66 74 00  50.mp_fragsleft.
    39 39 39 39 00 6D 70 5F 66 72 69 65 6E 64 6C 79  9999.mp_friendly
    66 69 72 65 00 31 00 6D 70 5F 6C 6F 67 66 69 6C  fire.1.mp_logfil
    65 00 30 00 6D 70 5F 74 65 61 6D 6C 69 73 74 00  e.0.mp_teamlist.
    00 6D 70 5F 74 65 61 6D 70 6C 61 79 00 30 00 6D  .mp_teamplay.0.m
    70 5F 74 69 6D 65 6C 65 66 74 00 38 35 31 00 6D  p_timeleft.851.m
    70 5F 74 69 6D 65 6C 69 6D 69 74 00 32 30 00 6D  p_timelimit.20.m
    70 5F 77 65 61 70 6F 6E 73 74 61 79 00 30 00 70  p_weaponstay.0.p
    61 75 73 61 62 6C 65 00 30 00 73 76 5F 61 63 63  ausable.0.sv_acc
    65 6C 65 72 61 74 65 00 31 30 00 73 76 5F 61 69  elerate.10.sv_ai
    6D 00 30 00 73 76 5F 61 69 72 61 63 63 65 6C 65  m.0.sv_airaccele
    72 61 74 65 00 31 30 00 73 76 5F 61 69 72 6D 6F  rate.10.sv_airmo
    76 65 00 31 00 73 76 5F 61 6C 6C 6F 77 75 70 6C  ve.1.sv_allowupl
    6F 61 64 00 31 00 73 76 5F 62 6F 75 6E 63 65 00  oad.1.sv_bounce.
    31 00 73 76 5F 63 68 65 61 74 73 00 30 00 73 76  1.sv_cheats.0.sv
    5F 63 6C 69 65 6E 74 74 72 61 63 65 00 33 2E 35  _clienttrace.3.5
    00 73 76 5F 63 6C 69 70 6D 6F 64 65 00 30 00 73  .sv_clipmode.0.s
    76 5F 63 6F 6E 74 61 63 74 00 68 74 74 70 3A 2F  v_contact.http:/
    2F 68 65 6C 70 2E 67 61 6D 65 2E 6E 65 74 2F 00  /help.game.net/.
    73 76 5F 66 72 69 63 74 69 6F 6E 00 34 00 73 76  sv_friction.4.sv
    5F 67 72 61 76 69 74 79 00 38 30 30 00 73 76 5F  _gravity.800.sv_
    6C 6F 67 62 6C 6F 63 6B 73 00 30 00 73 76 5F 6D  logblocks.0.sv_m
    61 78 72 61 74 65 00 31 30 30 30 30 00 73 76 5F  axrate.10000.sv_
    6D 61 78 73 70 65 65 64 00 32 37 30 00 73 76 5F  maxspeed.270.sv_
    6D 69 6E 72 61 74 65 00 33 30 30 30 00 73 76 5F  minrate.3000.sv_
    70 61 73 73 77 6F 72 64 00 31 00 73 76 5F 70 72  password.1.sv_pr
    6F 78 69 65 73 00 30 00 73 76 5F 73 74 65 70 73  oxies.0.sv_steps
    69 7A 65 00 31 38 00 73 76 5F 73 74 6F 70 73 70  ize.18.sv_stopsp
    65 65 64 00 31 30 30 00 73 76 5F 76 6F 69 63 65  eed.100.sv_voice
    65 6E 61 62 6C 65 00 31 00 73 76 5F 77 61 74 65  enable.1.sv_wate
    72 61 63 63 65 6C 65 72 61 74 65 00 31 30 00 73  raccelerate.10.s
    76 5F 77 61 74 65 72 66 72 69 63 74 69 6F 6E 00  v_waterfriction.
    31 00                                            1.              
    


    Breakdown :
    (int32) -1
    (byte) ASCII 'E' (rules response, S2A_RULES)
    (int16) number of rules
    for each rule
    (string) rule name
    (string) rule value

    ÿÿÿÿplayers
    FF FF FF FF 44 04 01 5B 65 57 63 5D 20 42 65 65  ....D..[eWc].Bee
    66 20 57 6F 6D 61 6E 00 07 00 00 00 34 84 0C 45  f.Woman.....4..E
    02 5B 65 57 63 5D 61 6E 69 6D 61 6E 00 02 00 00  .[eWc]animan....
    00 75 17 0C 45 03 50 6C 61 79 65 72 00 01 00 00  .u..E.Player....
    00 EF 5A A0 44 04 5B 65 57 63 5D 20 46 69 67 54  ..Z.D.[eWc].FigT
    72 65 65 00 04 00 00 00 E9 71 74 44              ree......qtD    
    
    Full Ascii String : ....D..[eWc].Beef.Woman.....4..E.[eWc]animan.....u..E.Player......Z.D.[eWc].FigTree......qtD

    Breakdown
    (int32) -1
    (byte) ASCII 'D' (players response, S2A_PLAYER
    (byte) active client count)
    for each active client
    (byte) client number / index
    (string) player name
    (int32) client's frag total
    (float32) client's total time in-game
    ÿÿÿÿdetails
    FF FF FF FF 6D 32 31 33 2E 32 32 31 2E 31 37 36  ....m213.221.176
    2E 33 39 3A 32 37 30 31 38 00 47 41 4D 45 2E 4E  .39:27018.GAME.N
    45 54 20 42 6F 6F 6B 61 62 6C 65 20 2D 20 48 61  ET.Bookable.-.Ha
    6C 66 2D 4C 69 66 65 20 28 34 29 20 2D 20 5B 65  lf-Life.(4).-.[e
    57 63 5D 20 50 75 62 6C 69 63 20 53 65 72 76 65  Wc].Public.Serve
    72 00 64 65 5F 72 61 74 73 00 63 73 74 72 69 6B  r.de_rats.cstrik
    65 00 43 6F 75 6E 74 65 72 53 74 72 69 6B 65 00  e.CounterStrike.
    04 10 2E 64 77 01 01 77 77 77 2E 63 6F 75 6E 74  ...dw..www.count
    65 72 2D 73 74 72 69 6B 65 2E 6E 65 74 00 00 00  er-strike.net...
    01 00 00 00 00 9E F7 0A 00 01 01                 ...........     
    


    Breakdown:
    (int32) -1
    (byte) ASCII 'm' ( S2A_INFO_DETAILED )
    (string) net address of server
    (string) name of the host / server
    (string) name of the map
    (string) game directory (i.e. valve/)
    (string) Game description (e.g. "half-life multiplay")
    (byte) active client count
    (byte) maximum clients allowed
    (byte) protocol version (currently 37)
    (byte) type of server == 'l' for listen or 'd' for dedicated
    (byte) os of server == 'w' for win32 or 'l' for linux
    (byte) password on server == 1 or yes, 0, for no
    (byte) is server running a mod? == 1 for yes, 0 for no
    IF the server is running mod byte was 1:
    (string) URL for mod's "info" website
    (string) URL for mod's download ftp server
    (int32) mod version #
    (int32) mod download size ( in bytes, approx. )
    (byte) is the mod a server side only mod? 1 == yes, 0 == no
    (byte) does this server require you to have a custom client side .dll ( client.dll )? 1 == yes, 0 == no.
    ÿÿÿÿinfostring
    FF FF FF FF 69 6E 66 6F 73 74 72 69 6E 67 72 65  ....infostringre
    73 70 6F 6E 73 65 00 5C 70 72 6F 74 6F 63 6F 6C  sponse.\protocol
    5C 34 36 5C 61 64 64 72 65 73 73 5C 32 31 37 2E  \46\address\217.
    31 36 31 2E 34 31 2E 37 3A 32 37 30 31 35 5C 70  161.41.7:27015\p
    6C 61 79 65 72 73 5C 37 5C 70 72 6F 78 79 74 61  layers\7\proxyta
    72 67 65 74 5C 30 5C 6C 61 6E 5C 30 5C 6D 61 78  rget\0\lan\0\max
    5C 31 36 5C 67 61 6D 65 64 69 72 5C 63 73 74 72  \16\gamedir\cstr
    69 6B 65 5C 64 65 73 63 72 69 70 74 69 6F 6E 5C  ike\description\
    43 6F 75 6E 74 65 72 53 74 72 69 6B 65 5C 68 6F  CounterStrike\ho
    73 74 6E 61 6D 65 5C 67 61 6D 65 32 78 73 2E 63  stname\game2xs.c
    6F 6D 20 43 6F 75 6E 74 65 72 2D 53 74 72 69 6B  om.Counter-Strik
    65 5C 6D 61 70 5C 63 73 5F 73 69 65 67 65 5C 74  e\map\cs_siege\t
    79 70 65 5C 64 5C 70 61 73 73 77 6F 72 64 5C 30  ype\d\password\0
    5C 6F 73 5C 6C 5C 73 65 63 75 72 65 5C 31 5C 6D  \os\l\secure\1\m
    6F 64 5C 31 5C 6D 6F 64 76 65 72 73 69 6F 6E 5C  od\1\modversion\
    31 5C 73 76 6F 6E 6C 79 5C 30 5C 63 6C 64 6C 6C  1\svonly\0\cldll
    5C 31 00                                         \1.             
    


    收藏这篇文章

     

    © 2007 Rocklv个人主页空间轻松日志v.1.1