steam-condenser 1.3.9 → 1.3.10

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.
Files changed (958) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -3
  3. data/Gemfile.lock +14 -13
  4. data/LICENSE +1 -1
  5. data/doc/A2M_GET_SERVERS_BATCH2_Packet.html +10 -17
  6. data/doc/A2S_INFO_Packet.html +4 -5
  7. data/doc/A2S_PLAYER_Packet.html +5 -7
  8. data/doc/A2S_RULES_Packet.html +6 -9
  9. data/doc/A2S_SERVERQUERY_GETCHALLENGE_Packet.html +5 -7
  10. data/doc/AbstractL4DStats.html +10 -17
  11. data/doc/AbstractL4DWeapon.html +6 -9
  12. data/doc/AlienSwarmMission.html +10 -17
  13. data/doc/AlienSwarmStats.html +10 -17
  14. data/doc/AlienSwarmWeapon.html +4 -5
  15. data/doc/AppNews.html +18 -33
  16. data/doc/C2M_CHECKMD5_Packet.html +3 -3
  17. data/doc/CSSMap.html +4 -5
  18. data/doc/CSSStats.html +8 -13
  19. data/doc/CSSWeapon.html +4 -5
  20. data/doc/Cacheable.html +15 -27
  21. data/doc/Cacheable/ClassMethods.html +13 -23
  22. data/doc/DefenseGridStats.html +15 -27
  23. data/doc/DoDSClass.html +4 -5
  24. data/doc/DoDSStats.html +8 -13
  25. data/doc/DoDSWeapon.html +6 -9
  26. data/doc/Dota2BetaInventory.html +7 -27
  27. data/doc/Dota2Inventory.html +7 -27
  28. data/doc/Dota2Item.html +18 -20
  29. data/doc/GameAchievement.html +12 -21
  30. data/doc/GameClass.html +4 -5
  31. data/doc/GameInventory.html +22 -39
  32. data/doc/GameItem.html +174 -155
  33. data/doc/GameItemSchema.html +6 -9
  34. data/doc/GameLeaderboard.html +13 -23
  35. data/doc/GameLeaderboardEntry.html +4 -5
  36. data/doc/GameServer.html +46 -90
  37. data/doc/GameStats.html +12 -21
  38. data/doc/GameWeapon.html +4 -5
  39. data/doc/GoldSrcServer.html +13 -23
  40. data/doc/GoldSrcSocket.html +22 -29
  41. data/doc/L4D2Map.html +9 -16
  42. data/doc/L4D2Stats.html +21 -39
  43. data/doc/L4D2Weapon.html +4 -5
  44. data/doc/L4DExplosive.html +4 -5
  45. data/doc/L4DMap.html +5 -7
  46. data/doc/L4DStats.html +9 -15
  47. data/doc/L4DWeapon.html +4 -5
  48. data/doc/M2A_SERVER_BATCH_Packet.html +6 -9
  49. data/doc/M2C_ISVALIDMD5_Packet.html +4 -5
  50. data/doc/M2S_REQUESTRESTART_Packet.html +5 -7
  51. data/doc/MasterServer.html +21 -39
  52. data/doc/MasterServerSocket.html +3 -3
  53. data/doc/PacketFormatError.html +4 -5
  54. data/doc/Portal2Inventory.html +7 -27
  55. data/doc/Portal2Item.html +28 -32
  56. data/doc/Portal2Stats.html +8 -13
  57. data/doc/RCONAuthRequest.html +5 -7
  58. data/doc/RCONAuthResponse.html +6 -9
  59. data/doc/RCONBanError.html +4 -5
  60. data/doc/RCONExecRequest.html +5 -7
  61. data/doc/RCONExecResponse.html +7 -11
  62. data/doc/RCONGoldSrcRequest.html +5 -5
  63. data/doc/RCONGoldSrcResponse.html +5 -7
  64. data/doc/RCONNoAuthError.html +4 -5
  65. data/doc/RCONPacket.html +7 -11
  66. data/doc/RCONPacketFactory.html +4 -5
  67. data/doc/RCONSocket.html +12 -21
  68. data/doc/RCONTerminator.html +8 -13
  69. data/doc/RequestWithChallenge.html +4 -5
  70. data/doc/S2A_INFO2_Packet.html +5 -7
  71. data/doc/S2A_INFO_BasePacket.html +4 -5
  72. data/doc/S2A_INFO_DETAILED_Packet.html +6 -9
  73. data/doc/S2A_LOGSTRING_Packet.html +3 -3
  74. data/doc/S2A_PLAYER_Packet.html +3 -3
  75. data/doc/S2A_RULES_Packet.html +4 -5
  76. data/doc/S2C_CHALLENGE_Packet.html +6 -9
  77. data/doc/S2M_HEARTBEAT2_Packet.html +7 -11
  78. data/doc/Server.html +15 -27
  79. data/doc/SourceServer.html +12 -21
  80. data/doc/SourceSocket.html +8 -13
  81. data/doc/SteamCondenser.html +5 -6
  82. data/doc/SteamCondenser/Community.html +5 -7
  83. data/doc/SteamCondenser/Servers.html +4 -5
  84. data/doc/SteamCondenser/TimeoutError.html +6 -9
  85. data/doc/SteamCondenserError.html +4 -5
  86. data/doc/SteamGame.html +6 -9
  87. data/doc/SteamGroup.html +10 -17
  88. data/doc/SteamId.html +39 -74
  89. data/doc/SteamPacket.html +4 -5
  90. data/doc/SteamPacketFactory.html +10 -17
  91. data/doc/SteamPlayer.html +6 -9
  92. data/doc/SteamSocket.html +9 -15
  93. data/doc/StringIO.html +16 -29
  94. data/doc/TF2BetaInventory.html +8 -18
  95. data/doc/TF2Class.html +12 -21
  96. data/doc/TF2ClassFactory.html +5 -7
  97. data/doc/TF2Engineer.html +7 -11
  98. data/doc/TF2GoldenWrench.html +6 -9
  99. data/doc/TF2Inventory.html +7 -27
  100. data/doc/TF2Item.html +28 -32
  101. data/doc/TF2Medic.html +5 -7
  102. data/doc/TF2Sniper.html +4 -5
  103. data/doc/TF2Spy.html +5 -7
  104. data/doc/TF2Stats.html +10 -17
  105. data/doc/WebApi.html +23 -41
  106. data/doc/WebApiError.html +18 -32
  107. data/doc/XMLData.html +3 -3
  108. data/doc/_index.html +4 -4
  109. data/doc/class_list.html +6 -2
  110. data/doc/css/style.css +1 -0
  111. data/doc/file.CHANGELOG.html +50 -42
  112. data/doc/file.CONTRIBUTING.html +11 -19
  113. data/doc/file.LICENSE.html +19 -35
  114. data/doc/file.README.html +26 -35
  115. data/doc/file_list.html +5 -1
  116. data/doc/index.html +26 -35
  117. data/doc/js/full_list.js +4 -1
  118. data/doc/method_list.html +5 -1
  119. data/doc/top-level-namespace.html +5 -5
  120. data/lib/steam-condenser/version.rb +2 -2
  121. data/lib/steam/community/dota2/dota2_beta_inventory.rb +2 -2
  122. data/lib/steam/community/dota2/dota2_inventory.rb +2 -2
  123. data/lib/steam/community/dota2/dota2_item.rb +2 -4
  124. data/lib/steam/community/game_inventory.rb +3 -3
  125. data/lib/steam/community/game_item.rb +2 -2
  126. data/lib/steam/community/portal2/portal2_inventory.rb +2 -2
  127. data/lib/steam/community/portal2/portal2_item.rb +2 -4
  128. data/lib/steam/community/tf2/tf2_beta_inventory.rb +2 -2
  129. data/lib/steam/community/tf2/tf2_inventory.rb +2 -2
  130. data/lib/steam/community/tf2/tf2_item.rb +2 -4
  131. data/lib/steam/sockets/goldsrc_socket.rb +2 -1
  132. data/pkg/steam-condenser-1.3.8.1/doc/A2M_GET_SERVERS_BATCH2_Packet.html +1 -1
  133. data/pkg/steam-condenser-1.3.8.1/doc/A2S_INFO_Packet.html +1 -1
  134. data/pkg/steam-condenser-1.3.8.1/doc/A2S_PLAYER_Packet.html +1 -1
  135. data/pkg/steam-condenser-1.3.8.1/doc/A2S_RULES_Packet.html +1 -1
  136. data/pkg/steam-condenser-1.3.8.1/doc/A2S_SERVERQUERY_GETCHALLENGE_Packet.html +1 -1
  137. data/pkg/steam-condenser-1.3.8.1/doc/AbstractL4DStats.html +1 -1
  138. data/pkg/steam-condenser-1.3.8.1/doc/AbstractL4DWeapon.html +1 -1
  139. data/pkg/steam-condenser-1.3.8.1/doc/AlienSwarmMission.html +1 -1
  140. data/pkg/steam-condenser-1.3.8.1/doc/AlienSwarmStats.html +1 -1
  141. data/pkg/steam-condenser-1.3.8.1/doc/AlienSwarmWeapon.html +1 -1
  142. data/pkg/steam-condenser-1.3.8.1/doc/AppNews.html +1 -1
  143. data/pkg/steam-condenser-1.3.8.1/doc/C2M_CHECKMD5_Packet.html +1 -1
  144. data/pkg/steam-condenser-1.3.8.1/doc/CSSMap.html +1 -1
  145. data/pkg/steam-condenser-1.3.8.1/doc/CSSStats.html +1 -1
  146. data/pkg/steam-condenser-1.3.8.1/doc/CSSWeapon.html +1 -1
  147. data/pkg/steam-condenser-1.3.8.1/doc/Cacheable.html +1 -1
  148. data/pkg/steam-condenser-1.3.8.1/doc/Cacheable/ClassMethods.html +1 -1
  149. data/pkg/steam-condenser-1.3.8.1/doc/DefenseGridStats.html +1 -1
  150. data/pkg/steam-condenser-1.3.8.1/doc/DoDSClass.html +1 -1
  151. data/pkg/steam-condenser-1.3.8.1/doc/DoDSStats.html +1 -1
  152. data/pkg/steam-condenser-1.3.8.1/doc/DoDSWeapon.html +1 -1
  153. data/pkg/steam-condenser-1.3.8.1/doc/Dota2BetaInventory.html +1 -1
  154. data/pkg/steam-condenser-1.3.8.1/doc/Dota2Inventory.html +1 -1
  155. data/pkg/steam-condenser-1.3.8.1/doc/Dota2Item.html +1 -1
  156. data/pkg/steam-condenser-1.3.8.1/doc/GameAchievement.html +1 -1
  157. data/pkg/steam-condenser-1.3.8.1/doc/GameClass.html +1 -1
  158. data/pkg/steam-condenser-1.3.8.1/doc/GameInventory.html +1 -1
  159. data/pkg/steam-condenser-1.3.8.1/doc/GameItem.html +1 -1
  160. data/pkg/steam-condenser-1.3.8.1/doc/GameItemSchema.html +1 -1
  161. data/pkg/steam-condenser-1.3.8.1/doc/GameLeaderboard.html +1 -1
  162. data/pkg/steam-condenser-1.3.8.1/doc/GameLeaderboardEntry.html +1 -1
  163. data/pkg/steam-condenser-1.3.8.1/doc/GameServer.html +1 -1
  164. data/pkg/steam-condenser-1.3.8.1/doc/GameStats.html +1 -1
  165. data/pkg/steam-condenser-1.3.8.1/doc/GameWeapon.html +1 -1
  166. data/pkg/steam-condenser-1.3.8.1/doc/GoldSrcServer.html +1 -1
  167. data/pkg/steam-condenser-1.3.8.1/doc/GoldSrcSocket.html +1 -1
  168. data/pkg/steam-condenser-1.3.8.1/doc/L4D2Map.html +1 -1
  169. data/pkg/steam-condenser-1.3.8.1/doc/L4D2Stats.html +1 -1
  170. data/pkg/steam-condenser-1.3.8.1/doc/L4D2Weapon.html +1 -1
  171. data/pkg/steam-condenser-1.3.8.1/doc/L4DExplosive.html +1 -1
  172. data/pkg/steam-condenser-1.3.8.1/doc/L4DMap.html +1 -1
  173. data/pkg/steam-condenser-1.3.8.1/doc/L4DStats.html +1 -1
  174. data/pkg/steam-condenser-1.3.8.1/doc/L4DWeapon.html +1 -1
  175. data/pkg/steam-condenser-1.3.8.1/doc/M2A_SERVER_BATCH_Packet.html +1 -1
  176. data/pkg/steam-condenser-1.3.8.1/doc/M2C_ISVALIDMD5_Packet.html +1 -1
  177. data/pkg/steam-condenser-1.3.8.1/doc/M2S_REQUESTRESTART_Packet.html +1 -1
  178. data/pkg/steam-condenser-1.3.8.1/doc/MasterServer.html +1 -1
  179. data/pkg/steam-condenser-1.3.8.1/doc/MasterServerSocket.html +1 -1
  180. data/pkg/steam-condenser-1.3.8.1/doc/PacketFormatError.html +1 -1
  181. data/pkg/steam-condenser-1.3.8.1/doc/Portal2Inventory.html +1 -1
  182. data/pkg/steam-condenser-1.3.8.1/doc/Portal2Item.html +1 -1
  183. data/pkg/steam-condenser-1.3.8.1/doc/Portal2Stats.html +1 -1
  184. data/pkg/steam-condenser-1.3.8.1/doc/RCONAuthRequest.html +1 -1
  185. data/pkg/steam-condenser-1.3.8.1/doc/RCONAuthResponse.html +1 -1
  186. data/pkg/steam-condenser-1.3.8.1/doc/RCONBanError.html +1 -1
  187. data/pkg/steam-condenser-1.3.8.1/doc/RCONExecRequest.html +1 -1
  188. data/pkg/steam-condenser-1.3.8.1/doc/RCONExecResponse.html +1 -1
  189. data/pkg/steam-condenser-1.3.8.1/doc/RCONGoldSrcRequest.html +1 -1
  190. data/pkg/steam-condenser-1.3.8.1/doc/RCONGoldSrcResponse.html +1 -1
  191. data/pkg/steam-condenser-1.3.8.1/doc/RCONNoAuthError.html +1 -1
  192. data/pkg/steam-condenser-1.3.8.1/doc/RCONPacket.html +1 -1
  193. data/pkg/steam-condenser-1.3.8.1/doc/RCONPacketFactory.html +1 -1
  194. data/pkg/steam-condenser-1.3.8.1/doc/RCONSocket.html +5 -13
  195. data/pkg/steam-condenser-1.3.8.1/doc/RCONTerminator.html +1 -1
  196. data/pkg/steam-condenser-1.3.8.1/doc/RequestWithChallenge.html +1 -1
  197. data/pkg/steam-condenser-1.3.8.1/doc/S2A_INFO2_Packet.html +1 -1
  198. data/pkg/steam-condenser-1.3.8.1/doc/S2A_INFO_BasePacket.html +1 -1
  199. data/pkg/steam-condenser-1.3.8.1/doc/S2A_INFO_DETAILED_Packet.html +1 -1
  200. data/pkg/steam-condenser-1.3.8.1/doc/S2A_LOGSTRING_Packet.html +1 -1
  201. data/pkg/steam-condenser-1.3.8.1/doc/S2A_PLAYER_Packet.html +1 -1
  202. data/pkg/steam-condenser-1.3.8.1/doc/S2A_RULES_Packet.html +1 -1
  203. data/pkg/steam-condenser-1.3.8.1/doc/S2C_CHALLENGE_Packet.html +1 -1
  204. data/pkg/steam-condenser-1.3.8.1/doc/S2M_HEARTBEAT2_Packet.html +1 -1
  205. data/pkg/steam-condenser-1.3.8.1/doc/Server.html +1 -1
  206. data/pkg/steam-condenser-1.3.8.1/doc/SourceServer.html +34 -33
  207. data/pkg/steam-condenser-1.3.8.1/doc/SourceSocket.html +1 -1
  208. data/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser.html +2 -2
  209. data/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community.html +1 -1
  210. data/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers.html +1 -1
  211. data/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/TimeoutError.html +1 -1
  212. data/pkg/steam-condenser-1.3.8.1/doc/SteamCondenserError.html +1 -1
  213. data/pkg/steam-condenser-1.3.8.1/doc/SteamGame.html +1 -1
  214. data/pkg/steam-condenser-1.3.8.1/doc/SteamGroup.html +1 -1
  215. data/pkg/steam-condenser-1.3.8.1/doc/SteamId.html +1 -1
  216. data/pkg/steam-condenser-1.3.8.1/doc/SteamPacket.html +1 -1
  217. data/pkg/steam-condenser-1.3.8.1/doc/SteamPacketFactory.html +1 -1
  218. data/pkg/steam-condenser-1.3.8.1/doc/SteamPlayer.html +1 -1
  219. data/pkg/steam-condenser-1.3.8.1/doc/SteamSocket.html +1 -1
  220. data/pkg/steam-condenser-1.3.8.1/doc/StringIO.html +1 -1
  221. data/pkg/steam-condenser-1.3.8.1/doc/TF2BetaInventory.html +1 -1
  222. data/pkg/steam-condenser-1.3.8.1/doc/TF2Class.html +1 -1
  223. data/pkg/steam-condenser-1.3.8.1/doc/TF2ClassFactory.html +1 -1
  224. data/pkg/steam-condenser-1.3.8.1/doc/TF2Engineer.html +1 -1
  225. data/pkg/steam-condenser-1.3.8.1/doc/TF2GoldenWrench.html +1 -1
  226. data/pkg/steam-condenser-1.3.8.1/doc/TF2Inventory.html +1 -1
  227. data/pkg/steam-condenser-1.3.8.1/doc/TF2Item.html +1 -1
  228. data/pkg/steam-condenser-1.3.8.1/doc/TF2Medic.html +1 -1
  229. data/pkg/steam-condenser-1.3.8.1/doc/TF2Sniper.html +1 -1
  230. data/pkg/steam-condenser-1.3.8.1/doc/TF2Spy.html +1 -1
  231. data/pkg/steam-condenser-1.3.8.1/doc/TF2Stats.html +1 -1
  232. data/pkg/steam-condenser-1.3.8.1/doc/WebApi.html +1 -1
  233. data/pkg/steam-condenser-1.3.8.1/doc/WebApiError.html +1 -1
  234. data/pkg/steam-condenser-1.3.8.1/doc/XMLData.html +1 -1
  235. data/pkg/steam-condenser-1.3.8.1/doc/_index.html +1 -1
  236. data/pkg/steam-condenser-1.3.8.1/doc/file.CHANGELOG.html +1 -20
  237. data/pkg/steam-condenser-1.3.8.1/doc/file.CONTRIBUTING.html +1 -1
  238. data/pkg/steam-condenser-1.3.8.1/doc/file.LICENSE.html +1 -1
  239. data/pkg/steam-condenser-1.3.8.1/doc/file.README.html +1 -1
  240. data/pkg/steam-condenser-1.3.8.1/doc/index.html +1 -1
  241. data/pkg/steam-condenser-1.3.8.1/doc/top-level-namespace.html +1 -1
  242. data/pkg/steam-condenser-1.3.9.gem +0 -0
  243. data/pkg/steam-condenser-1.3.9/CHANGELOG.md +247 -0
  244. data/pkg/steam-condenser-1.3.9/CONTRIBUTING.md +59 -0
  245. data/pkg/steam-condenser-1.3.9/Gemfile +11 -0
  246. data/pkg/steam-condenser-1.3.9/Gemfile.lock +48 -0
  247. data/pkg/steam-condenser-1.3.9/LICENSE +25 -0
  248. data/pkg/steam-condenser-1.3.9/README.md +75 -0
  249. data/pkg/steam-condenser-1.3.9/Rakefile +46 -0
  250. data/pkg/steam-condenser-1.3.9/doc/A2M_GET_SERVERS_BATCH2_Packet.html +446 -0
  251. data/pkg/steam-condenser-1.3.9/doc/A2S_INFO_Packet.html +264 -0
  252. data/pkg/steam-condenser-1.3.9/doc/A2S_PLAYER_Packet.html +300 -0
  253. data/pkg/steam-condenser-1.3.9/doc/A2S_RULES_Packet.html +302 -0
  254. data/pkg/steam-condenser-1.3.9/doc/A2S_SERVERQUERY_GETCHALLENGE_Packet.html +266 -0
  255. data/pkg/steam-condenser-1.3.9/doc/AbstractL4DStats.html +1033 -0
  256. data/pkg/steam-condenser-1.3.9/doc/AbstractL4DWeapon.html +752 -0
  257. data/pkg/steam-condenser-1.3.9/doc/AlienSwarmMission.html +1598 -0
  258. data/pkg/steam-condenser-1.3.9/doc/AlienSwarmStats.html +1035 -0
  259. data/pkg/steam-condenser-1.3.9/doc/AlienSwarmWeapon.html +653 -0
  260. data/pkg/steam-condenser-1.3.9/doc/AppNews.html +1489 -0
  261. data/pkg/steam-condenser-1.3.9/doc/C2M_CHECKMD5_Packet.html +347 -0
  262. data/pkg/steam-condenser-1.3.9/doc/CSSMap.html +824 -0
  263. data/pkg/steam-condenser-1.3.9/doc/CSSStats.html +888 -0
  264. data/pkg/steam-condenser-1.3.9/doc/CSSWeapon.html +910 -0
  265. data/pkg/steam-condenser-1.3.9/doc/Cacheable.html +942 -0
  266. data/pkg/steam-condenser-1.3.9/doc/Cacheable/ClassMethods.html +721 -0
  267. data/pkg/steam-condenser-1.3.9/doc/DefenseGridStats.html +2659 -0
  268. data/pkg/steam-condenser-1.3.9/doc/DoDSClass.html +1291 -0
  269. data/pkg/steam-condenser-1.3.9/doc/DoDSStats.html +537 -0
  270. data/pkg/steam-condenser-1.3.9/doc/DoDSWeapon.html +824 -0
  271. data/pkg/steam-condenser-1.3.9/doc/Dota2BetaInventory.html +363 -0
  272. data/pkg/steam-condenser-1.3.9/doc/Dota2Inventory.html +363 -0
  273. data/pkg/steam-condenser-1.3.9/doc/Dota2Item.html +396 -0
  274. data/pkg/steam-condenser-1.3.9/doc/GameAchievement.html +1292 -0
  275. data/pkg/steam-condenser-1.3.9/doc/GameClass.html +328 -0
  276. data/pkg/steam-condenser-1.3.9/doc/GameInventory.html +1512 -0
  277. data/pkg/steam-condenser-1.3.9/doc/GameItem.html +1926 -0
  278. data/pkg/steam-condenser-1.3.9/doc/GameItemSchema.html +1477 -0
  279. data/pkg/steam-condenser-1.3.9/doc/GameLeaderboard.html +1741 -0
  280. data/pkg/steam-condenser-1.3.9/doc/GameLeaderboardEntry.html +642 -0
  281. data/pkg/steam-condenser-1.3.9/doc/GameServer.html +2495 -0
  282. data/pkg/steam-condenser-1.3.9/doc/GameStats.html +1501 -0
  283. data/pkg/steam-condenser-1.3.9/doc/GameWeapon.html +603 -0
  284. data/pkg/steam-condenser-1.3.9/doc/GoldSrcServer.html +766 -0
  285. data/pkg/steam-condenser-1.3.9/doc/GoldSrcSocket.html +874 -0
  286. data/pkg/steam-condenser-1.3.9/doc/L4D2Map.html +758 -0
  287. data/pkg/steam-condenser-1.3.9/doc/L4D2Stats.html +1020 -0
  288. data/pkg/steam-condenser-1.3.9/doc/L4D2Weapon.html +496 -0
  289. data/pkg/steam-condenser-1.3.9/doc/L4DExplosive.html +383 -0
  290. data/pkg/steam-condenser-1.3.9/doc/L4DMap.html +789 -0
  291. data/pkg/steam-condenser-1.3.9/doc/L4DStats.html +579 -0
  292. data/pkg/steam-condenser-1.3.9/doc/L4DWeapon.html +302 -0
  293. data/pkg/steam-condenser-1.3.9/doc/M2A_SERVER_BATCH_Packet.html +439 -0
  294. data/pkg/steam-condenser-1.3.9/doc/M2C_ISVALIDMD5_Packet.html +390 -0
  295. data/pkg/steam-condenser-1.3.9/doc/M2S_REQUESTRESTART_Packet.html +390 -0
  296. data/pkg/steam-condenser-1.3.9/doc/MasterServer.html +1104 -0
  297. data/pkg/steam-condenser-1.3.9/doc/MasterServerSocket.html +300 -0
  298. data/pkg/steam-condenser-1.3.9/doc/PacketFormatError.html +176 -0
  299. data/pkg/steam-condenser-1.3.9/doc/Portal2Inventory.html +363 -0
  300. data/pkg/steam-condenser-1.3.9/doc/Portal2Item.html +616 -0
  301. data/pkg/steam-condenser-1.3.9/doc/Portal2Stats.html +413 -0
  302. data/pkg/steam-condenser-1.3.9/doc/RCONAuthRequest.html +325 -0
  303. data/pkg/steam-condenser-1.3.9/doc/RCONAuthResponse.html +312 -0
  304. data/pkg/steam-condenser-1.3.9/doc/RCONBanError.html +257 -0
  305. data/pkg/steam-condenser-1.3.9/doc/RCONExecRequest.html +325 -0
  306. data/pkg/steam-condenser-1.3.9/doc/RCONExecResponse.html +416 -0
  307. data/pkg/steam-condenser-1.3.9/doc/RCONGoldSrcRequest.html +369 -0
  308. data/pkg/steam-condenser-1.3.9/doc/RCONGoldSrcResponse.html +375 -0
  309. data/pkg/steam-condenser-1.3.9/doc/RCONNoAuthError.html +256 -0
  310. data/pkg/steam-condenser-1.3.9/doc/RCONPacket.html +561 -0
  311. data/pkg/steam-condenser-1.3.9/doc/RCONPacketFactory.html +308 -0
  312. data/pkg/steam-condenser-1.3.9/doc/RCONSocket.html +725 -0
  313. data/pkg/steam-condenser-1.3.9/doc/RCONTerminator.html +312 -0
  314. data/pkg/steam-condenser-1.3.9/doc/RequestWithChallenge.html +238 -0
  315. data/pkg/steam-condenser-1.3.9/doc/S2A_INFO2_Packet.html +417 -0
  316. data/pkg/steam-condenser-1.3.9/doc/S2A_INFO_BasePacket.html +271 -0
  317. data/pkg/steam-condenser-1.3.9/doc/S2A_INFO_DETAILED_Packet.html +378 -0
  318. data/pkg/steam-condenser-1.3.9/doc/S2A_LOGSTRING_Packet.html +379 -0
  319. data/pkg/steam-condenser-1.3.9/doc/S2A_PLAYER_Packet.html +424 -0
  320. data/pkg/steam-condenser-1.3.9/doc/S2A_RULES_Packet.html +418 -0
  321. data/pkg/steam-condenser-1.3.9/doc/S2C_CHALLENGE_Packet.html +378 -0
  322. data/pkg/steam-condenser-1.3.9/doc/S2M_HEARTBEAT2_Packet.html +455 -0
  323. data/pkg/steam-condenser-1.3.9/doc/Server.html +886 -0
  324. data/pkg/steam-condenser-1.3.9/doc/SourceServer.html +920 -0
  325. data/pkg/steam-condenser-1.3.9/doc/SourceSocket.html +359 -0
  326. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser.html +157 -0
  327. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community.html +138 -0
  328. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/AbstractL4DStats.html +1026 -0
  329. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/AbstractL4DWeapon.html +749 -0
  330. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/AlienSwarmMission.html +1557 -0
  331. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/AlienSwarmStats.html +1013 -0
  332. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/AlienSwarmWeapon.html +641 -0
  333. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/AppNews.html +1441 -0
  334. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/CSSMap.html +805 -0
  335. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/CSSStats.html +866 -0
  336. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/CSSWeapon.html +889 -0
  337. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/Cacheable.html +911 -0
  338. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/Cacheable/ClassMethods.html +695 -0
  339. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/DefenseGridStats.html +2593 -0
  340. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/DoDSClass.html +1263 -0
  341. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/DoDSStats.html +520 -0
  342. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/DoDSWeapon.html +803 -0
  343. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/Dota2BetaInventory.html +354 -0
  344. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/Dota2Inventory.html +354 -0
  345. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/Dota2Item.html +388 -0
  346. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/Dota2Match.html +505 -0
  347. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/GameAchievement.html +1100 -0
  348. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/GameClass.html +321 -0
  349. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/GameInventory.html +1469 -0
  350. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/GameItem.html +1900 -0
  351. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/GameItemSchema.html +1444 -0
  352. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/GameLeaderboard.html +1707 -0
  353. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/GameLeaderboardEntry.html +630 -0
  354. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/GameStats.html +1461 -0
  355. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/GameStatsSchema.html +771 -0
  356. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/GameStatsValue.html +596 -0
  357. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/GameStatsValue/Instance.html +262 -0
  358. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/GameWeapon.html +608 -0
  359. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/L4D2Map.html +737 -0
  360. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/L4D2Stats.html +989 -0
  361. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/L4D2Weapon.html +486 -0
  362. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/L4DExplosive.html +375 -0
  363. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/L4DMap.html +775 -0
  364. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/L4DStats.html +564 -0
  365. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/L4DWeapon.html +296 -0
  366. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/Portal2Inventory.html +354 -0
  367. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/Portal2Item.html +603 -0
  368. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/Portal2Stats.html +400 -0
  369. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/SteamGame.html +1862 -0
  370. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/SteamGroup.html +1018 -0
  371. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/SteamId.html +4430 -0
  372. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/TF2BetaInventory.html +345 -0
  373. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/TF2Class.html +1186 -0
  374. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/TF2ClassFactory.html +273 -0
  375. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/TF2Engineer.html +555 -0
  376. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/TF2GoldenWrench.html +760 -0
  377. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/TF2Inventory.html +354 -0
  378. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/TF2Item.html +602 -0
  379. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/TF2Medic.html +463 -0
  380. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/TF2Sniper.html +372 -0
  381. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/TF2Spy.html +553 -0
  382. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/TF2Stats.html +728 -0
  383. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/UserStats.html +760 -0
  384. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/WebApi.html +1116 -0
  385. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Community/XMLData.html +274 -0
  386. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Error.html +380 -0
  387. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Error/PacketFormat.html +173 -0
  388. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Error/RCONBan.html +253 -0
  389. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Error/RCONNoAuth.html +252 -0
  390. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Error/Timeout.html +254 -0
  391. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Error/WebApi.html +354 -0
  392. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Logging.html +616 -0
  393. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers.html +137 -0
  394. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/BaseServer.html +870 -0
  395. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/GameServer.html +2428 -0
  396. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/GoldSrcServer.html +738 -0
  397. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/MasterServer.html +819 -0
  398. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Packets.html +132 -0
  399. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Packets/A2M_GET_SERVERS_BATCH2_Packet.html +427 -0
  400. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Packets/A2S_INFO_Packet.html +260 -0
  401. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Packets/A2S_PLAYER_Packet.html +295 -0
  402. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Packets/A2S_RULES_Packet.html +296 -0
  403. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Packets/A2S_SERVERQUERY_GETCHALLENGE_Packet.html +261 -0
  404. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Packets/BasePacket.html +462 -0
  405. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Packets/M2A_SERVER_BATCH_Packet.html +430 -0
  406. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Packets/RCON.html +119 -0
  407. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Packets/RCON/BasePacket.html +564 -0
  408. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Packets/RCON/RCONAuthRequest.html +317 -0
  409. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Packets/RCON/RCONAuthResponse.html +305 -0
  410. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Packets/RCON/RCONExecRequest.html +317 -0
  411. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Packets/RCON/RCONExecResponse.html +406 -0
  412. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Packets/RCON/RCONGoldSrcRequest.html +363 -0
  413. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Packets/RCON/RCONGoldSrcResponse.html +368 -0
  414. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Packets/RCON/RCONPacketFactory.html +302 -0
  415. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Packets/RCON/RCONTerminator.html +304 -0
  416. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Packets/RequestWithChallenge.html +233 -0
  417. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Packets/S2A_INFO2_Packet.html +416 -0
  418. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Packets/S2A_INFO_BasePacket.html +266 -0
  419. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Packets/S2A_INFO_DETAILED_Packet.html +371 -0
  420. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Packets/S2A_LOGSTRING_Packet.html +373 -0
  421. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Packets/S2A_PLAYER_Packet.html +417 -0
  422. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Packets/S2A_RULES_Packet.html +411 -0
  423. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Packets/S2C_CHALLENGE_Packet.html +370 -0
  424. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Packets/SteamPacketFactory.html +532 -0
  425. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Sockets.html +119 -0
  426. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Sockets/BaseSocket.html +733 -0
  427. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Sockets/GoldSrcSocket.html +862 -0
  428. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Sockets/MasterServerSocket.html +306 -0
  429. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Sockets/RCONSocket.html +709 -0
  430. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/Sockets/SourceSocket.html +367 -0
  431. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/SourceServer.html +892 -0
  432. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/Servers/SteamPlayer.html +1764 -0
  433. data/pkg/steam-condenser-1.3.9/doc/SteamCondenser/TimeoutError.html +260 -0
  434. data/pkg/steam-condenser-1.3.9/doc/SteamCondenserError.html +378 -0
  435. data/pkg/steam-condenser-1.3.9/doc/SteamGame.html +2001 -0
  436. data/pkg/steam-condenser-1.3.9/doc/SteamGroup.html +1587 -0
  437. data/pkg/steam-condenser-1.3.9/doc/SteamId.html +4428 -0
  438. data/pkg/steam-condenser-1.3.9/doc/SteamPacket.html +457 -0
  439. data/pkg/steam-condenser-1.3.9/doc/SteamPacketFactory.html +574 -0
  440. data/pkg/steam-condenser-1.3.9/doc/SteamPlayer.html +1808 -0
  441. data/pkg/steam-condenser-1.3.9/doc/SteamSocket.html +728 -0
  442. data/pkg/steam-condenser-1.3.9/doc/StringIO.html +986 -0
  443. data/pkg/steam-condenser-1.3.9/doc/TF2BetaInventory.html +338 -0
  444. data/pkg/steam-condenser-1.3.9/doc/TF2Class.html +1228 -0
  445. data/pkg/steam-condenser-1.3.9/doc/TF2ClassFactory.html +281 -0
  446. data/pkg/steam-condenser-1.3.9/doc/TF2Engineer.html +572 -0
  447. data/pkg/steam-condenser-1.3.9/doc/TF2GoldenWrench.html +776 -0
  448. data/pkg/steam-condenser-1.3.9/doc/TF2Inventory.html +363 -0
  449. data/pkg/steam-condenser-1.3.9/doc/TF2Item.html +617 -0
  450. data/pkg/steam-condenser-1.3.9/doc/TF2Medic.html +476 -0
  451. data/pkg/steam-condenser-1.3.9/doc/TF2Sniper.html +381 -0
  452. data/pkg/steam-condenser-1.3.9/doc/TF2Spy.html +567 -0
  453. data/pkg/steam-condenser-1.3.9/doc/TF2Stats.html +751 -0
  454. data/pkg/steam-condenser-1.3.9/doc/WebApi.html +1156 -0
  455. data/pkg/steam-condenser-1.3.9/doc/WebApiError.html +375 -0
  456. data/pkg/steam-condenser-1.3.9/doc/XMLData.html +280 -0
  457. data/pkg/steam-condenser-1.3.9/doc/_index.html +728 -0
  458. data/pkg/steam-condenser-1.3.9/doc/class_list.html +54 -0
  459. data/pkg/steam-condenser-1.3.9/doc/css/common.css +1 -0
  460. data/pkg/steam-condenser-1.3.9/doc/css/full_list.css +57 -0
  461. data/pkg/steam-condenser-1.3.9/doc/css/style.css +338 -0
  462. data/pkg/steam-condenser-1.3.9/doc/file.CHANGELOG.html +472 -0
  463. data/pkg/steam-condenser-1.3.9/doc/file.CONTRIBUTING.html +156 -0
  464. data/pkg/steam-condenser-1.3.9/doc/file.LICENSE.html +118 -0
  465. data/pkg/steam-condenser-1.3.9/doc/file.README.html +179 -0
  466. data/pkg/steam-condenser-1.3.9/doc/file_list.html +65 -0
  467. data/pkg/steam-condenser-1.3.9/doc/frames.html +26 -0
  468. data/pkg/steam-condenser-1.3.9/doc/index.html +179 -0
  469. data/pkg/steam-condenser-1.3.9/doc/js/app.js +219 -0
  470. data/pkg/steam-condenser-1.3.9/doc/js/full_list.js +178 -0
  471. data/pkg/steam-condenser-1.3.9/doc/js/jquery.js +4 -0
  472. data/pkg/steam-condenser-1.3.9/doc/method_list.html +3191 -0
  473. data/pkg/steam-condenser-1.3.9/doc/top-level-namespace.html +114 -0
  474. data/pkg/steam-condenser-1.3.9/lib/core_ext/stringio.rb +93 -0
  475. data/pkg/steam-condenser-1.3.9/lib/errors/packet_format_error.rb +13 -0
  476. data/pkg/steam-condenser-1.3.9/lib/errors/rcon_ban_error.rb +22 -0
  477. data/pkg/steam-condenser-1.3.9/lib/errors/rcon_no_auth_error.rb +21 -0
  478. data/pkg/steam-condenser-1.3.9/lib/errors/steam_condenser_error.rb +26 -0
  479. data/pkg/steam-condenser-1.3.9/lib/errors/timeout_error.rb +28 -0
  480. data/pkg/steam-condenser-1.3.9/lib/errors/web_api_error.rb +57 -0
  481. data/pkg/steam-condenser-1.3.9/lib/steam-condenser.rb +18 -0
  482. data/pkg/steam-condenser-1.3.9/lib/steam-condenser/community.rb +24 -0
  483. data/pkg/steam-condenser-1.3.9/lib/steam-condenser/servers.rb +24 -0
  484. data/pkg/steam-condenser-1.3.9/lib/steam-condenser/version.rb +11 -0
  485. data/pkg/steam-condenser-1.3.9/lib/steam/community/alien_swarm/alien_swarm_mission.rb +120 -0
  486. data/pkg/steam-condenser-1.3.9/lib/steam/community/alien_swarm/alien_swarm_stats.rb +188 -0
  487. data/pkg/steam-condenser-1.3.9/lib/steam/community/alien_swarm/alien_swarm_weapon.rb +49 -0
  488. data/pkg/steam-condenser-1.3.9/lib/steam/community/app_news.rb +133 -0
  489. data/pkg/steam-condenser-1.3.9/lib/steam/community/cacheable.rb +199 -0
  490. data/pkg/steam-condenser-1.3.9/lib/steam/community/css/css_map.rb +61 -0
  491. data/pkg/steam-condenser-1.3.9/lib/steam/community/css/css_stats.rb +140 -0
  492. data/pkg/steam-condenser-1.3.9/lib/steam/community/css/css_weapon.rb +69 -0
  493. data/pkg/steam-condenser-1.3.9/lib/steam/community/defense_grid/defense_grid_stats.rb +238 -0
  494. data/pkg/steam-condenser-1.3.9/lib/steam/community/dods/dods_class.rb +90 -0
  495. data/pkg/steam-condenser-1.3.9/lib/steam/community/dods/dods_stats.rb +62 -0
  496. data/pkg/steam-condenser-1.3.9/lib/steam/community/dods/dods_weapon.rb +67 -0
  497. data/pkg/steam-condenser-1.3.9/lib/steam/community/dota2/dota2_beta_inventory.rb +30 -0
  498. data/pkg/steam-condenser-1.3.9/lib/steam/community/dota2/dota2_inventory.rb +30 -0
  499. data/pkg/steam-condenser-1.3.9/lib/steam/community/dota2/dota2_item.rb +33 -0
  500. data/pkg/steam-condenser-1.3.9/lib/steam/community/game_achievement.rb +109 -0
  501. data/pkg/steam-condenser-1.3.9/lib/steam/community/game_class.rb +22 -0
  502. data/pkg/steam-condenser-1.3.9/lib/steam/community/game_inventory.rb +171 -0
  503. data/pkg/steam-condenser-1.3.9/lib/steam/community/game_item.rb +155 -0
  504. data/pkg/steam-condenser-1.3.9/lib/steam/community/game_item_schema.rb +131 -0
  505. data/pkg/steam-condenser-1.3.9/lib/steam/community/game_leaderboard.rb +212 -0
  506. data/pkg/steam-condenser-1.3.9/lib/steam/community/game_leaderboard_entry.rb +43 -0
  507. data/pkg/steam-condenser-1.3.9/lib/steam/community/game_stats.rb +175 -0
  508. data/pkg/steam-condenser-1.3.9/lib/steam/community/game_weapon.rb +41 -0
  509. data/pkg/steam-condenser-1.3.9/lib/steam/community/l4d/abstract_l4d_stats.rb +188 -0
  510. data/pkg/steam-condenser-1.3.9/lib/steam/community/l4d/abstract_l4d_weapon.rb +56 -0
  511. data/pkg/steam-condenser-1.3.9/lib/steam/community/l4d/l4d2_map.rb +90 -0
  512. data/pkg/steam-condenser-1.3.9/lib/steam/community/l4d/l4d2_stats.rb +179 -0
  513. data/pkg/steam-condenser-1.3.9/lib/steam/community/l4d/l4d2_weapon.rb +38 -0
  514. data/pkg/steam-condenser-1.3.9/lib/steam/community/l4d/l4d_explosive.rb +34 -0
  515. data/pkg/steam-condenser-1.3.9/lib/steam/community/l4d/l4d_map.rb +65 -0
  516. data/pkg/steam-condenser-1.3.9/lib/steam/community/l4d/l4d_stats.rb +73 -0
  517. data/pkg/steam-condenser-1.3.9/lib/steam/community/l4d/l4d_weapon.rb +26 -0
  518. data/pkg/steam-condenser-1.3.9/lib/steam/community/portal2/portal2_inventory.rb +30 -0
  519. data/pkg/steam-condenser-1.3.9/lib/steam/community/portal2/portal2_item.rb +55 -0
  520. data/pkg/steam-condenser-1.3.9/lib/steam/community/portal2/portal2_stats.rb +33 -0
  521. data/pkg/steam-condenser-1.3.9/lib/steam/community/steam_game.rb +193 -0
  522. data/pkg/steam-condenser-1.3.9/lib/steam/community/steam_group.rb +176 -0
  523. data/pkg/steam-condenser-1.3.9/lib/steam/community/steam_id.rb +496 -0
  524. data/pkg/steam-condenser-1.3.9/lib/steam/community/tf2/tf2_beta_inventory.rb +28 -0
  525. data/pkg/steam-condenser-1.3.9/lib/steam/community/tf2/tf2_class.rb +92 -0
  526. data/pkg/steam-condenser-1.3.9/lib/steam/community/tf2/tf2_class_factory.rb +40 -0
  527. data/pkg/steam-condenser-1.3.9/lib/steam/community/tf2/tf2_engineer.rb +43 -0
  528. data/pkg/steam-condenser-1.3.9/lib/steam/community/tf2/tf2_golden_wrench.rb +70 -0
  529. data/pkg/steam-condenser-1.3.9/lib/steam/community/tf2/tf2_inventory.rb +30 -0
  530. data/pkg/steam-condenser-1.3.9/lib/steam/community/tf2/tf2_item.rb +55 -0
  531. data/pkg/steam-condenser-1.3.9/lib/steam/community/tf2/tf2_medic.rb +35 -0
  532. data/pkg/steam-condenser-1.3.9/lib/steam/community/tf2/tf2_sniper.rb +28 -0
  533. data/pkg/steam-condenser-1.3.9/lib/steam/community/tf2/tf2_spy.rb +41 -0
  534. data/pkg/steam-condenser-1.3.9/lib/steam/community/tf2/tf2_stats.rb +77 -0
  535. data/pkg/steam-condenser-1.3.9/lib/steam/community/web_api.rb +139 -0
  536. data/pkg/steam-condenser-1.3.9/lib/steam/community/xml_data.rb +27 -0
  537. data/pkg/steam-condenser-1.3.9/lib/steam/packets/a2m_get_servers_batch2_packet.rb +59 -0
  538. data/pkg/steam-condenser-1.3.9/lib/steam/packets/a2s_info_packet.rb +24 -0
  539. data/pkg/steam-condenser-1.3.9/lib/steam/packets/a2s_player_packet.rb +31 -0
  540. data/pkg/steam-condenser-1.3.9/lib/steam/packets/a2s_rules_packet.rb +32 -0
  541. data/pkg/steam-condenser-1.3.9/lib/steam/packets/a2s_serverquery_getchallenge_packet.rb +25 -0
  542. data/pkg/steam-condenser-1.3.9/lib/steam/packets/c2m_checkmd5_packet.rb +31 -0
  543. data/pkg/steam-condenser-1.3.9/lib/steam/packets/m2a_server_batch_packet.rb +52 -0
  544. data/pkg/steam-condenser-1.3.9/lib/steam/packets/m2c_isvalidmd5_packet.rb +34 -0
  545. data/pkg/steam-condenser-1.3.9/lib/steam/packets/m2s_requestrestart_packet.rb +34 -0
  546. data/pkg/steam-condenser-1.3.9/lib/steam/packets/rcon/rcon_auth_request.rb +28 -0
  547. data/pkg/steam-condenser-1.3.9/lib/steam/packets/rcon/rcon_auth_response.rb +30 -0
  548. data/pkg/steam-condenser-1.3.9/lib/steam/packets/rcon/rcon_exec_request.rb +28 -0
  549. data/pkg/steam-condenser-1.3.9/lib/steam/packets/rcon/rcon_exec_response.rb +37 -0
  550. data/pkg/steam-condenser-1.3.9/lib/steam/packets/rcon/rcon_goldsrc_request.rb +35 -0
  551. data/pkg/steam-condenser-1.3.9/lib/steam/packets/rcon/rcon_goldsrc_response.rb +34 -0
  552. data/pkg/steam-condenser-1.3.9/lib/steam/packets/rcon/rcon_packet.rb +57 -0
  553. data/pkg/steam-condenser-1.3.9/lib/steam/packets/rcon/rcon_packet_factory.rb +43 -0
  554. data/pkg/steam-condenser-1.3.9/lib/steam/packets/rcon/rcon_terminator.rb +29 -0
  555. data/pkg/steam-condenser-1.3.9/lib/steam/packets/request_with_challenge.rb +19 -0
  556. data/pkg/steam-condenser-1.3.9/lib/steam/packets/s2a_info2_packet.rb +76 -0
  557. data/pkg/steam-condenser-1.3.9/lib/steam/packets/s2a_info_base_packet.rb +25 -0
  558. data/pkg/steam-condenser-1.3.9/lib/steam/packets/s2a_info_detailed_packet.rb +64 -0
  559. data/pkg/steam-condenser-1.3.9/lib/steam/packets/s2a_logstring_packet.rb +30 -0
  560. data/pkg/steam-condenser-1.3.9/lib/steam/packets/s2a_player_packet.rb +44 -0
  561. data/pkg/steam-condenser-1.3.9/lib/steam/packets/s2a_rules_packet.rb +48 -0
  562. data/pkg/steam-condenser-1.3.9/lib/steam/packets/s2c_challenge_packet.rb +35 -0
  563. data/pkg/steam-condenser-1.3.9/lib/steam/packets/s2m_heartbeat2_packet.rb +72 -0
  564. data/pkg/steam-condenser-1.3.9/lib/steam/packets/steam_packet.rb +52 -0
  565. data/pkg/steam-condenser-1.3.9/lib/steam/packets/steam_packet_factory.rb +113 -0
  566. data/pkg/steam-condenser-1.3.9/lib/steam/servers/game_server.rb +393 -0
  567. data/pkg/steam-condenser-1.3.9/lib/steam/servers/goldsrc_server.rb +74 -0
  568. data/pkg/steam-condenser-1.3.9/lib/steam/servers/master_server.rb +188 -0
  569. data/pkg/steam-condenser-1.3.9/lib/steam/servers/server.rb +115 -0
  570. data/pkg/steam-condenser-1.3.9/lib/steam/servers/source_server.rb +116 -0
  571. data/pkg/steam-condenser-1.3.9/lib/steam/sockets/goldsrc_socket.rb +142 -0
  572. data/pkg/steam-condenser-1.3.9/lib/steam/sockets/master_server_socket.rb +34 -0
  573. data/pkg/steam-condenser-1.3.9/lib/steam/sockets/rcon_socket.rb +107 -0
  574. data/pkg/steam-condenser-1.3.9/lib/steam/sockets/source_socket.rb +73 -0
  575. data/pkg/steam-condenser-1.3.9/lib/steam/sockets/steam_socket.rb +91 -0
  576. data/pkg/steam-condenser-1.3.9/lib/steam/steam_player.rb +143 -0
  577. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1.gem +0 -0
  578. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/CHANGELOG.md +233 -0
  579. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/CONTRIBUTING.md +59 -0
  580. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/Gemfile +11 -0
  581. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/LICENSE +25 -0
  582. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/README.md +75 -0
  583. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/Rakefile +46 -0
  584. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/A2M_GET_SERVERS_BATCH2_Packet.html +446 -0
  585. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/A2S_INFO_Packet.html +264 -0
  586. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/A2S_PLAYER_Packet.html +300 -0
  587. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/A2S_RULES_Packet.html +302 -0
  588. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/A2S_SERVERQUERY_GETCHALLENGE_Packet.html +266 -0
  589. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/AbstractL4DStats.html +1033 -0
  590. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/AbstractL4DWeapon.html +752 -0
  591. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/AlienSwarmMission.html +1598 -0
  592. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/AlienSwarmStats.html +1035 -0
  593. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/AlienSwarmWeapon.html +653 -0
  594. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/AppNews.html +1489 -0
  595. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/C2M_CHECKMD5_Packet.html +347 -0
  596. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/CSSMap.html +824 -0
  597. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/CSSStats.html +888 -0
  598. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/CSSWeapon.html +910 -0
  599. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/Cacheable.html +942 -0
  600. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/Cacheable/ClassMethods.html +721 -0
  601. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/DefenseGridStats.html +2659 -0
  602. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/DoDSClass.html +1291 -0
  603. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/DoDSStats.html +537 -0
  604. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/DoDSWeapon.html +824 -0
  605. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/Dota2BetaInventory.html +363 -0
  606. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/Dota2Inventory.html +363 -0
  607. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/Dota2Item.html +396 -0
  608. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/GameAchievement.html +1292 -0
  609. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/GameClass.html +328 -0
  610. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/GameInventory.html +1512 -0
  611. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/GameItem.html +1926 -0
  612. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/GameItemSchema.html +1477 -0
  613. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/GameLeaderboard.html +1741 -0
  614. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/GameLeaderboardEntry.html +642 -0
  615. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/GameServer.html +2495 -0
  616. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/GameStats.html +1501 -0
  617. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/GameWeapon.html +603 -0
  618. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/GoldSrcServer.html +766 -0
  619. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/GoldSrcSocket.html +874 -0
  620. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/L4D2Map.html +758 -0
  621. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/L4D2Stats.html +1020 -0
  622. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/L4D2Weapon.html +496 -0
  623. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/L4DExplosive.html +383 -0
  624. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/L4DMap.html +789 -0
  625. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/L4DStats.html +579 -0
  626. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/L4DWeapon.html +302 -0
  627. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/M2A_SERVER_BATCH_Packet.html +439 -0
  628. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/M2C_ISVALIDMD5_Packet.html +390 -0
  629. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/M2S_REQUESTRESTART_Packet.html +390 -0
  630. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/MasterServer.html +1104 -0
  631. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/MasterServerSocket.html +300 -0
  632. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/PacketFormatError.html +176 -0
  633. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/Portal2Inventory.html +363 -0
  634. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/Portal2Item.html +616 -0
  635. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/Portal2Stats.html +413 -0
  636. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/RCONAuthRequest.html +325 -0
  637. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/RCONAuthResponse.html +312 -0
  638. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/RCONBanError.html +257 -0
  639. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/RCONExecRequest.html +325 -0
  640. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/RCONExecResponse.html +416 -0
  641. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/RCONGoldSrcRequest.html +369 -0
  642. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/RCONGoldSrcResponse.html +375 -0
  643. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/RCONNoAuthError.html +256 -0
  644. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/RCONPacket.html +561 -0
  645. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/RCONPacketFactory.html +308 -0
  646. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/RCONSocket.html +725 -0
  647. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/RCONTerminator.html +312 -0
  648. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/RequestWithChallenge.html +238 -0
  649. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/S2A_INFO2_Packet.html +417 -0
  650. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/S2A_INFO_BasePacket.html +271 -0
  651. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/S2A_INFO_DETAILED_Packet.html +378 -0
  652. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/S2A_LOGSTRING_Packet.html +379 -0
  653. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/S2A_PLAYER_Packet.html +424 -0
  654. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/S2A_RULES_Packet.html +418 -0
  655. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/S2C_CHALLENGE_Packet.html +378 -0
  656. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/S2M_HEARTBEAT2_Packet.html +455 -0
  657. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/Server.html +886 -0
  658. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SourceServer.html +920 -0
  659. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SourceSocket.html +359 -0
  660. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser.html +157 -0
  661. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community.html +138 -0
  662. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/AbstractL4DStats.html +1026 -0
  663. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/AbstractL4DWeapon.html +749 -0
  664. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/AlienSwarmMission.html +1557 -0
  665. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/AlienSwarmStats.html +1013 -0
  666. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/AlienSwarmWeapon.html +641 -0
  667. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/AppNews.html +1441 -0
  668. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/CSSMap.html +805 -0
  669. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/CSSStats.html +866 -0
  670. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/CSSWeapon.html +889 -0
  671. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/Cacheable.html +911 -0
  672. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/Cacheable/ClassMethods.html +695 -0
  673. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/DefenseGridStats.html +2593 -0
  674. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/DoDSClass.html +1263 -0
  675. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/DoDSStats.html +520 -0
  676. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/DoDSWeapon.html +803 -0
  677. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/Dota2BetaInventory.html +354 -0
  678. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/Dota2Inventory.html +354 -0
  679. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/Dota2Item.html +388 -0
  680. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/Dota2Match.html +505 -0
  681. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/GameAchievement.html +1100 -0
  682. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/GameClass.html +321 -0
  683. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/GameInventory.html +1469 -0
  684. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/GameItem.html +1900 -0
  685. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/GameItemSchema.html +1444 -0
  686. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/GameLeaderboard.html +1707 -0
  687. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/GameLeaderboardEntry.html +630 -0
  688. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/GameStats.html +1461 -0
  689. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/GameStatsSchema.html +771 -0
  690. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/GameStatsValue.html +596 -0
  691. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/GameStatsValue/Instance.html +262 -0
  692. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/GameWeapon.html +608 -0
  693. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/L4D2Map.html +737 -0
  694. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/L4D2Stats.html +989 -0
  695. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/L4D2Weapon.html +486 -0
  696. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/L4DExplosive.html +375 -0
  697. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/L4DMap.html +775 -0
  698. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/L4DStats.html +564 -0
  699. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/L4DWeapon.html +296 -0
  700. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/Portal2Inventory.html +354 -0
  701. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/Portal2Item.html +603 -0
  702. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/Portal2Stats.html +400 -0
  703. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/SteamGame.html +1862 -0
  704. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/SteamGroup.html +1018 -0
  705. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/SteamId.html +4430 -0
  706. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/TF2BetaInventory.html +345 -0
  707. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/TF2Class.html +1186 -0
  708. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/TF2ClassFactory.html +273 -0
  709. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/TF2Engineer.html +555 -0
  710. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/TF2GoldenWrench.html +760 -0
  711. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/TF2Inventory.html +354 -0
  712. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/TF2Item.html +602 -0
  713. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/TF2Medic.html +463 -0
  714. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/TF2Sniper.html +372 -0
  715. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/TF2Spy.html +553 -0
  716. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/TF2Stats.html +728 -0
  717. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/UserStats.html +760 -0
  718. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/WebApi.html +1116 -0
  719. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Community/XMLData.html +274 -0
  720. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Error.html +380 -0
  721. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Error/PacketFormat.html +173 -0
  722. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Error/RCONBan.html +253 -0
  723. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Error/RCONNoAuth.html +252 -0
  724. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Error/Timeout.html +254 -0
  725. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Error/WebApi.html +354 -0
  726. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Logging.html +616 -0
  727. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers.html +137 -0
  728. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/BaseServer.html +870 -0
  729. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/GameServer.html +2428 -0
  730. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/GoldSrcServer.html +738 -0
  731. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/MasterServer.html +819 -0
  732. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Packets.html +132 -0
  733. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Packets/A2M_GET_SERVERS_BATCH2_Packet.html +427 -0
  734. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Packets/A2S_INFO_Packet.html +260 -0
  735. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Packets/A2S_PLAYER_Packet.html +295 -0
  736. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Packets/A2S_RULES_Packet.html +296 -0
  737. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Packets/A2S_SERVERQUERY_GETCHALLENGE_Packet.html +261 -0
  738. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Packets/BasePacket.html +462 -0
  739. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Packets/M2A_SERVER_BATCH_Packet.html +430 -0
  740. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Packets/RCON.html +119 -0
  741. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Packets/RCON/BasePacket.html +564 -0
  742. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Packets/RCON/RCONAuthRequest.html +317 -0
  743. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Packets/RCON/RCONAuthResponse.html +305 -0
  744. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Packets/RCON/RCONExecRequest.html +317 -0
  745. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Packets/RCON/RCONExecResponse.html +406 -0
  746. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Packets/RCON/RCONGoldSrcRequest.html +363 -0
  747. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Packets/RCON/RCONGoldSrcResponse.html +368 -0
  748. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Packets/RCON/RCONPacketFactory.html +302 -0
  749. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Packets/RCON/RCONTerminator.html +304 -0
  750. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Packets/RequestWithChallenge.html +233 -0
  751. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Packets/S2A_INFO2_Packet.html +416 -0
  752. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Packets/S2A_INFO_BasePacket.html +266 -0
  753. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Packets/S2A_INFO_DETAILED_Packet.html +371 -0
  754. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Packets/S2A_LOGSTRING_Packet.html +373 -0
  755. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Packets/S2A_PLAYER_Packet.html +417 -0
  756. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Packets/S2A_RULES_Packet.html +411 -0
  757. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Packets/S2C_CHALLENGE_Packet.html +370 -0
  758. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Packets/SteamPacketFactory.html +532 -0
  759. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Sockets.html +119 -0
  760. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Sockets/BaseSocket.html +733 -0
  761. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Sockets/GoldSrcSocket.html +862 -0
  762. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Sockets/MasterServerSocket.html +306 -0
  763. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Sockets/RCONSocket.html +709 -0
  764. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/Sockets/SourceSocket.html +367 -0
  765. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/SourceServer.html +892 -0
  766. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/Servers/SteamPlayer.html +1764 -0
  767. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenser/TimeoutError.html +260 -0
  768. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamCondenserError.html +378 -0
  769. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamGame.html +2001 -0
  770. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamGroup.html +1587 -0
  771. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamId.html +4428 -0
  772. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamPacket.html +457 -0
  773. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamPacketFactory.html +574 -0
  774. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamPlayer.html +1808 -0
  775. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/SteamSocket.html +728 -0
  776. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/StringIO.html +986 -0
  777. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/TF2BetaInventory.html +338 -0
  778. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/TF2Class.html +1228 -0
  779. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/TF2ClassFactory.html +281 -0
  780. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/TF2Engineer.html +572 -0
  781. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/TF2GoldenWrench.html +776 -0
  782. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/TF2Inventory.html +363 -0
  783. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/TF2Item.html +617 -0
  784. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/TF2Medic.html +476 -0
  785. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/TF2Sniper.html +381 -0
  786. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/TF2Spy.html +567 -0
  787. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/TF2Stats.html +751 -0
  788. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/WebApi.html +1156 -0
  789. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/WebApiError.html +375 -0
  790. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/XMLData.html +280 -0
  791. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/_index.html +728 -0
  792. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/class_list.html +54 -0
  793. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/css/common.css +1 -0
  794. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/css/full_list.css +57 -0
  795. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/css/style.css +338 -0
  796. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/file.CHANGELOG.html +472 -0
  797. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/file.CONTRIBUTING.html +156 -0
  798. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/file.LICENSE.html +118 -0
  799. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/file.README.html +179 -0
  800. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/file_list.html +65 -0
  801. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/frames.html +26 -0
  802. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/index.html +179 -0
  803. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/js/app.js +219 -0
  804. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/js/full_list.js +178 -0
  805. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/js/jquery.js +4 -0
  806. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/method_list.html +3191 -0
  807. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/doc/top-level-namespace.html +114 -0
  808. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/core_ext/stringio.rb +93 -0
  809. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/errors/packet_format_error.rb +13 -0
  810. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/errors/rcon_ban_error.rb +22 -0
  811. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/errors/rcon_no_auth_error.rb +21 -0
  812. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/errors/steam_condenser_error.rb +26 -0
  813. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/errors/timeout_error.rb +28 -0
  814. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/errors/web_api_error.rb +57 -0
  815. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam-condenser.rb +18 -0
  816. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam-condenser/community.rb +24 -0
  817. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam-condenser/servers.rb +24 -0
  818. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam-condenser/version.rb +11 -0
  819. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/alien_swarm/alien_swarm_mission.rb +120 -0
  820. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/alien_swarm/alien_swarm_stats.rb +188 -0
  821. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/alien_swarm/alien_swarm_weapon.rb +49 -0
  822. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/app_news.rb +133 -0
  823. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/cacheable.rb +199 -0
  824. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/css/css_map.rb +61 -0
  825. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/css/css_stats.rb +140 -0
  826. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/css/css_weapon.rb +69 -0
  827. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/defense_grid/defense_grid_stats.rb +238 -0
  828. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/dods/dods_class.rb +90 -0
  829. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/dods/dods_stats.rb +62 -0
  830. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/dods/dods_weapon.rb +67 -0
  831. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/dota2/dota2_beta_inventory.rb +30 -0
  832. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/dota2/dota2_inventory.rb +30 -0
  833. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/dota2/dota2_item.rb +33 -0
  834. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/game_achievement.rb +109 -0
  835. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/game_class.rb +22 -0
  836. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/game_inventory.rb +171 -0
  837. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/game_item.rb +155 -0
  838. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/game_item_schema.rb +131 -0
  839. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/game_leaderboard.rb +212 -0
  840. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/game_leaderboard_entry.rb +43 -0
  841. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/game_stats.rb +175 -0
  842. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/game_weapon.rb +41 -0
  843. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/l4d/abstract_l4d_stats.rb +188 -0
  844. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/l4d/abstract_l4d_weapon.rb +56 -0
  845. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/l4d/l4d2_map.rb +90 -0
  846. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/l4d/l4d2_stats.rb +179 -0
  847. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/l4d/l4d2_weapon.rb +38 -0
  848. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/l4d/l4d_explosive.rb +34 -0
  849. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/l4d/l4d_map.rb +65 -0
  850. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/l4d/l4d_stats.rb +73 -0
  851. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/l4d/l4d_weapon.rb +26 -0
  852. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/portal2/portal2_inventory.rb +30 -0
  853. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/portal2/portal2_item.rb +55 -0
  854. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/portal2/portal2_stats.rb +33 -0
  855. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/steam_game.rb +193 -0
  856. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/steam_group.rb +176 -0
  857. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/steam_id.rb +496 -0
  858. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/tf2/tf2_beta_inventory.rb +28 -0
  859. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/tf2/tf2_class.rb +92 -0
  860. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/tf2/tf2_class_factory.rb +40 -0
  861. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/tf2/tf2_engineer.rb +43 -0
  862. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/tf2/tf2_golden_wrench.rb +70 -0
  863. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/tf2/tf2_inventory.rb +30 -0
  864. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/tf2/tf2_item.rb +55 -0
  865. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/tf2/tf2_medic.rb +35 -0
  866. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/tf2/tf2_sniper.rb +28 -0
  867. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/tf2/tf2_spy.rb +41 -0
  868. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/tf2/tf2_stats.rb +77 -0
  869. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/web_api.rb +139 -0
  870. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/community/xml_data.rb +27 -0
  871. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/packets/a2m_get_servers_batch2_packet.rb +59 -0
  872. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/packets/a2s_info_packet.rb +24 -0
  873. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/packets/a2s_player_packet.rb +31 -0
  874. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/packets/a2s_rules_packet.rb +32 -0
  875. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/packets/a2s_serverquery_getchallenge_packet.rb +25 -0
  876. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/packets/c2m_checkmd5_packet.rb +31 -0
  877. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/packets/m2a_server_batch_packet.rb +52 -0
  878. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/packets/m2c_isvalidmd5_packet.rb +34 -0
  879. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/packets/m2s_requestrestart_packet.rb +34 -0
  880. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/packets/rcon/rcon_auth_request.rb +28 -0
  881. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/packets/rcon/rcon_auth_response.rb +30 -0
  882. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/packets/rcon/rcon_exec_request.rb +28 -0
  883. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/packets/rcon/rcon_exec_response.rb +37 -0
  884. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/packets/rcon/rcon_goldsrc_request.rb +35 -0
  885. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/packets/rcon/rcon_goldsrc_response.rb +34 -0
  886. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/packets/rcon/rcon_packet.rb +57 -0
  887. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/packets/rcon/rcon_packet_factory.rb +43 -0
  888. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/packets/rcon/rcon_terminator.rb +29 -0
  889. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/packets/request_with_challenge.rb +19 -0
  890. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/packets/s2a_info2_packet.rb +76 -0
  891. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/packets/s2a_info_base_packet.rb +25 -0
  892. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/packets/s2a_info_detailed_packet.rb +64 -0
  893. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/packets/s2a_logstring_packet.rb +30 -0
  894. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/packets/s2a_player_packet.rb +44 -0
  895. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/packets/s2a_rules_packet.rb +48 -0
  896. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/packets/s2c_challenge_packet.rb +35 -0
  897. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/packets/s2m_heartbeat2_packet.rb +72 -0
  898. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/packets/steam_packet.rb +52 -0
  899. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/packets/steam_packet_factory.rb +113 -0
  900. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/servers/game_server.rb +393 -0
  901. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/servers/goldsrc_server.rb +74 -0
  902. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/servers/master_server.rb +188 -0
  903. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/servers/server.rb +115 -0
  904. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/servers/source_server.rb +123 -0
  905. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/sockets/goldsrc_socket.rb +142 -0
  906. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/sockets/master_server_socket.rb +34 -0
  907. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/sockets/rcon_socket.rb +103 -0
  908. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/sockets/source_socket.rb +73 -0
  909. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/sockets/steam_socket.rb +91 -0
  910. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/lib/steam/steam_player.rb +143 -0
  911. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/steam-condenser.gemspec +25 -0
  912. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/test/core_ext/test_stringio.rb +59 -0
  913. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/test/fixtures/invalid.xml +2 -0
  914. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/test/fixtures/sonofthor.xml +882 -0
  915. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/test/fixtures/status_goldsrc +3 -0
  916. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/test/fixtures/status_source +3 -0
  917. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/test/fixtures/valve-members.xml +261 -0
  918. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/test/helper.rb +48 -0
  919. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/test/steam/community/test_cacheable.rb +103 -0
  920. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/test/steam/community/test_steam_group.rb +94 -0
  921. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/test/steam/community/test_steam_id.rb +144 -0
  922. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/test/steam/community/test_web_api.rb +124 -0
  923. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/test/steam/packets/test_steam_packet.rb +37 -0
  924. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/test/steam/servers/test_game_server.rb +296 -0
  925. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/test/steam/servers/test_goldsrc_server.rb +59 -0
  926. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/test/steam/servers/test_master_server.rb +131 -0
  927. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/test/steam/servers/test_server.rb +72 -0
  928. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/test/steam/servers/test_source_server.rb +145 -0
  929. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/test/steam/sockets/test_goldsrc_socket.rb +127 -0
  930. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/test/steam/sockets/test_master_server_socket.rb +42 -0
  931. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/test/steam/sockets/test_rcon_socket.rb +118 -0
  932. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/test/steam/sockets/test_source_socket.rb +77 -0
  933. data/pkg/steam-condenser-1.3.9/pkg/steam-condenser-1.3.8.1/test/steam/sockets/test_steam_socket.rb +97 -0
  934. data/pkg/steam-condenser-1.3.9/steam-condenser.gemspec +25 -0
  935. data/pkg/steam-condenser-1.3.9/test/core_ext/test_stringio.rb +59 -0
  936. data/pkg/steam-condenser-1.3.9/test/fixtures/invalid.xml +2 -0
  937. data/pkg/steam-condenser-1.3.9/test/fixtures/sonofthor.xml +882 -0
  938. data/pkg/steam-condenser-1.3.9/test/fixtures/status_goldsrc +3 -0
  939. data/pkg/steam-condenser-1.3.9/test/fixtures/status_source +3 -0
  940. data/pkg/steam-condenser-1.3.9/test/fixtures/valve-members.xml +261 -0
  941. data/pkg/steam-condenser-1.3.9/test/helper.rb +48 -0
  942. data/pkg/steam-condenser-1.3.9/test/steam/community/test_cacheable.rb +103 -0
  943. data/pkg/steam-condenser-1.3.9/test/steam/community/test_steam_group.rb +94 -0
  944. data/pkg/steam-condenser-1.3.9/test/steam/community/test_steam_id.rb +144 -0
  945. data/pkg/steam-condenser-1.3.9/test/steam/community/test_web_api.rb +124 -0
  946. data/pkg/steam-condenser-1.3.9/test/steam/packets/test_steam_packet.rb +37 -0
  947. data/pkg/steam-condenser-1.3.9/test/steam/servers/test_game_server.rb +296 -0
  948. data/pkg/steam-condenser-1.3.9/test/steam/servers/test_goldsrc_server.rb +59 -0
  949. data/pkg/steam-condenser-1.3.9/test/steam/servers/test_master_server.rb +131 -0
  950. data/pkg/steam-condenser-1.3.9/test/steam/servers/test_server.rb +72 -0
  951. data/pkg/steam-condenser-1.3.9/test/steam/servers/test_source_server.rb +145 -0
  952. data/pkg/steam-condenser-1.3.9/test/steam/sockets/test_goldsrc_socket.rb +127 -0
  953. data/pkg/steam-condenser-1.3.9/test/steam/sockets/test_master_server_socket.rb +42 -0
  954. data/pkg/steam-condenser-1.3.9/test/steam/sockets/test_rcon_socket.rb +114 -0
  955. data/pkg/steam-condenser-1.3.9/test/steam/sockets/test_source_socket.rb +77 -0
  956. data/pkg/steam-condenser-1.3.9/test/steam/sockets/test_steam_socket.rb +97 -0
  957. data/steam-condenser.gemspec +2 -0
  958. metadata +733 -18
