I think it's because you need these to be separate if statements. The way you have written it, the if statements are nested. Try making them all stand-alone instead of nesting most of them under the "if($EDF -band 0x80)".

On 10/29/2010 01:35 AM, edman747 wrote:
It appears that both (-band, -and) work the same in this case. It never
displays the messages about "spectator port?" or "game tag?"
Still not to sure about the EDF of 145. On some servers I see 10 bytes after
the EDF, two for the gameport and eight for the steamID. On other servers
there are only two bytes after the EDF, the gameport. The script displays
the correct game port, not sure why that is included since I had to send the
info_query to that port. Guess I should display the ABS of the server steam
ID. The 2nd AppID displays ok. except on my lan test server. It does not
send the byte.

                           if($EDF -band 0x80) # server game port
                              {
                                 $i++
                                 $portbyte1 = $receivebuffer[$i]
                                 $i++
                                 $portbyte2 = $receivebuffer[$i]
                                 $2bytes = $portbyte1, $portbyte2
                                 $info_gameport =
[system.bitconverter]::ToInt16($2bytes,0)
                                 if($EDF -band 0x10) # server steam ID
                                    {
                                       $i++
                                       $steamidbyte1 = $receivebuffer[$i]
                                       $i++
                                       $steamidbyte2 = $receivebuffer[$i]
                                       $i++
                                       $steamidbyte3 = $receivebuffer[$i]
                                       $i++
                                       $steamidbyte4 = $receivebuffer[$i]
                                       $i++
                                       $steamidbyte5 = $receivebuffer[$i]
                                       $i++
                                       $steamidbyte6 = $receivebuffer[$i]
                                       $i++
                                       $steamidbyte7 = $receivebuffer[$i]
                                       $i++
                                       $steamidbyte8 = $receivebuffer[$i]
                                       $8bytes =
$steamidbyte1,$steamidbyte2,$steamidbyte3,$steamidbyte4,$steamidbyte5,$steamidbyte6,$steamidbyte7,$steamidbyte8
                                       $SteamID =
[system.bitconverter]::toint16($8bytes,0)
                                    }
                                       if($EDF -band 0x40) # spectator port?
                                          {
                                             $null
                                             write-host "spectator port?"
                                          }
                                       if($EDF -band 0x20) # game tag?
                                          {
                                             $null
                                             write-host "game tag?"
                                          }
                                       if($EDF -band 0x01) # app ID two
                                          {
                                             $i++
                                             [int16[]]$AppID2 =
$receivebuffer[$i]
                                          }
                              }

output:
                           Type: I
          Protocol Version: 48
               Server Name: SC Test Server -DAL- [2815]
                           Map: snark_pit
           Game Directory: SvenCoop4
        Game Description: Sven Co-op 4.6 or later
                         AppID: 70, 78
        Number of players: 0
         Maximum players: 24
             Number of bots: 0
                    Dedicated: d
                              OS: w
                    Password: 1
                        Secure: 1
             Game Version: 1.1.2.1
                           EDF: 145
                    gameport: 27015
                     SteamID: -10238
                       AppID2: 70
_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlds_linux


--

Dave Parker
Systems Administrator
Utica College
Integrated Information Technology Services
(315) 792-3229
Registered Linux User #408177

_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlds_linux

Reply via email to