Skip to content

Instantly share code, notes, and snippets.

@lian
Created January 24, 2010 19:37
Show Gist options
  • Save lian/285400 to your computer and use it in GitHub Desktop.
Save lian/285400 to your computer and use it in GitHub Desktop.
require 'socket'
# ..old method found in my teeworlds-svn dir
def query_teeworlds_server(ip="localhost",port="8303")
s = UDPSocket.new; s.bind("0.0.0.0", 8304)
s.send("\xff\xff\xff\xff\xff\xff\xff\xff\xff\xffgief", 0, ip, port); sleep 0.2
response = s.recvfrom_nonblock(1024); s.close
ar = response[0][20..-1].split "\000"
player = ar[7..-1]
players = {}
while player.size > 0
r = player[0..1]
players[r[0]] = r[1]
player.shift && player.shift
end
{
:name => ar[0],
:map => ar[1],
:max_player => ar[6],
:player_count => ar[5],
:players => players,
:free_slots => ar[6].to_i-ar[5].to_i
#:raw => ar,
}
end
p query_teeworlds_server
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment