Module: Frostbitten::Methods::NormalCommands

Included in:
Client
Defined in:
lib/frostbitten/methods/normal.rb

Overview

Methods not requiring admin rcon priveleges

Instance Method Summary collapse

Instance Method Details

#auth(password = nil) ⇒ Object

Authenticate connection using password or pregiven password in uri.



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/frostbitten/methods/normal.rb', line 7

def auth(password=nil)
	unless password
		raise ArgumentError, "No password supplied" unless self.server and self.server.password
	end

	password = password ? password : self.server.password

	data = send("login.hashed")

	salt = [data.first].pack("H*")
	hashed = Digest::MD5.hexdigest("#{salt}#{password}")
	if send(["login.hashed", hashed.upcase])
		@logged_in = true
	else
		@logged_in = false
	end

	return self
end

#players(list = "all") ⇒ Object

Lists players and will return list of players



28
29
30
31
32
33
# File 'lib/frostbitten/methods/normal.rb', line 28

def players(list="all")
	data = send(['listPlayers', list])
	if data
		return Player.players_from_list(data,0)
	end
end

#serverinfoObject

General server information



36
37
38
39
40
41
42
43
44
# File 'lib/frostbitten/methods/normal.rb', line 36

def serverinfo
	score_data = send("serverinfo")
	score_data.insert(7,Frostbitten::Score.scores_from_list(score_data,7))
	return Server.new {}.tap do |hash| 
		score_data.to_enum.with_index(1).each do |value,key| 
			hash["data#{key}"] = value
		end
	end
end