Class: Teeworlds::Server

Inherits:
Object
  • Object
show all
Defined in:
lib/teeworlds/server.rb

Constant Summary collapse

METHODS =
[:version, :name, :map, :gametype, :flags, :num_players, :max_players, :num_clients, :max_clients]

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(arg) ⇒ Server

Returns a new instance of Server.



6
7
8
9
10
# File 'lib/teeworlds/server.rb', line 6

def initialize(arg)
  @server = arg[:server]
  @port = arg[:port] || 8303
  @players = []
end

Instance Attribute Details

#playersObject (readonly)

Returns the value of attribute players.



4
5
6
# File 'lib/teeworlds/server.rb', line 4

def players
  @players
end

#portObject (readonly)

Returns the value of attribute port.



4
5
6
# File 'lib/teeworlds/server.rb', line 4

def port
  @port
end

#serverObject (readonly)

Returns the value of attribute server.



4
5
6
# File 'lib/teeworlds/server.rb', line 4

def server
  @server
end

Instance Method Details

#connectObject



12
13
14
15
16
17
18
19
# File 'lib/teeworlds/server.rb', line 12

def connect
  Timeout.timeout(1) do
    udp = UDPSocket.new
    udp.connect(@server, @port)
    udp.send("\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x67\x69\x65\x33\x00", 0)
    create_methods udp.recvfrom(1024).first.split("\x00")[1..-1]
  end
end