@@ -0,0 +1,113 @@
1
+ # This code is free software; you can redistribute it and/or modify it under
2
+ # the terms of the new BSD License.
3
+ #
4
+ # Copyright (c) 2008-2013, Sebastian Staudt
5
+
6
+ require 'zlib'
7
+
8
+ require 'errors/packet_format_error'
9
+ require 'steam/packets/s2a_info_detailed_packet'
10
+ require 'steam/packets/a2s_info_packet'
11
+ require 'steam/packets/s2a_info2_packet'
12
+ require 'steam/packets/a2s_player_packet'
13
+ require 'steam/packets/s2a_player_packet'
14
+ require 'steam/packets/a2s_rules_packet'
15
+ require 'steam/packets/s2a_rules_packet'
16
+ require 'steam/packets/a2s_serverquery_getchallenge_packet'
17
+ require 'steam/packets/s2c_challenge_packet'
18
+ require 'steam/packets/a2m_get_servers_batch2_packet'
19
+ require 'steam/packets/m2a_server_batch_packet'
20
+ require 'steam/packets/m2c_isvalidmd5_packet'
21
+ require 'steam/packets/m2s_requestrestart_packet'
22
+ require 'steam/packets/s2a_logstring_packet'
23
+ require 'steam/packets/rcon/rcon_goldsrc_response'
24
+
25
+ # This module provides functionality to handle raw packet data, including
26
+ # data split into several UDP / TCP packets and BZIP2 compressed data. It's the
27
+ # main utility to transform data bytes into packet objects.
28
+ #
29
+ # @author Sebastian Staudt
30
+ # @see SteamPacket
31
+ module SteamPacketFactory
32
+
33
+ # Creates a new packet object based on the header byte of the given raw data
34
+ #
35
+ # @param [String] raw_data The raw data of the packet
36
+ # @raise [SteamCondenserError] if the packet header is not recognized
37
+ # @return [SteamPacket] The packet object generated from the packet data
38
+ def self.packet_from_data(raw_data)
39
+ header = raw_data[0].ord
40
+ data = raw_data[1..-1]
41
+
42
+ case header
43
+ when SteamPacket::S2A_INFO_DETAILED_HEADER
44
+ return S2A_INFO_DETAILED_Packet.new(data)
45
+ when SteamPacket::A2S_INFO_HEADER
46
+ return A2S_INFO_Packet.new
47
+ when SteamPacket::S2A_INFO2_HEADER
48
+ return S2A_INFO2_Packet.new(data)
49
+ when SteamPacket::A2S_PLAYER_HEADER
50
+ return A2S_PLAYER_Packet.new
51
+ when SteamPacket::S2A_PLAYER_HEADER
52
+ return S2A_PLAYER_Packet.new(data)
53
+ when SteamPacket::A2S_RULES_HEADER
54
+ return A2S_RULES_Packet
55
+ when SteamPacket::S2A_RULES_HEADER
56
+ return S2A_RULES_Packet.new(data)
57
+ when SteamPacket::A2S_SERVERQUERY_GETCHALLENGE_HEADER
58
+ return A2S_SERVERQUERY_GETCHALLENGE_Packet.new
59
+ when SteamPacket::S2C_CHALLENGE_HEADER
60
+ return S2C_CHALLENGE_Packet.new(data)
61
+ when SteamPacket::A2M_GET_SERVERS_BATCH2_HEADER
62
+ return A2M_GET_SERVERS_BATCH2_Packet.new(data)
63
+ when SteamPacket::M2A_SERVER_BATCH_HEADER
64
+ return M2A_SERVER_BATCH_Packet.new(data)
65
+ when SteamPacket::M2C_ISVALIDMD5_HEADER
66
+ return M2C_ISVALIDMD5_Packet.new(data)
67
+ when SteamPacket::M2S_REQUESTRESTART_HEADER
68
+ return M2S_REQUESTRESTART_Packet.new(data)
69
+ when SteamPacket::RCON_GOLDSRC_CHALLENGE_HEADER,
70
+ SteamPacket::RCON_GOLDSRC_NO_CHALLENGE_HEADER,
71
+ SteamPacket::RCON_GOLDSRC_RESPONSE_HEADER
72
+ return RCONGoldSrcResponse.new(data)
73
+ when SteamPacket::S2A_LOGSTRING_HEADER
74
+ return S2A_LOGSTRING_Packet.new(data)
75
+ else
76
+ raise PacketFormatError, "Unknown packet with header 0x#{header.to_s(16)} received."
77
+ end
78
+ end
79
+
80
+ # Reassembles the data of a split and/or compressed packet into a single
81
+ # packet object
82
+ #
83
+ # @param [Array<String>] split_packets An array of packet data
84
+ # @param [Boolean] is_compressed whether the data of this packet is
85
+ # compressed
86
+ # @param [Fixnum] packet_checksum The CRC32 checksum of the decompressed
87
+ # packet data
88
+ # @raise [SteamCondenserError] if the bz2 gem is not installed
89
+ # @raise [PacketFormatError] if the calculated CRC32 checksum does not match
90
+ # the expected value
91
+ # @return [SteamPacket] The reassembled packet
92
+ # @see packet_from_data
93
+ def self.reassemble_packet(split_packets, is_compressed = false, packet_checksum = 0)
94
+ packet_data = split_packets.join ''
95
+
96
+ if is_compressed
97
+ begin
98
+ require 'bzip2-ruby'
99
+ rescue LoadError
100
+ raise SteamCondenserError, 'The "bzip2-ruby" gem is not installed. Please install it, if you want to query Source servers sending compressed packets.'
101
+ end
102
+
103
+ packet_data = Bzip2.decompress packet_data
104
+
105
+ unless Zlib.crc32(packet_data) == packet_checksum
106
+ raise PacketFormatError, 'CRC32 checksum mismatch of uncompressed packet data.'
107
+ end
108
+ end
109
+
110
+ packet_from_data packet_data[4..-1]
111
+ end
112
+
113
+ end
@@ -0,0 +1,393 @@
1
+ # This code is free software; you can redistribute it and/or modify it under
2
+ # the terms of the new BSD License.
3
+ #
4
+ # Copyright (c) 2008-2013, Sebastian Staudt
5
+
6
+ require 'errors/steam_condenser_error'
7
+ require 'errors/timeout_error'
8
+ require 'steam/steam_player'
9
+ require 'steam/packets/a2s_info_packet'
10
+ require 'steam/packets/a2s_player_packet'
11
+ require 'steam/packets/a2s_rules_packet'
12
+ require 'steam/packets/a2s_serverquery_getchallenge_packet'
13
+ require 'steam/packets/s2a_info_base_packet'
14
+ require 'steam/packets/s2a_player_packet'
15
+ require 'steam/packets/s2a_rules_packet'
16
+ require 'steam/packets/s2c_challenge_packet'
17
+ require 'steam/servers/server'
18
+
19
+ # This module is included by classes representing different game server
20
+ # implementations and provides the basic functionality to communicate with
21
+ # them using the common query protocol
22
+ #
23
+ # @author Sebastian Staudt
24
+ module GameServer
25
+
26
+ include Server
27
+
28
+ # Parses the player attribute names supplied by `rcon status`
29
+ #
30
+ # @param [String] status_header The header line provided by `rcon status`
31
+ # @return [Array<Symbol>] Split player attribute names
32
+ # @see .split_player_status
33
+ def self.player_status_attributes(status_header)
34
+ status_header.split.map do |attribute|
35
+ case attribute
36
+ when 'connected'
37
+ :time
38
+ when 'frag'
39
+ :score
40
+ else
41
+ attribute.to_sym
42
+ end
43
+ end
44
+ end
45
+
46
+ # Splits the player status obtained with `rcon status`
47
+ #
48
+ # @param [Array<Symbol>] attributes The attribute names
49
+ # @param [String] player_status The status line of a single player
50
+ # @return [Hash<Symbol, String>] The attributes with the corresponding values
51
+ # for this player
52
+ # @see .player_status_attributes
53
+ def self.split_player_status(attributes, player_status)
54
+ player_status.sub! /^\d+ +/, '' if attributes.first != :userid
55
+
56
+ first_quote = player_status.index '"'
57
+ last_quote = player_status.rindex '"'
58
+ data = [
59
+ player_status[0, first_quote],
60
+ player_status[first_quote + 1..last_quote - 1],
61
+ player_status[last_quote + 1..-1]
62
+ ]
63
+ data = [ data[0].split, data[1], data[2].split ]
64
+ data.flatten!
65
+
66
+ if attributes.size > data.size && attributes.include?(:state)
67
+ data.insert 3, nil, nil, nil
68
+ elsif attributes.size < data.size
69
+ data.delete_at 1
70
+ end
71
+
72
+ player_data = {}
73
+ data.each_index do |i|
74
+ player_data[attributes[i]] = data[i]
75
+ end
76
+
77
+ player_data
78
+ end
79
+
80
+ # Creates a new instance of a game server object
81
+ #
82
+ # @param [String] address Either an IP address, a DNS name or one of them
83
+ # combined with the port number. If a port number is given, e.g.
84
+ # 'server.example.com:27016' it will override the second argument.
85
+ # @param [Fixnum] port The port the server is listening on
86
+ # @raise [SteamCondenserError] if an host name cannot be resolved
87
+ def initialize(address, port = 27015)
88
+ super
89
+
90
+ @rcon_authenticated = false
91
+ end
92
+
93
+ # Returns the last measured response time of this server
94
+ #
95
+ # If the latency hasn't been measured yet, it is done when calling this
96
+ # method for the first time.
97
+ #
98
+ # If this information is vital to you, be sure to call {#update_ping}
99
+ # regularly to stay up-to-date.
100
+ #
101
+ # @return [Fixnum] The latency of this server in milliseconds
102
+ # @see #update_ping
103
+ def ping
104
+ update_ping if @ping.nil?
105
+ @ping
106
+ end
107
+
108
+ # Returns a list of players currently playing on this server
109
+ #
110
+ # If the players haven't been fetched yet, it is done when calling this
111
+ # method for the first time.
112
+ #
113
+ # As the players and their scores change quite often be sure to update this
114
+ # list regularly by calling {#update_players} if you rely on this
115
+ # information.
116
+ #
117
+ # @param [String] rcon_password The RCON password of this server may be
118
+ # provided to gather more detailed information on the players, like
119
+ # STEAM_IDs.
120
+ # @return [Hash] The players on this server
121
+ # @see update_players
122
+ def players(rcon_password = nil)
123
+ update_players(rcon_password) if @player_hash.nil?
124
+ @player_hash
125
+ end
126
+
127
+ # Authenticates the connection for RCON communication with the server
128
+ #
129
+ # @abstract Must be be implemented by including classes to handle the
130
+ # authentication
131
+ # @param [String] password The RCON password of the server
132
+ # @return [Boolean] whether the authentication was successful
133
+ # @see #rcon_exec
134
+ def rcon_auth(password)
135
+ raise NotImplementedError
136
+ end
137
+
138
+ # Returns whether the RCON connection to this server is already authenticated
139
+ #
140
+ # @return [Boolean] `true` if the RCON connection is authenticated
141
+ # @see #rcon_auth
142
+ def rcon_authenticated?
143
+ @rcon_authenticated
144
+ end
145
+
146
+ # Remotely executes a command on the server via RCON
147
+ #
148
+ # @abstract Must be be implemented by including classes to handle the command
149
+ # execution
150
+ # @param [String] command The command to execute on the server
151
+ # @return [String] The output of the executed command
152
+ # @see #rcon_auth
153
+ def rcon_exec(command)
154
+ raise NotImplementedError
155
+ end
156
+
157
+ # Returns the settings applied on the server. These settings are also called
158
+ # rules.
159
+ #
160
+ # If the rules haven't been fetched yet, it is done when calling this method
161
+ # for the first time.
162
+ #
163
+ # As the rules usually don't change often, there's almost no need to update
164
+ # this hash. But if you need to, you can achieve this by calling
165
+ # {#update_rules}.
166
+ #
167
+ # @return [Hash<String, String>] The currently active server rules
168
+ # @see #update_rules
169
+ def rules
170
+ update_rules if @rules_hash.nil?
171
+ @rules_hash
172
+ end
173
+
174
+ # Returns a hash with basic information on the server.
175
+ #
176
+ # If the server information haven't been fetched yet, it is done when
177
+ # calling this method for the first time.
178
+ #
179
+ # The server information usually only changes on map change and when players
180
+ # join or leave. As the latter changes can be monitored by calling
181
+ # {#update_players}, there's no need to call {#update_server_info} very
182
+ # often.
183
+ #
184
+ # @return [Hash] Server attributes with their values
185
+ # @see #update_server_info
186
+ def server_info
187
+ update_server_info if @info_hash.nil?
188
+ @info_hash
189
+ end
190
+
191
+ # Sends the specified request to the server and handles the returned response
192
+ #
193
+ # Depending on the given request type this will fill the various data
194
+ # attributes of the server object.
195
+ #
196
+ # @param [Symbol] request_type The type of request to send to the server
197
+ # @param [Boolean] repeat_on_failure Whether the request should be repeated,
198
+ # if the replied packet isn't expected. This is useful to handle
199
+ # missing challenge numbers, which will be automatically filled in,
200
+ # although not requested explicitly.
201
+ # @raise [SteamCondenserError] if either the request type or the response
202
+ # packet is not known
203
+ def handle_response_for_request(request_type, repeat_on_failure = true)
204
+ case request_type
205
+ when :challenge then
206
+ request_packet = A2S_PLAYER_Packet.new
207
+ expected_response = S2C_CHALLENGE_Packet
208
+ when :info then
209
+ request_packet = A2S_INFO_Packet.new
210
+ expected_response = S2A_INFO_BasePacket
211
+ when :players then
212
+ request_packet = A2S_PLAYER_Packet.new(@challenge_number)
213
+ expected_response = S2A_PLAYER_Packet
214
+ when :rules then
215
+ request_packet = A2S_RULES_Packet.new(@challenge_number)
216
+ expected_response = S2A_RULES_Packet
217
+ else
218
+ raise SteamCondenserError, 'Called with wrong request type.'
219
+ end
220
+
221
+ send_request request_packet
222
+ response_packet = reply
223
+
224
+ if response_packet.kind_of? S2A_INFO_BasePacket
225
+ @info_hash = response_packet.info
226
+ elsif response_packet.kind_of? S2A_PLAYER_Packet
227
+ @player_hash = response_packet.player_hash
228
+ elsif response_packet.kind_of? S2A_RULES_Packet
229
+ @rules_hash = response_packet.rules_hash
230
+ elsif response_packet.kind_of? S2C_CHALLENGE_Packet
231
+ @challenge_number = response_packet.challenge_number
232
+ else
233
+ raise SteamCondenserError, "Response of type #{response_packet.class} cannot be handled by this method."
234
+ end
235
+
236
+ unless response_packet.kind_of? expected_response
237
+ puts "Expected #{expected_response}, got #{response_packet.class}." if $DEBUG
238
+ handle_response_for_request(request_type, false) if repeat_on_failure
239
+ end
240
+ end
241
+
242
+ # Initializes this server object with basic information
243
+ #
244
+ # @see #update_challenge_number
245
+ # @see #update_ping
246
+ # @see #update_server_info
247
+ def init
248
+ update_ping
249
+ update_server_info
250
+ update_challenge_number
251
+ end
252
+
253
+ # Sends a A2S_PLAYERS request to the server and updates the players' data for
254
+ # this server
255
+ #
256
+ # As the players and their scores change quite often be sure to update this
257
+ # list regularly by calling this method if you rely on this
258
+ # information.
259
+ #
260
+ # @param [String] rcon_password The RCON password of this server may be
261
+ # provided to gather more detailed information on the players, like
262
+ # STEAM_IDs.
263
+ # @see #handle_response_for_request
264
+ # @see #players
265
+ def update_players(rcon_password = nil)
266
+ handle_response_for_request :players
267
+
268
+ unless @rcon_authenticated
269
+ return if rcon_password.nil?
270
+ rcon_auth rcon_password
271
+ end
272
+
273
+ players = rcon_exec('status').lines.select do |line|
274
+ line.start_with?('#') && line != "#end\n"
275
+ end.map do |line|
276
+ line[1..-1].strip
277
+ end
278
+ attributes = GameServer.player_status_attributes players.shift
279
+
280
+ players.each do |player|
281
+ player_data = GameServer.split_player_status(attributes, player)
282
+ player_name = player_data[:name]
283
+ if @player_hash.key? player_name
284
+ @player_hash[player_name].add_info player_data
285
+ end
286
+ end
287
+ end
288
+
289
+ # Sends a A2S_RULES request to the server and updates the rules of this
290
+ # server
291
+ #
292
+ # As the rules usually don't change often, there's almost no need to update
293
+ # this hash. But if you need to, you can achieve this by calling this method.
294
+ #
295
+ # @see #handle_response_for_request
296
+ # @see #rules
297
+ def update_rules
298
+ handle_response_for_request :rules
299
+ end
300
+
301
+ # Sends a A2S_INFO request to the server and updates this server's basic
302
+ # information
303
+ #
304
+ # The server information usually only changes on map change and when players
305
+ # join or leave. As the latter changes can be monitored by calling
306
+ # {#update_players}, there's no need to call this method very often.
307
+ #
308
+ # @see #handle_response_for_request
309
+ # @see #server_info
310
+ def update_server_info
311
+ handle_response_for_request :info
312
+ end
313
+
314
+ # Sends a A2S_SERVERQUERY_GETCHALLENGE request to the server and updates the
315
+ # challenge number used to communicate with this server
316
+ #
317
+ # There's usually no need to call this method explicitly, because
318
+ # {#handle_response_for_request} will automatically get the challenge number
319
+ # when the server assigns a new one.
320
+ #
321
+ # @see #handle_response_for_request
322
+ # @see #init
323
+ def update_challenge_number
324
+ handle_response_for_request :challenge
325
+ end
326
+
327
+ # Sends a A2S_INFO request to the server and measures the time needed for the
328
+ # reply
329
+ #
330
+ # If this information is vital to you, be sure to call this method regularly
331
+ # to stay up-to-date.
332
+ #
333
+ # @return [Fixnum] The latency of this server in milliseconds
334
+ # @see #ping
335
+ def update_ping
336
+ send_request A2S_INFO_Packet.new
337
+ start_time = Time.now
338
+ reply
339
+ end_time = Time.now
340
+ @ping = (end_time - start_time) * 1000
341
+ end
342
+
343
+ # Returns a human-readable text representation of the server
344
+ #
345
+ # @return [String] Available information about the server in a human-readable
346
+ # format
347
+ def to_s
348
+ return_string = ''
349
+
350
+ return_string << "Ping: #@ping\n"
351
+ return_string << "Challenge number: #@challenge_number\n"
352
+
353
+ unless @info_hash.nil?
354
+ return_string << "Info:\n"
355
+ @info_hash.each do |key, value|
356
+ return_string << " #{key}: #{value.inspect}\n"
357
+ end
358
+ end
359
+
360
+ unless @player_hash.nil?
361
+ return_string << "Players:\n"
362
+ @player_hash.each_value do |player|
363
+ return_string << " #{player}\n"
364
+ end
365
+ end
366
+
367
+ unless @rules_hash.nil?
368
+ return_string << "Rules:\n"
369
+ @rules_hash.each do |key, value|
370
+ return_string << " #{key}: #{value}\n"
371
+ end
372
+ end
373
+
374
+ return_string
375
+ end
376
+
377
+ protected
378
+
379
+ # Receives a response from the server
380
+ #
381
+ # @return [SteamPacket] The response packet replied by the server
382
+ def reply
383
+ @socket.reply
384
+ end
385
+
386
+ # Sends a request packet to the server
387
+ #
388
+ # @param [SteamPacket] packet The request packet to send to the server
389
+ def send_request(packet)
390
+ @socket.send packet
391
+ end
392
+
393
+ end