steam-condenser 0.10.1 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION.yml +2 -2
- data/lib/datagram_channel.rb +30 -33
- data/lib/exceptions/packet_format_exception.rb +7 -3
- data/lib/exceptions/rcon_ban_exception.rb +7 -5
- data/lib/exceptions/rcon_no_auth_exception.rb +8 -6
- data/lib/exceptions/timeout_exception.rb +10 -4
- data/lib/socket_channel.rb +11 -17
- data/lib/steam/community/cacheable.rb +5 -7
- data/lib/steam/community/css/css_map.rb +31 -0
- data/lib/steam/community/css/css_stats.rb +116 -0
- data/lib/steam/community/css/css_weapon.rb +33 -0
- data/lib/steam/community/dods/dods_stats.rb +3 -3
- data/lib/steam/community/game_stats.rb +14 -13
- data/lib/steam/community/game_weapon.rb +3 -5
- data/lib/steam/community/l4d/abstract_l4d_stats.rb +4 -2
- data/lib/steam/community/l4d/l4d_explosive.rb +2 -2
- data/lib/steam/community/l4d/l4d_map.rb +3 -3
- data/lib/steam/community/steam_group.rb +2 -4
- data/lib/steam/community/steam_id.rb +2 -2
- data/lib/steam/community/tf2/tf2_class.rb +17 -17
- data/lib/steam/community/tf2/tf2_class_factory.rb +17 -17
- data/lib/steam/community/tf2/tf2_engineer.rb +9 -9
- data/lib/steam/community/tf2/tf2_medic.rb +9 -9
- data/lib/steam/community/tf2/tf2_sniper.rb +7 -7
- data/lib/steam/community/tf2/tf2_spy.rb +9 -9
- data/lib/steam/community/tf2/tf2_stats.rb +9 -9
- data/lib/steam/packets/a2a_ack_packet.rb +11 -9
- data/lib/steam/packets/a2a_ping_packet.rb +5 -4
- data/lib/steam/packets/a2m_get_servers_batch2_packet.rb +13 -12
- data/lib/steam/packets/a2s_info_packet.rb +8 -7
- data/lib/steam/packets/a2s_player_packet.rb +6 -6
- data/lib/steam/packets/a2s_rules_packet.rb +5 -5
- data/lib/steam/packets/a2s_serverquery_getchallenge_packet.rb +4 -3
- data/lib/steam/packets/m2a_server_batch_packet.rb +20 -22
- data/lib/steam/packets/rcon/rcon_auth_request.rb +5 -5
- data/lib/steam/packets/rcon/rcon_auth_response.rb +6 -6
- data/lib/steam/packets/rcon/rcon_exec_request.rb +5 -5
- data/lib/steam/packets/rcon/rcon_exec_response.rb +2 -2
- data/lib/steam/packets/rcon/rcon_goldsrc_request.rb +7 -7
- data/lib/steam/packets/rcon/rcon_goldsrc_response.rb +8 -8
- data/lib/steam/packets/rcon/rcon_packet.rb +12 -16
- data/lib/steam/packets/rcon/rcon_packet_factory.rb +19 -19
- data/lib/steam/packets/request_with_challenge.rb +5 -5
- data/lib/steam/packets/s2a_info2_packet.rb +28 -30
- data/lib/steam/packets/s2a_info_base_packet.rb +11 -16
- data/lib/steam/packets/s2a_info_detailed_packet.rb +30 -28
- data/lib/steam/packets/s2a_player_packet.rb +7 -9
- data/lib/steam/packets/s2a_rules_packet.rb +8 -12
- data/lib/steam/packets/s2c_challenge_packet.rb +7 -6
- data/lib/steam/packets/steam_packet.rb +7 -6
- data/lib/steam/packets/steam_packet_factory.rb +37 -38
- data/lib/steam/servers/game_server.rb +76 -86
- data/lib/steam/servers/goldsrc_server.rb +5 -5
- data/lib/steam/servers/master_server.rb +24 -24
- data/lib/steam/servers/source_server.rb +17 -19
- data/lib/steam/sockets/goldsrc_socket.rb +43 -46
- data/lib/steam/sockets/master_server_socket.rb +11 -13
- data/lib/steam/sockets/rcon_socket.rb +15 -17
- data/lib/steam/sockets/source_socket.rb +21 -21
- data/lib/steam/sockets/steam_socket.rb +25 -28
- data/lib/steam/steam_player.rb +3 -1
- data/lib/stringio_additions.rb +48 -0
- data/test/datagram_channel_tests.rb +8 -8
- data/test/query_tests.rb +15 -14
- data/test/rcon_tests.rb +32 -31
- data/test/socket_channel_tests.rb +7 -7
- data/test/steam/communtiy/steam_community_test_suite.rb +5 -2
- data/test/steam_community_tests.rb +4 -3
- data/test/stringio_additions_tests.rb +77 -0
- metadata +15 -8
- data/lib/byte_buffer.rb +0 -126
- data/lib/exceptions/buffer_underflow_exception.rb +0 -8
- data/test/byte_buffer_tests.rb +0 -76
data/lib/byte_buffer.rb
DELETED
@@ -1,126 +0,0 @@
|
|
1
|
-
# This code is free software; you can redistribute it and/or modify it under the
|
2
|
-
# terms of the new BSD License.
|
3
|
-
#
|
4
|
-
# Copyright (c) 2008-2009, Sebastian Staudt
|
5
|
-
|
6
|
-
require "exceptions/buffer_underflow_exception"
|
7
|
-
|
8
|
-
# The ByteBuffer class derived from Java's java.nio.ByteBuffer
|
9
|
-
class ByteBuffer
|
10
|
-
|
11
|
-
attr_accessor :limit
|
12
|
-
attr_reader :position
|
13
|
-
protected :initialize
|
14
|
-
|
15
|
-
# Creates a new buffer with the given size in bytes
|
16
|
-
def self.allocate(length)
|
17
|
-
return ByteBuffer.new(0.chr * length)
|
18
|
-
end
|
19
|
-
|
20
|
-
# Creates a new buffer from an existing String
|
21
|
-
def self.wrap(byte_array)
|
22
|
-
return ByteBuffer.new(byte_array.to_s)
|
23
|
-
end
|
24
|
-
|
25
|
-
#
|
26
|
-
def initialize(byte_array)
|
27
|
-
if byte_array.is_a? ByteBuffer
|
28
|
-
raise Exception.new
|
29
|
-
end
|
30
|
-
|
31
|
-
@byte_array = byte_array.to_s
|
32
|
-
@capacity = @byte_array.length
|
33
|
-
@limit = @capacity
|
34
|
-
@position = 0
|
35
|
-
@mark = -1
|
36
|
-
end
|
37
|
-
|
38
|
-
def array
|
39
|
-
return @byte_array
|
40
|
-
end
|
41
|
-
|
42
|
-
def clear
|
43
|
-
@limit = @capacity
|
44
|
-
@position = 0
|
45
|
-
@mark = -1
|
46
|
-
|
47
|
-
return self
|
48
|
-
end
|
49
|
-
|
50
|
-
def flip
|
51
|
-
@limit = @position
|
52
|
-
@position = 0
|
53
|
-
@mark = -1
|
54
|
-
|
55
|
-
return self
|
56
|
-
end
|
57
|
-
|
58
|
-
def get(length = nil)
|
59
|
-
if length == nil
|
60
|
-
length = @limit - @position
|
61
|
-
elsif length > self.remaining
|
62
|
-
BufferUnderflowException.new
|
63
|
-
end
|
64
|
-
|
65
|
-
data = @byte_array[@position, length]
|
66
|
-
@position += length
|
67
|
-
|
68
|
-
return data
|
69
|
-
end
|
70
|
-
|
71
|
-
def get_byte
|
72
|
-
return self.get(1)[0]
|
73
|
-
end
|
74
|
-
|
75
|
-
def get_float
|
76
|
-
return self.get(4).unpack("e")[0]
|
77
|
-
end
|
78
|
-
|
79
|
-
def get_long
|
80
|
-
return self.get(4).unpack("V")[0]
|
81
|
-
end
|
82
|
-
|
83
|
-
def get_short
|
84
|
-
return self.get(2).unpack("v")[0]
|
85
|
-
end
|
86
|
-
|
87
|
-
def get_signed_long
|
88
|
-
return self.get(4).unpack('l')[0]
|
89
|
-
end
|
90
|
-
|
91
|
-
def get_string
|
92
|
-
zero_byte_index = @byte_array.index("\0", @position)
|
93
|
-
if zero_byte_index == nil
|
94
|
-
nil
|
95
|
-
else
|
96
|
-
data_string = self.get(zero_byte_index - @position)
|
97
|
-
@position += 1
|
98
|
-
data_string
|
99
|
-
end
|
100
|
-
end
|
101
|
-
|
102
|
-
def length
|
103
|
-
return @byte_array.length
|
104
|
-
end
|
105
|
-
|
106
|
-
def remaining
|
107
|
-
return @limit - @position
|
108
|
-
end
|
109
|
-
|
110
|
-
def rewind
|
111
|
-
@position = 0
|
112
|
-
@mark = -1
|
113
|
-
|
114
|
-
return self
|
115
|
-
end
|
116
|
-
|
117
|
-
def put(source_byte_array)
|
118
|
-
new_position = [source_byte_array.length, self.remaining].min
|
119
|
-
|
120
|
-
@byte_array[@position, new_position] = source_byte_array
|
121
|
-
@position = new_position
|
122
|
-
|
123
|
-
return self
|
124
|
-
end
|
125
|
-
|
126
|
-
end
|
data/test/byte_buffer_tests.rb
DELETED
@@ -1,76 +0,0 @@
|
|
1
|
-
# This code is free software; you can redistribute it and/or modify it under the
|
2
|
-
# terms of the new BSD License.
|
3
|
-
#
|
4
|
-
# Copyright (c) 2009, Sebastian Staudt
|
5
|
-
|
6
|
-
$:.push File.join(File.dirname(__FILE__), '..', 'lib')
|
7
|
-
|
8
|
-
require 'test/unit'
|
9
|
-
require 'byte_buffer'
|
10
|
-
|
11
|
-
class ByteBufferTests < Test::Unit::TestCase
|
12
|
-
|
13
|
-
def test_allocate
|
14
|
-
buffer = ByteBuffer.allocate(10)
|
15
|
-
assert_equal("\0" * 10, buffer.array)
|
16
|
-
end
|
17
|
-
|
18
|
-
def test_get_byte
|
19
|
-
buffer = ByteBuffer.wrap('test')
|
20
|
-
assert_equal('t'[0], buffer.get_byte)
|
21
|
-
assert_equal(3, buffer.remaining)
|
22
|
-
end
|
23
|
-
|
24
|
-
def test_get_float
|
25
|
-
buffer = ByteBuffer.wrap('test')
|
26
|
-
assert_equal('7.71353668494131e+31', buffer.get_float.to_s)
|
27
|
-
assert_equal(0, buffer.remaining)
|
28
|
-
end
|
29
|
-
|
30
|
-
def test_get_long
|
31
|
-
buffer = ByteBuffer.wrap('test')
|
32
|
-
assert_equal(1953719668, buffer.get_long)
|
33
|
-
assert_equal(0, buffer.remaining)
|
34
|
-
end
|
35
|
-
|
36
|
-
def test_get_short
|
37
|
-
buffer = ByteBuffer.wrap('test')
|
38
|
-
assert_equal(25972, buffer.get_short)
|
39
|
-
assert_equal(2, buffer.remaining)
|
40
|
-
end
|
41
|
-
|
42
|
-
def test_get_signed_long
|
43
|
-
buffer = ByteBuffer.wrap(" \255")
|
44
|
-
assert_equal(-1390403552, buffer.get_signed_long)
|
45
|
-
assert_equal(0, buffer.remaining)
|
46
|
-
end
|
47
|
-
|
48
|
-
def test_get_string
|
49
|
-
buffer = ByteBuffer.wrap("test\0test")
|
50
|
-
assert_equal('test', buffer.get_string)
|
51
|
-
assert_equal(4, buffer.remaining)
|
52
|
-
end
|
53
|
-
|
54
|
-
def test_put
|
55
|
-
buffer = ByteBuffer.wrap('te')
|
56
|
-
buffer.put('st')
|
57
|
-
assert_equal('st', buffer.array)
|
58
|
-
buffer = ByteBuffer.allocate(4)
|
59
|
-
buffer.put('test')
|
60
|
-
assert_equal('test', buffer.array)
|
61
|
-
end
|
62
|
-
|
63
|
-
def test_rewind
|
64
|
-
buffer = ByteBuffer.wrap('test')
|
65
|
-
assert_equal(25972, buffer.get_short)
|
66
|
-
buffer.rewind
|
67
|
-
assert_equal(25972, buffer.get_short)
|
68
|
-
end
|
69
|
-
|
70
|
-
def test_wrap
|
71
|
-
string = 'test'
|
72
|
-
buffer = ByteBuffer.wrap(string)
|
73
|
-
assert_equal(string, buffer.array)
|
74
|
-
end
|
75
|
-
|
76
|
-
end
|