Hi,

> as I'd read out of previous Messages other people already had the same
> error in 1.6.7 W32. Is there a work-around, Bugfix available?

The following code is working reliably for me in 1.6.6 mswin32,
and (I think!!!!!!!) 1.6.7 mswin32.  (Unfortunately the machine
running 1.6.7 went down last night and I can't prove it has 1.6.7,
but I'm pretty sure it does, I installed it a couple days ago.)

Anyway for what it's worth here's the code.  I notice there are
a couple differences which may or may not be relevant in comparison
to your example.  (I'm not doing connect.  I am doing select...)

  UDP_RECV_TIMEOUT = 3  # seconds

  def q2cmd(str)
    resp, sock = nil, nil
    begin
      cmd = "\377\377\377\377#{str}\0"
      sock = UDPSocket.open
      sock.send(cmd, 0, @server_addr, @server_port)
      resp = if select([sock], nil, nil, UDP_RECV_TIMEOUT)
        sock.recvfrom(65536)
      end
      if resp
        resp[0] = resp[0][4..-1]  # trim leading 0xffffffff
      end
    rescue IOError, SystemCallError
    ensure
      sock.close if sock
    end
    resp
  end

> Script:
>
> require "socket"
>
> $address = "217.10.140.222"
> $port = 12203
> $command = "\xff\xff\xff\xff\x02getstatus\n"
>
> sock = UDPSocket.open
> sock.connect($address, $port)
> sock.send($command,0)
> $result = sock.recvfrom(10,0)
> puts $result


Hope this helps,

Bill

P.S. What version of quake is yours for?  <grin>