steam-condenser 1.2.1 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (390) hide show
  1. data/Gemfile.lock +9 -9
  2. data/README.md +1 -0
  3. data/Rakefile +2 -2
  4. data/lib/steam-condenser/version.rb +1 -1
  5. data/lib/steam/community/alien_swarm/alien_swarm_stats.rb +1 -0
  6. data/lib/steam/community/cacheable.rb +1 -1
  7. data/lib/steam/community/css/css_stats.rb +1 -0
  8. data/lib/steam/community/defense_grid/defense_grid_stats.rb +1 -0
  9. data/lib/steam/community/dods/dods_stats.rb +1 -0
  10. data/lib/steam/community/dota2/dota2_beta_inventory.rb +4 -1
  11. data/lib/steam/community/dota2/dota2_inventory.rb +4 -1
  12. data/lib/steam/community/game_inventory.rb +68 -63
  13. data/lib/steam/community/game_item.rb +65 -22
  14. data/lib/steam/community/game_item_schema.rb +131 -0
  15. data/lib/steam/community/game_stats.rb +1 -1
  16. data/lib/steam/community/l4d/l4d2_stats.rb +3 -1
  17. data/lib/steam/community/l4d/l4d_stats.rb +3 -1
  18. data/lib/steam/community/portal2/portal2_inventory.rb +4 -1
  19. data/lib/steam/community/portal2/portal2_item.rb +8 -0
  20. data/lib/steam/community/portal2/portal2_stats.rb +1 -0
  21. data/lib/steam/community/steam_game.rb +15 -2
  22. data/lib/steam/community/steam_id.rb +39 -42
  23. data/lib/steam/community/tf2/tf2_beta_inventory.rb +4 -1
  24. data/lib/steam/community/tf2/tf2_inventory.rb +4 -1
  25. data/lib/steam/community/tf2/tf2_item.rb +8 -0
  26. data/lib/steam/community/tf2/tf2_stats.rb +1 -0
  27. data/lib/steam/community/web_api.rb +2 -1
  28. data/lib/steam/packets/c2m_checkmd5_packet.rb +1 -0
  29. data/lib/steam/packets/s2m_heartbeat2_packet.rb +1 -0
  30. data/lib/steam/servers/master_server.rb +6 -1
  31. data/lib/steam/servers/server.rb +12 -1
  32. data/lib/steam/servers/source_server.rb +12 -2
  33. data/lib/steam/sockets/master_server_socket.rb +5 -1
  34. data/lib/steam/sockets/rcon_socket.rb +9 -2
  35. data/lib/steam/sockets/steam_socket.rb +5 -1
  36. data/steam-condenser.gemspec +3 -3
  37. data/test/helper.rb +2 -2
  38. data/test/steam/{communtiy → community}/test_cacheable.rb +0 -0
  39. data/{pkg/steam-condenser-1.2.0/test/steam/communtiy → test/steam/community}/test_steam_group.rb +0 -0
  40. data/{pkg/steam-condenser-1.2.0/test/steam/communtiy → test/steam/community}/test_steam_id.rb +22 -0
  41. data/{pkg/steam-condenser-1.2.0/test/steam/communtiy → test/steam/community}/test_web_api.rb +0 -0
  42. data/test/steam/servers/test_source_server.rb +10 -2
  43. data/test/steam/sockets/test_rcon_socket.rb +3 -3
  44. metadata +112 -474
  45. data/doc/A2M_GET_SERVERS_BATCH2_Packet.html +0 -426
  46. data/doc/A2S_INFO_Packet.html +0 -260
  47. data/doc/A2S_PLAYER_Packet.html +0 -295
  48. data/doc/A2S_RULES_Packet.html +0 -296
  49. data/doc/A2S_SERVERQUERY_GETCHALLENGE_Packet.html +0 -261
  50. data/doc/AbstractL4DStats.html +0 -978
  51. data/doc/AbstractL4DWeapon.html +0 -734
  52. data/doc/Achievement.html +0 -660
  53. data/doc/AlienSwarmMission.html +0 -1557
  54. data/doc/AlienSwarmStats.html +0 -965
  55. data/doc/AlienSwarmWeapon.html +0 -640
  56. data/doc/AppNews.html +0 -1442
  57. data/doc/C2M_CHECKMD5_Packet.html +0 -341
  58. data/doc/CSSMap.html +0 -806
  59. data/doc/CSSStats.html +0 -825
  60. data/doc/CSSWeapon.html +0 -889
  61. data/doc/Cacheable.html +0 -913
  62. data/doc/Cacheable/ClassMethods.html +0 -696
  63. data/doc/DefenseGridStats.html +0 -2559
  64. data/doc/DoDSClass.html +0 -1264
  65. data/doc/DoDSStats.html +0 -486
  66. data/doc/DoDSWeapon.html +0 -806
  67. data/doc/Dota2BetaInventory.html +0 -339
  68. data/doc/Dota2Inventory.html +0 -339
  69. data/doc/Dota2Item.html +0 -388
  70. data/doc/Dota2Stats.html +0 -366
  71. data/doc/GameAchievement.html +0 -1257
  72. data/doc/GameClass.html +0 -321
  73. data/doc/GameInventory.html +0 -1363
  74. data/doc/GameItem.html +0 -1339
  75. data/doc/GameLeaderboard.html +0 -1609
  76. data/doc/GameLeaderboardEntry.html +0 -629
  77. data/doc/GameSchema.html +0 -568
  78. data/doc/GameServer.html +0 -2405
  79. data/doc/GameStats.html +0 -1461
  80. data/doc/GameWeapon.html +0 -590
  81. data/doc/GoldSrcServer.html +0 -740
  82. data/doc/GoldSrcSocket.html +0 -850
  83. data/doc/ItemSchema.html +0 -780
  84. data/doc/L4D2Map.html +0 -739
  85. data/doc/L4D2Stats.html +0 -930
  86. data/doc/L4D2Weapon.html +0 -486
  87. data/doc/L4DExplosive.html +0 -374
  88. data/doc/L4DMap.html +0 -776
  89. data/doc/L4DStats.html +0 -530
  90. data/doc/L4DWeapon.html +0 -296
  91. data/doc/M2A_SERVER_BATCH_Packet.html +0 -430
  92. data/doc/M2C_ISVALIDMD5_Packet.html +0 -383
  93. data/doc/M2S_REQUESTRESTART_Packet.html +0 -382
  94. data/doc/MasterServer.html +0 -1070
  95. data/doc/MasterServerSocket.html +0 -293
  96. data/doc/Module.html +0 -194
  97. data/doc/PacketFormatError.html +0 -257
  98. data/doc/Portal2Inventory.html +0 -339
  99. data/doc/Portal2Item.html +0 -499
  100. data/doc/Portal2Stats.html +0 -368
  101. data/doc/RCONAuthRequest.html +0 -318
  102. data/doc/RCONAuthResponse.html +0 -305
  103. data/doc/RCONBanError.html +0 -247
  104. data/doc/RCONExecRequest.html +0 -318
  105. data/doc/RCONExecResponse.html +0 -407
  106. data/doc/RCONGoldSrcRequest.html +0 -363
  107. data/doc/RCONGoldSrcResponse.html +0 -367
  108. data/doc/RCONNoAuthError.html +0 -247
  109. data/doc/RCONPacket.html +0 -548
  110. data/doc/RCONPacketFactory.html +0 -300
  111. data/doc/RCONSocket.html +0 -669
  112. data/doc/RCONTerminator.html +0 -304
  113. data/doc/RequestWithChallenge.html +0 -233
  114. data/doc/S2A_INFO2_Packet.html +0 -371
  115. data/doc/S2A_INFO_BasePacket.html +0 -357
  116. data/doc/S2A_INFO_DETAILED_Packet.html +0 -370
  117. data/doc/S2A_LOGSTRING_Packet.html +0 -373
  118. data/doc/S2A_PLAYER_Packet.html +0 -417
  119. data/doc/S2A_RULES_Packet.html +0 -411
  120. data/doc/S2C_CHALLENGE_Packet.html +0 -370
  121. data/doc/S2M_HEARTBEAT2_Packet.html +0 -444
  122. data/doc/Server.html +0 -781
  123. data/doc/SourceServer.html +0 -776
  124. data/doc/SourceSocket.html +0 -366
  125. data/doc/StatsAttribute.html +0 -514
  126. data/doc/SteamCondenser.html +0 -155
  127. data/doc/SteamCondenser/A2M_GET_SERVERS_BATCH2_Packet.html +0 -413
  128. data/doc/SteamCondenser/A2S_INFO_Packet.html +0 -249
  129. data/doc/SteamCondenser/A2S_PLAYER_Packet.html +0 -281
  130. data/doc/SteamCondenser/A2S_RULES_Packet.html +0 -282
  131. data/doc/SteamCondenser/A2S_SERVERQUERY_GETCHALLENGE_Packet.html +0 -250
  132. data/doc/SteamCondenser/AbstractL4DStats.html +0 -954
  133. data/doc/SteamCondenser/AbstractL4DWeapon.html +0 -703
  134. data/doc/SteamCondenser/AlienSwarmMission.html +0 -1494
  135. data/doc/SteamCondenser/AlienSwarmStats.html +0 -938
  136. data/doc/SteamCondenser/AlienSwarmWeapon.html +0 -614
  137. data/doc/SteamCondenser/AppNews.html +0 -1387
  138. data/doc/SteamCondenser/C2M_CHECKMD5_Packet.html +0 -327
  139. data/doc/SteamCondenser/CSSMap.html +0 -774
  140. data/doc/SteamCondenser/CSSStats.html +0 -799
  141. data/doc/SteamCondenser/CSSWeapon.html +0 -855
  142. data/doc/SteamCondenser/Cacheable.html +0 -698
  143. data/doc/SteamCondenser/Cacheable/ClassMethods.html +0 -531
  144. data/doc/SteamCondenser/Community.html +0 -134
  145. data/doc/SteamCondenser/DefenseGridStats.html +0 -2455
  146. data/doc/SteamCondenser/DoDSClass.html +0 -1209
  147. data/doc/SteamCondenser/DoDSStats.html +0 -470
  148. data/doc/SteamCondenser/DoDSWeapon.html +0 -774
  149. data/doc/SteamCondenser/Error.html +0 -156
  150. data/doc/SteamCondenser/Error/PacketFormat.html +0 -246
  151. data/doc/SteamCondenser/Error/RCONBan.html +0 -237
  152. data/doc/SteamCondenser/Error/RCONNoAuth.html +0 -236
  153. data/doc/SteamCondenser/Error/Timeout.html +0 -238
  154. data/doc/SteamCondenser/Error/WebApi.html +0 -339
  155. data/doc/SteamCondenser/GameAchievement.html +0 -1210
  156. data/doc/SteamCondenser/GameClass.html +0 -306
  157. data/doc/SteamCondenser/GameInventory.html +0 -1236
  158. data/doc/SteamCondenser/GameItem.html +0 -1282
  159. data/doc/SteamCondenser/GameLeaderboard.html +0 -1562
  160. data/doc/SteamCondenser/GameLeaderboardEntry.html +0 -604
  161. data/doc/SteamCondenser/GameServer.html +0 -2337
  162. data/doc/SteamCondenser/GameStats.html +0 -1416
  163. data/doc/SteamCondenser/GameWeapon.html +0 -566
  164. data/doc/SteamCondenser/GoldSrcServer.html +0 -716
  165. data/doc/SteamCondenser/GoldSrcSocket.html +0 -831
  166. data/doc/SteamCondenser/L4D2Map.html +0 -713
  167. data/doc/SteamCondenser/L4D2Stats.html +0 -906
  168. data/doc/SteamCondenser/L4D2Weapon.html +0 -466
  169. data/doc/SteamCondenser/L4DExplosive.html +0 -362
  170. data/doc/SteamCondenser/L4DMap.html +0 -746
  171. data/doc/SteamCondenser/L4DStats.html +0 -513
  172. data/doc/SteamCondenser/L4DWeapon.html +0 -284
  173. data/doc/SteamCondenser/M2A_SERVER_BATCH_Packet.html +0 -415
  174. data/doc/SteamCondenser/M2C_ISVALIDMD5_Packet.html +0 -368
  175. data/doc/SteamCondenser/M2S_REQUESTRESTART_Packet.html +0 -367
  176. data/doc/SteamCondenser/MasterServer.html +0 -1046
  177. data/doc/SteamCondenser/MasterServerSocket.html +0 -282
  178. data/doc/SteamCondenser/Portal2Inventory.html +0 -217
  179. data/doc/SteamCondenser/Portal2Item.html +0 -483
  180. data/doc/SteamCondenser/Portal2Stats.html +0 -353
  181. data/doc/SteamCondenser/RCONAuthRequest.html +0 -306
  182. data/doc/SteamCondenser/RCONAuthResponse.html +0 -293
  183. data/doc/SteamCondenser/RCONExecRequest.html +0 -306
  184. data/doc/SteamCondenser/RCONExecResponse.html +0 -392
  185. data/doc/SteamCondenser/RCONGoldSrcRequest.html +0 -349
  186. data/doc/SteamCondenser/RCONGoldSrcResponse.html +0 -354
  187. data/doc/SteamCondenser/RCONPacket.html +0 -530
  188. data/doc/SteamCondenser/RCONPacketFactory.html +0 -293
  189. data/doc/SteamCondenser/RCONSocket.html +0 -649
  190. data/doc/SteamCondenser/RCONTerminator.html +0 -292
  191. data/doc/SteamCondenser/RequestWithChallenge.html +0 -223
  192. data/doc/SteamCondenser/S2A_INFO2_Packet.html +0 -359
  193. data/doc/SteamCondenser/S2A_INFO_BasePacket.html +0 -342
  194. data/doc/SteamCondenser/S2A_INFO_DETAILED_Packet.html +0 -358
  195. data/doc/SteamCondenser/S2A_LOGSTRING_Packet.html +0 -358
  196. data/doc/SteamCondenser/S2A_PLAYER_Packet.html +0 -402
  197. data/doc/SteamCondenser/S2A_RULES_Packet.html +0 -396
  198. data/doc/SteamCondenser/S2C_CHALLENGE_Packet.html +0 -356
  199. data/doc/SteamCondenser/S2M_HEARTBEAT2_Packet.html +0 -430
  200. data/doc/SteamCondenser/Server.html +0 -754
  201. data/doc/SteamCondenser/Servers.html +0 -133
  202. data/doc/SteamCondenser/SourceServer.html +0 -752
  203. data/doc/SteamCondenser/SourceSocket.html +0 -355
  204. data/doc/SteamCondenser/SteamGame.html +0 -1802
  205. data/doc/SteamCondenser/SteamGroup.html +0 -969
  206. data/doc/SteamCondenser/SteamId.html +0 -4242
  207. data/doc/SteamCondenser/SteamPacket.html +0 -456
  208. data/doc/SteamCondenser/SteamPacketFactory.html +0 -521
  209. data/doc/SteamCondenser/SteamPlayer.html +0 -1696
  210. data/doc/SteamCondenser/SteamSocket.html +0 -679
  211. data/doc/SteamCondenser/TF2BetaInventory.html +0 -198
  212. data/doc/SteamCondenser/TF2Class.html +0 -1145
  213. data/doc/SteamCondenser/TF2ClassFactory.html +0 -263
  214. data/doc/SteamCondenser/TF2Engineer.html +0 -534
  215. data/doc/SteamCondenser/TF2GoldenWrench.html +0 -731
  216. data/doc/SteamCondenser/TF2Inventory.html +0 -217
  217. data/doc/SteamCondenser/TF2Item.html +0 -482
  218. data/doc/SteamCondenser/TF2Medic.html +0 -445
  219. data/doc/SteamCondenser/TF2Sniper.html +0 -357
  220. data/doc/SteamCondenser/TF2Spy.html +0 -531
  221. data/doc/SteamCondenser/TF2Stats.html +0 -670
  222. data/doc/SteamCondenser/TimeoutError.html +0 -249
  223. data/doc/SteamCondenser/WebApi.html +0 -999
  224. data/doc/SteamCondenser/XMLData.html +0 -171
  225. data/doc/SteamCondenserError.html +0 -153
  226. data/doc/SteamGame.html +0 -1859
  227. data/doc/SteamGroup.html +0 -1012
  228. data/doc/SteamId.html +0 -4369
  229. data/doc/SteamPacket.html +0 -469
  230. data/doc/SteamPacketFactory.html +0 -545
  231. data/doc/SteamPlayer.html +0 -1766
  232. data/doc/SteamSocket.html +0 -699
  233. data/doc/StringIO.html +0 -947
  234. data/doc/TF2BetaInventory.html +0 -315
  235. data/doc/TF2Class.html +0 -1194
  236. data/doc/TF2ClassFactory.html +0 -273
  237. data/doc/TF2Engineer.html +0 -558
  238. data/doc/TF2GoldenWrench.html +0 -760
  239. data/doc/TF2Inventory.html +0 -339
  240. data/doc/TF2Item.html +0 -499
  241. data/doc/TF2Medic.html +0 -465
  242. data/doc/TF2Sniper.html +0 -373
  243. data/doc/TF2Spy.html +0 -555
  244. data/doc/TF2Stats.html +0 -696
  245. data/doc/WebApi.html +0 -1021
  246. data/doc/WebApiError.html +0 -347
  247. data/doc/XMLData.html +0 -253
  248. data/doc/_index.html +0 -717
  249. data/doc/class_list.html +0 -53
  250. data/doc/css/common.css +0 -1
  251. data/doc/css/full_list.css +0 -57
  252. data/doc/css/style.css +0 -328
  253. data/doc/file.LICENSE.html +0 -100
  254. data/doc/file.README.html +0 -136
  255. data/doc/file_list.html +0 -58
  256. data/doc/frames.html +0 -28
  257. data/doc/index.html +0 -136
  258. data/doc/js/app.js +0 -214
  259. data/doc/js/full_list.js +0 -173
  260. data/doc/js/jquery.js +0 -4
  261. data/doc/method_list.html +0 -3988
  262. data/doc/methods_list.html +0 -3900
  263. data/doc/top-level-namespace.html +0 -114
  264. data/pkg/steam-condenser-1.2.0.gem +0 -0
  265. data/pkg/steam-condenser-1.2.0/Gemfile +0 -3
  266. data/pkg/steam-condenser-1.2.0/Gemfile.lock +0 -30
  267. data/pkg/steam-condenser-1.2.0/LICENSE +0 -25
  268. data/pkg/steam-condenser-1.2.0/README.md +0 -47
  269. data/pkg/steam-condenser-1.2.0/Rakefile +0 -46
  270. data/pkg/steam-condenser-1.2.0/lib/core_ext/stringio.rb +0 -91
  271. data/pkg/steam-condenser-1.2.0/lib/errors/packet_format_error.rb +0 -21
  272. data/pkg/steam-condenser-1.2.0/lib/errors/rcon_ban_error.rb +0 -22
  273. data/pkg/steam-condenser-1.2.0/lib/errors/rcon_no_auth_error.rb +0 -21
  274. data/pkg/steam-condenser-1.2.0/lib/errors/steam_condenser_error.rb +0 -11
  275. data/pkg/steam-condenser-1.2.0/lib/errors/timeout_error.rb +0 -28
  276. data/pkg/steam-condenser-1.2.0/lib/errors/web_api_error.rb +0 -57
  277. data/pkg/steam-condenser-1.2.0/lib/steam-condenser.rb +0 -18
  278. data/pkg/steam-condenser-1.2.0/lib/steam-condenser/community.rb +0 -24
  279. data/pkg/steam-condenser-1.2.0/lib/steam-condenser/servers.rb +0 -24
  280. data/pkg/steam-condenser-1.2.0/lib/steam-condenser/version.rb +0 -11
  281. data/pkg/steam-condenser-1.2.0/lib/steam/community/alien_swarm/alien_swarm_mission.rb +0 -119
  282. data/pkg/steam-condenser-1.2.0/lib/steam/community/alien_swarm/alien_swarm_stats.rb +0 -179
  283. data/pkg/steam-condenser-1.2.0/lib/steam/community/alien_swarm/alien_swarm_weapon.rb +0 -49
  284. data/pkg/steam-condenser-1.2.0/lib/steam/community/app_news.rb +0 -133
  285. data/pkg/steam-condenser-1.2.0/lib/steam/community/cacheable.rb +0 -137
  286. data/pkg/steam-condenser-1.2.0/lib/steam/community/css/css_map.rb +0 -61
  287. data/pkg/steam-condenser-1.2.0/lib/steam/community/css/css_stats.rb +0 -136
  288. data/pkg/steam-condenser-1.2.0/lib/steam/community/css/css_weapon.rb +0 -69
  289. data/pkg/steam-condenser-1.2.0/lib/steam/community/defense_grid/defense_grid_stats.rb +0 -237
  290. data/pkg/steam-condenser-1.2.0/lib/steam/community/dods/dods_class.rb +0 -90
  291. data/pkg/steam-condenser-1.2.0/lib/steam/community/dods/dods_stats.rb +0 -61
  292. data/pkg/steam-condenser-1.2.0/lib/steam/community/dods/dods_weapon.rb +0 -67
  293. data/pkg/steam-condenser-1.2.0/lib/steam/community/game_achievement.rb +0 -109
  294. data/pkg/steam-condenser-1.2.0/lib/steam/community/game_class.rb +0 -22
  295. data/pkg/steam-condenser-1.2.0/lib/steam/community/game_inventory.rb +0 -152
  296. data/pkg/steam-condenser-1.2.0/lib/steam/community/game_item.rb +0 -99
  297. data/pkg/steam-condenser-1.2.0/lib/steam/community/game_leaderboard.rb +0 -201
  298. data/pkg/steam-condenser-1.2.0/lib/steam/community/game_leaderboard_entry.rb +0 -43
  299. data/pkg/steam-condenser-1.2.0/lib/steam/community/game_stats.rb +0 -175
  300. data/pkg/steam-condenser-1.2.0/lib/steam/community/game_weapon.rb +0 -41
  301. data/pkg/steam-condenser-1.2.0/lib/steam/community/l4d/abstract_l4d_stats.rb +0 -173
  302. data/pkg/steam-condenser-1.2.0/lib/steam/community/l4d/abstract_l4d_weapon.rb +0 -56
  303. data/pkg/steam-condenser-1.2.0/lib/steam/community/l4d/l4d2_map.rb +0 -90
  304. data/pkg/steam-condenser-1.2.0/lib/steam/community/l4d/l4d2_stats.rb +0 -165
  305. data/pkg/steam-condenser-1.2.0/lib/steam/community/l4d/l4d2_weapon.rb +0 -38
  306. data/pkg/steam-condenser-1.2.0/lib/steam/community/l4d/l4d_explosive.rb +0 -34
  307. data/pkg/steam-condenser-1.2.0/lib/steam/community/l4d/l4d_map.rb +0 -65
  308. data/pkg/steam-condenser-1.2.0/lib/steam/community/l4d/l4d_stats.rb +0 -71
  309. data/pkg/steam-condenser-1.2.0/lib/steam/community/l4d/l4d_weapon.rb +0 -26
  310. data/pkg/steam-condenser-1.2.0/lib/steam/community/portal2/portal2_inventory.rb +0 -25
  311. data/pkg/steam-condenser-1.2.0/lib/steam/community/portal2/portal2_item.rb +0 -47
  312. data/pkg/steam-condenser-1.2.0/lib/steam/community/portal2/portal2_stats.rb +0 -32
  313. data/pkg/steam-condenser-1.2.0/lib/steam/community/steam_game.rb +0 -182
  314. data/pkg/steam-condenser-1.2.0/lib/steam/community/steam_group.rb +0 -135
  315. data/pkg/steam-condenser-1.2.0/lib/steam/community/steam_id.rb +0 -513
  316. data/pkg/steam-condenser-1.2.0/lib/steam/community/tf2/tf2_beta_inventory.rb +0 -22
  317. data/pkg/steam-condenser-1.2.0/lib/steam/community/tf2/tf2_class.rb +0 -92
  318. data/pkg/steam-condenser-1.2.0/lib/steam/community/tf2/tf2_class_factory.rb +0 -40
  319. data/pkg/steam-condenser-1.2.0/lib/steam/community/tf2/tf2_engineer.rb +0 -43
  320. data/pkg/steam-condenser-1.2.0/lib/steam/community/tf2/tf2_golden_wrench.rb +0 -70
  321. data/pkg/steam-condenser-1.2.0/lib/steam/community/tf2/tf2_inventory.rb +0 -25
  322. data/pkg/steam-condenser-1.2.0/lib/steam/community/tf2/tf2_item.rb +0 -47
  323. data/pkg/steam-condenser-1.2.0/lib/steam/community/tf2/tf2_medic.rb +0 -35
  324. data/pkg/steam-condenser-1.2.0/lib/steam/community/tf2/tf2_sniper.rb +0 -28
  325. data/pkg/steam-condenser-1.2.0/lib/steam/community/tf2/tf2_spy.rb +0 -41
  326. data/pkg/steam-condenser-1.2.0/lib/steam/community/tf2/tf2_stats.rb +0 -76
  327. data/pkg/steam-condenser-1.2.0/lib/steam/community/web_api.rb +0 -129
  328. data/pkg/steam-condenser-1.2.0/lib/steam/community/xml_data.rb +0 -17
  329. data/pkg/steam-condenser-1.2.0/lib/steam/packets/a2m_get_servers_batch2_packet.rb +0 -59
  330. data/pkg/steam-condenser-1.2.0/lib/steam/packets/a2s_info_packet.rb +0 -24
  331. data/pkg/steam-condenser-1.2.0/lib/steam/packets/a2s_player_packet.rb +0 -31
  332. data/pkg/steam-condenser-1.2.0/lib/steam/packets/a2s_rules_packet.rb +0 -32
  333. data/pkg/steam-condenser-1.2.0/lib/steam/packets/a2s_serverquery_getchallenge_packet.rb +0 -25
  334. data/pkg/steam-condenser-1.2.0/lib/steam/packets/c2m_checkmd5_packet.rb +0 -30
  335. data/pkg/steam-condenser-1.2.0/lib/steam/packets/m2a_server_batch_packet.rb +0 -52
  336. data/pkg/steam-condenser-1.2.0/lib/steam/packets/m2c_isvalidmd5_packet.rb +0 -34
  337. data/pkg/steam-condenser-1.2.0/lib/steam/packets/m2s_requestrestart_packet.rb +0 -34
  338. data/pkg/steam-condenser-1.2.0/lib/steam/packets/rcon/rcon_auth_request.rb +0 -28
  339. data/pkg/steam-condenser-1.2.0/lib/steam/packets/rcon/rcon_auth_response.rb +0 -30
  340. data/pkg/steam-condenser-1.2.0/lib/steam/packets/rcon/rcon_exec_request.rb +0 -28
  341. data/pkg/steam-condenser-1.2.0/lib/steam/packets/rcon/rcon_exec_response.rb +0 -37
  342. data/pkg/steam-condenser-1.2.0/lib/steam/packets/rcon/rcon_goldsrc_request.rb +0 -35
  343. data/pkg/steam-condenser-1.2.0/lib/steam/packets/rcon/rcon_goldsrc_response.rb +0 -34
  344. data/pkg/steam-condenser-1.2.0/lib/steam/packets/rcon/rcon_packet.rb +0 -57
  345. data/pkg/steam-condenser-1.2.0/lib/steam/packets/rcon/rcon_packet_factory.rb +0 -43
  346. data/pkg/steam-condenser-1.2.0/lib/steam/packets/rcon/rcon_terminator.rb +0 -29
  347. data/pkg/steam-condenser-1.2.0/lib/steam/packets/request_with_challenge.rb +0 -19
  348. data/pkg/steam-condenser-1.2.0/lib/steam/packets/s2a_info2_packet.rb +0 -62
  349. data/pkg/steam-condenser-1.2.0/lib/steam/packets/s2a_info_base_packet.rb +0 -35
  350. data/pkg/steam-condenser-1.2.0/lib/steam/packets/s2a_info_detailed_packet.rb +0 -61
  351. data/pkg/steam-condenser-1.2.0/lib/steam/packets/s2a_logstring_packet.rb +0 -30
  352. data/pkg/steam-condenser-1.2.0/lib/steam/packets/s2a_player_packet.rb +0 -44
  353. data/pkg/steam-condenser-1.2.0/lib/steam/packets/s2a_rules_packet.rb +0 -48
  354. data/pkg/steam-condenser-1.2.0/lib/steam/packets/s2c_challenge_packet.rb +0 -35
  355. data/pkg/steam-condenser-1.2.0/lib/steam/packets/s2m_heartbeat2_packet.rb +0 -71
  356. data/pkg/steam-condenser-1.2.0/lib/steam/packets/steam_packet.rb +0 -52
  357. data/pkg/steam-condenser-1.2.0/lib/steam/packets/steam_packet_factory.rb +0 -108
  358. data/pkg/steam-condenser-1.2.0/lib/steam/servers/game_server.rb +0 -392
  359. data/pkg/steam-condenser-1.2.0/lib/steam/servers/goldsrc_server.rb +0 -74
  360. data/pkg/steam-condenser-1.2.0/lib/steam/servers/master_server.rb +0 -182
  361. data/pkg/steam-condenser-1.2.0/lib/steam/servers/server.rb +0 -104
  362. data/pkg/steam-condenser-1.2.0/lib/steam/servers/source_server.rb +0 -98
  363. data/pkg/steam-condenser-1.2.0/lib/steam/sockets/goldsrc_socket.rb +0 -142
  364. data/pkg/steam-condenser-1.2.0/lib/steam/sockets/master_server_socket.rb +0 -30
  365. data/pkg/steam-condenser-1.2.0/lib/steam/sockets/rcon_socket.rb +0 -94
  366. data/pkg/steam-condenser-1.2.0/lib/steam/sockets/source_socket.rb +0 -78
  367. data/pkg/steam-condenser-1.2.0/lib/steam/sockets/steam_socket.rb +0 -86
  368. data/pkg/steam-condenser-1.2.0/lib/steam/steam_player.rb +0 -143
  369. data/pkg/steam-condenser-1.2.0/steam-condenser.gemspec +0 -25
  370. data/pkg/steam-condenser-1.2.0/test/core_ext/test_stringio.rb +0 -59
  371. data/pkg/steam-condenser-1.2.0/test/fixtures/invalid.xml +0 -2
  372. data/pkg/steam-condenser-1.2.0/test/fixtures/sonofthor.xml +0 -882
  373. data/pkg/steam-condenser-1.2.0/test/fixtures/status_goldsrc +0 -3
  374. data/pkg/steam-condenser-1.2.0/test/fixtures/status_source +0 -3
  375. data/pkg/steam-condenser-1.2.0/test/fixtures/valve-members.xml +0 -231
  376. data/pkg/steam-condenser-1.2.0/test/helper.rb +0 -45
  377. data/pkg/steam-condenser-1.2.0/test/steam/packets/test_steam_packet.rb +0 -37
  378. data/pkg/steam-condenser-1.2.0/test/steam/servers/test_game_server.rb +0 -296
  379. data/pkg/steam-condenser-1.2.0/test/steam/servers/test_goldsrc_server.rb +0 -59
  380. data/pkg/steam-condenser-1.2.0/test/steam/servers/test_master_server.rb +0 -131
  381. data/pkg/steam-condenser-1.2.0/test/steam/servers/test_server.rb +0 -72
  382. data/pkg/steam-condenser-1.2.0/test/steam/servers/test_source_server.rb +0 -126
  383. data/pkg/steam-condenser-1.2.0/test/steam/sockets/test_goldsrc_socket.rb +0 -127
  384. data/pkg/steam-condenser-1.2.0/test/steam/sockets/test_master_server_socket.rb +0 -42
  385. data/pkg/steam-condenser-1.2.0/test/steam/sockets/test_rcon_socket.rb +0 -109
  386. data/pkg/steam-condenser-1.2.0/test/steam/sockets/test_source_socket.rb +0 -77
  387. data/pkg/steam-condenser-1.2.0/test/steam/sockets/test_steam_socket.rb +0 -97
  388. data/test/steam/communtiy/test_steam_group.rb +0 -83
  389. data/test/steam/communtiy/test_steam_id.rb +0 -111
  390. data/test/steam/communtiy/test_web_api.rb +0 -98
@@ -1,2337 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
- <head>
5
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
- <title>
7
- Module: SteamCondenser::GameServer
8
-
9
- &mdash; Steam Condenser – Ruby API
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- relpath = '..';
19
- if (relpath != '') relpath += '/';
20
- </script>
21
-
22
- <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
23
-
24
- <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
25
-
26
-
27
- </head>
28
- <body>
29
- <script type="text/javascript" charset="utf-8">
30
- if (window.top.frames.main) document.body.className = 'frames';
31
- </script>
32
-
33
- <div id="header">
34
- <div id="menu">
35
-
36
- <a href="../_index.html">Index (G)</a> &raquo;
37
- <span class='title'><span class='object_link'><a href="../SteamCondenser.html" title="SteamCondenser (module)">SteamCondenser</a></span></span>
38
- &raquo;
39
- <span class="title">GameServer</span>
40
-
41
-
42
- <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
43
- </div>
44
-
45
- <div id="search">
46
-
47
- <a id="class_list_link" href="#">Class List</a>
48
-
49
- <a id="method_list_link" href="#">Method List</a>
50
-
51
- <a id="file_list_link" href="#">File List</a>
52
-
53
- </div>
54
- <div class="clear"></div>
55
- </div>
56
-
57
- <iframe id="search_frame"></iframe>
58
-
59
- <div id="content"><h1>Module: SteamCondenser::GameServer
60
-
61
-
62
-
63
- </h1>
64
-
65
- <dl class="box">
66
-
67
-
68
-
69
-
70
-
71
- <dt class="r1">Includes:</dt>
72
- <dd class="r1"><span class='object_link'><a href="Server.html" title="SteamCondenser::Server (module)">Server</a></span></dd>
73
-
74
-
75
-
76
-
77
- <dt class="r2">Included in:</dt>
78
- <dd class="r2"><span class='object_link'><a href="GoldSrcServer.html" title="SteamCondenser::GoldSrcServer (class)">GoldSrcServer</a></span>, <span class='object_link'><a href="SourceServer.html" title="SteamCondenser::SourceServer (class)">SourceServer</a></span></dd>
79
-
80
-
81
-
82
- <dt class="r1 last">Defined in:</dt>
83
- <dd class="r1 last">lib/steam/servers/game_server.rb</dd>
84
-
85
- </dl>
86
- <div class="clear"></div>
87
-
88
- <h2>Overview</h2><div class="docstring">
89
- <div class="discussion">
90
- <p>This module is included by classes representing different game server
91
- implementations and provides the basic functionality to communicate with
92
- them using the common query protocol</p>
93
-
94
-
95
- </div>
96
- </div>
97
- <div class="tags">
98
-
99
- <h3>Author:</h3>
100
- <ul class="author">
101
-
102
- <li>
103
-
104
-
105
-
106
-
107
-
108
- <div class='inline'><p>Sebastian Staudt</p>
109
- </div>
110
-
111
- </li>
112
-
113
- </ul>
114
-
115
- </div>
116
-
117
-
118
-
119
-
120
-
121
- <h2>Instance Attribute Summary</h2>
122
-
123
- <h3 class="inherited">Attributes included from <span class='object_link'><a href="Server.html" title="SteamCondenser::Server (module)">Server</a></span></h3>
124
- <p class="inherited"><span class='object_link'><a href="Server.html#host_names-instance_method" title="SteamCondenser::Server#host_names (method)">#host_names</a></span>, <span class='object_link'><a href="Server.html#ip_addresses-instance_method" title="SteamCondenser::Server#ip_addresses (method)">#ip_addresses</a></span></p>
125
-
126
-
127
-
128
- <h2>
129
- Class Method Summary
130
- <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
131
- </h2>
132
-
133
- <ul class="summary">
134
-
135
- <li class="public ">
136
- <span class="summary_signature">
137
-
138
- <a href="#player_status_attributes-class_method" title="player_status_attributes (class method)">+ (Array&lt;Symbol&gt;) <strong>player_status_attributes</strong>(status_header) </a>
139
-
140
-
141
-
142
- </span>
143
-
144
-
145
-
146
-
147
-
148
-
149
-
150
-
151
- <span class="summary_desc"><div class='inline'><p>Parses the player attribute names supplied by <code>rcon status</code>.</p>
152
- </div></span>
153
-
154
- </li>
155
-
156
-
157
- <li class="public ">
158
- <span class="summary_signature">
159
-
160
- <a href="#split_player_status-class_method" title="split_player_status (class method)">+ (Hash&lt;Symbol, String&gt;) <strong>split_player_status</strong>(attributes, player_status) </a>
161
-
162
-
163
-
164
- </span>
165
-
166
-
167
-
168
-
169
-
170
-
171
-
172
-
173
- <span class="summary_desc"><div class='inline'><p>Splits the player status obtained with <code>rcon status</code>.</p>
174
- </div></span>
175
-
176
- </li>
177
-
178
-
179
- </ul>
180
-
181
- <h2>
182
- Instance Method Summary
183
- <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
184
- </h2>
185
-
186
- <ul class="summary">
187
-
188
- <li class="public ">
189
- <span class="summary_signature">
190
-
191
- <a href="#handle_response_for_request-instance_method" title="#handle_response_for_request (instance method)">- (Object) <strong>handle_response_for_request</strong>(request_type, repeat_on_failure = true) </a>
192
-
193
-
194
-
195
- </span>
196
-
197
-
198
-
199
-
200
-
201
-
202
-
203
-
204
- <span class="summary_desc"><div class='inline'><p>Sends the specified request to the server and handles the returned response.</p>
205
- </div></span>
206
-
207
- </li>
208
-
209
-
210
- <li class="public ">
211
- <span class="summary_signature">
212
-
213
- <a href="#init-instance_method" title="#init (instance method)">- (Object) <strong>init</strong> </a>
214
-
215
-
216
-
217
- </span>
218
-
219
-
220
-
221
-
222
-
223
-
224
-
225
-
226
- <span class="summary_desc"><div class='inline'><p>Initializes this server object with basic information.</p>
227
- </div></span>
228
-
229
- </li>
230
-
231
-
232
- <li class="public ">
233
- <span class="summary_signature">
234
-
235
- <a href="#initialize-instance_method" title="#initialize (instance method)">- (GameServer) <strong>initialize</strong>(address, port = 27015) </a>
236
-
237
-
238
-
239
- </span>
240
-
241
-
242
-
243
-
244
-
245
-
246
-
247
-
248
- <span class="summary_desc"><div class='inline'><p>Creates a new instance of a game server object.</p>
249
- </div></span>
250
-
251
- </li>
252
-
253
-
254
- <li class="public ">
255
- <span class="summary_signature">
256
-
257
- <a href="#ping-instance_method" title="#ping (instance method)">- (Fixnum) <strong>ping</strong> </a>
258
-
259
-
260
-
261
- </span>
262
-
263
-
264
-
265
-
266
-
267
-
268
-
269
-
270
- <span class="summary_desc"><div class='inline'><p>Returns the last measured response time of this server.</p>
271
- </div></span>
272
-
273
- </li>
274
-
275
-
276
- <li class="public ">
277
- <span class="summary_signature">
278
-
279
- <a href="#players-instance_method" title="#players (instance method)">- (Hash) <strong>players</strong>(rcon_password = nil) </a>
280
-
281
-
282
-
283
- </span>
284
-
285
-
286
-
287
-
288
-
289
-
290
-
291
-
292
- <span class="summary_desc"><div class='inline'><p>Returns a list of players currently playing on this server.</p>
293
- </div></span>
294
-
295
- </li>
296
-
297
-
298
- <li class="public ">
299
- <span class="summary_signature">
300
-
301
- <a href="#rcon_auth-instance_method" title="#rcon_auth (instance method)">- (Boolean) <strong>rcon_auth</strong>(password) </a>
302
-
303
-
304
-
305
- </span>
306
-
307
-
308
-
309
- <span class="abstract note title">Abstract</span>
310
-
311
-
312
-
313
-
314
- <span class="summary_desc"><div class='inline'><p>Authenticates the connection for RCON communication with the server.</p>
315
- </div></span>
316
-
317
- </li>
318
-
319
-
320
- <li class="public ">
321
- <span class="summary_signature">
322
-
323
- <a href="#rcon_authenticated%3F-instance_method" title="#rcon_authenticated? (instance method)">- (Boolean) <strong>rcon_authenticated?</strong> </a>
324
-
325
-
326
-
327
- </span>
328
-
329
-
330
-
331
-
332
-
333
-
334
-
335
-
336
- <span class="summary_desc"><div class='inline'><p>Returns whether the RCON connection to this server is already authenticated.</p>
337
- </div></span>
338
-
339
- </li>
340
-
341
-
342
- <li class="public ">
343
- <span class="summary_signature">
344
-
345
- <a href="#rcon_exec-instance_method" title="#rcon_exec (instance method)">- (String) <strong>rcon_exec</strong>(command) </a>
346
-
347
-
348
-
349
- </span>
350
-
351
-
352
-
353
- <span class="abstract note title">Abstract</span>
354
-
355
-
356
-
357
-
358
- <span class="summary_desc"><div class='inline'><p>Remotely executes a command on the server via RCON.</p>
359
- </div></span>
360
-
361
- </li>
362
-
363
-
364
- <li class="protected ">
365
- <span class="summary_signature">
366
-
367
- <a href="#reply-instance_method" title="#reply (instance method)">- (SteamPacket) <strong>reply</strong> </a>
368
-
369
-
370
-
371
- </span>
372
-
373
-
374
- <span class="note title protected">protected</span>
375
-
376
-
377
-
378
-
379
-
380
- <span class="summary_desc"><div class='inline'><p>Receives a response from the server.</p>
381
- </div></span>
382
-
383
- </li>
384
-
385
-
386
- <li class="public ">
387
- <span class="summary_signature">
388
-
389
- <a href="#rules-instance_method" title="#rules (instance method)">- (Hash&lt;String, String&gt;) <strong>rules</strong> </a>
390
-
391
-
392
-
393
- </span>
394
-
395
-
396
-
397
-
398
-
399
-
400
-
401
-
402
- <span class="summary_desc"><div class='inline'><p>Returns the settings applied on the server.</p>
403
- </div></span>
404
-
405
- </li>
406
-
407
-
408
- <li class="protected ">
409
- <span class="summary_signature">
410
-
411
- <a href="#send_request-instance_method" title="#send_request (instance method)">- (Object) <strong>send_request</strong>(packet) </a>
412
-
413
-
414
-
415
- </span>
416
-
417
-
418
- <span class="note title protected">protected</span>
419
-
420
-
421
-
422
-
423
-
424
- <span class="summary_desc"><div class='inline'><p>Sends a request packet to the server.</p>
425
- </div></span>
426
-
427
- </li>
428
-
429
-
430
- <li class="public ">
431
- <span class="summary_signature">
432
-
433
- <a href="#server_info-instance_method" title="#server_info (instance method)">- (Hash) <strong>server_info</strong> </a>
434
-
435
-
436
-
437
- </span>
438
-
439
-
440
-
441
-
442
-
443
-
444
-
445
-
446
- <span class="summary_desc"><div class='inline'><p>Returns a hash with basic information on the server.</p>
447
- </div></span>
448
-
449
- </li>
450
-
451
-
452
- <li class="public ">
453
- <span class="summary_signature">
454
-
455
- <a href="#to_s-instance_method" title="#to_s (instance method)">- (String) <strong>to_s</strong> </a>
456
-
457
-
458
-
459
- </span>
460
-
461
-
462
-
463
-
464
-
465
-
466
-
467
-
468
- <span class="summary_desc"><div class='inline'><p>Returns a human-readable text representation of the server.</p>
469
- </div></span>
470
-
471
- </li>
472
-
473
-
474
- <li class="public ">
475
- <span class="summary_signature">
476
-
477
- <a href="#update_challenge_number-instance_method" title="#update_challenge_number (instance method)">- (Object) <strong>update_challenge_number</strong> </a>
478
-
479
-
480
-
481
- </span>
482
-
483
-
484
-
485
-
486
-
487
-
488
-
489
-
490
- <span class="summary_desc"><div class='inline'><p>Sends a A2S<em>SERVERQUERY</em>GETCHALLENGE request to the server and updates the
491
- challenge number used to communicate with this server.</p>
492
- </div></span>
493
-
494
- </li>
495
-
496
-
497
- <li class="public ">
498
- <span class="summary_signature">
499
-
500
- <a href="#update_ping-instance_method" title="#update_ping (instance method)">- (Fixnum) <strong>update_ping</strong> </a>
501
-
502
-
503
-
504
- </span>
505
-
506
-
507
-
508
-
509
-
510
-
511
-
512
-
513
- <span class="summary_desc"><div class='inline'><p>Sends a A2S_INFO request to the server and measures the time needed for the
514
- reply.</p>
515
- </div></span>
516
-
517
- </li>
518
-
519
-
520
- <li class="public ">
521
- <span class="summary_signature">
522
-
523
- <a href="#update_players-instance_method" title="#update_players (instance method)">- (Object) <strong>update_players</strong>(rcon_password = nil) </a>
524
-
525
-
526
-
527
- </span>
528
-
529
-
530
-
531
-
532
-
533
-
534
-
535
-
536
- <span class="summary_desc"><div class='inline'><p>Sends a A2S_PLAYERS request to the server and updates the players&#39; data for
537
- this server.</p>
538
- </div></span>
539
-
540
- </li>
541
-
542
-
543
- <li class="public ">
544
- <span class="summary_signature">
545
-
546
- <a href="#update_rules-instance_method" title="#update_rules (instance method)">- (Object) <strong>update_rules</strong> </a>
547
-
548
-
549
-
550
- </span>
551
-
552
-
553
-
554
-
555
-
556
-
557
-
558
-
559
- <span class="summary_desc"><div class='inline'><p>Sends a A2S_RULES request to the server and updates the rules of this
560
- server.</p>
561
- </div></span>
562
-
563
- </li>
564
-
565
-
566
- <li class="public ">
567
- <span class="summary_signature">
568
-
569
- <a href="#update_server_info-instance_method" title="#update_server_info (instance method)">- (Object) <strong>update_server_info</strong> </a>
570
-
571
-
572
-
573
- </span>
574
-
575
-
576
-
577
-
578
-
579
-
580
-
581
-
582
- <span class="summary_desc"><div class='inline'><p>Sends a A2S_INFO request to the server and updates this server&#39;s basic
583
- information.</p>
584
- </div></span>
585
-
586
- </li>
587
-
588
-
589
- </ul>
590
-
591
-
592
-
593
-
594
-
595
-
596
-
597
-
598
-
599
-
600
- <h3 class="inherited">Methods included from <span class='object_link'><a href="Server.html" title="SteamCondenser::Server (module)">Server</a></span></h3>
601
- <p class="inherited"><span class='object_link'><a href="Server.html#failsafe-instance_method" title="SteamCondenser::Server#failsafe (method)">#failsafe</a></span>, <span class='object_link'><a href="Server.html#init_socket-instance_method" title="SteamCondenser::Server#init_socket (method)">#init_socket</a></span>, <span class='object_link'><a href="Server.html#rotate_ip-instance_method" title="SteamCondenser::Server#rotate_ip (method)">#rotate_ip</a></span></p>
602
-
603
-
604
- <div id="class_method_details" class="method_details_list">
605
- <h2>Class Method Details</h2>
606
-
607
-
608
- <div class="method_details first">
609
- <p class="signature first" id="player_status_attributes-class_method">
610
-
611
- + (<tt>Array&lt;Symbol&gt;</tt>) <strong>player_status_attributes</strong>(status_header)
612
-
613
-
614
-
615
- </p><div class="docstring">
616
- <div class="discussion">
617
- <p>Parses the player attribute names supplied by <code>rcon status</code></p>
618
-
619
-
620
- </div>
621
- </div>
622
- <div class="tags">
623
- <h3>Parameters:</h3>
624
- <ul class="param">
625
-
626
- <li>
627
-
628
- <span class='name'>status_header</span>
629
-
630
-
631
- <span class='type'>(<tt>String</tt>)</span>
632
-
633
-
634
-
635
- &mdash;
636
- <div class='inline'><p>The header line provided by <code>rcon status</code></p>
637
- </div>
638
-
639
- </li>
640
-
641
- </ul>
642
-
643
- <h3>Returns:</h3>
644
- <ul class="return">
645
-
646
- <li>
647
-
648
-
649
- <span class='type'>(<tt>Array&lt;Symbol&gt;</tt>)</span>
650
-
651
-
652
-
653
- &mdash;
654
- <div class='inline'><p>Split player attribute names</p>
655
- </div>
656
-
657
- </li>
658
-
659
- </ul>
660
-
661
- <h3>See Also:</h3>
662
- <ul class="see">
663
-
664
- <li><span class='object_link'><a href="#split_player_status-class_method" title="SteamCondenser::GameServer.split_player_status (method)">split_player_status</a></span></li>
665
-
666
- </ul>
667
-
668
- </div><table class="source_code">
669
- <tr>
670
- <td>
671
- <pre class="lines">
672
-
673
-
674
- 35
675
- 36
676
- 37
677
- 38
678
- 39
679
- 40
680
- 41
681
- 42
682
- 43
683
- 44
684
- 45
685
- 46</pre>
686
- </td>
687
- <td>
688
- <pre class="code"><span class="info file"># File 'lib/steam/servers/game_server.rb', line 35</span>
689
-
690
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_player_status_attributes identifier id'>player_status_attributes</span><span class='lparen token'>(</span><span class='rubyid_status_header identifier id'>status_header</span><span class='rparen token'>)</span>
691
- <span class='rubyid_status_header identifier id'>status_header</span><span class='dot token'>.</span><span class='rubyid_split identifier id'>split</span><span class='dot token'>.</span><span class='rubyid_map identifier id'>map</span> <span class='rubyid_do do kw'>do</span> <span class='bitor op'>|</span><span class='rubyid_attribute identifier id'>attribute</span><span class='bitor op'>|</span>
692
- <span class='rubyid_case case kw'>case</span> <span class='rubyid_attribute identifier id'>attribute</span>
693
- <span class='rubyid_when when kw'>when</span> <span class='string val'>'connected'</span>
694
- <span class='symbol val'>:time</span>
695
- <span class='rubyid_when when kw'>when</span> <span class='string val'>'frag'</span>
696
- <span class='symbol val'>:score</span>
697
- <span class='rubyid_else else kw'>else</span>
698
- <span class='rubyid_attribute identifier id'>attribute</span><span class='dot token'>.</span><span class='rubyid_to_sym identifier id'>to_sym</span>
699
- <span class='rubyid_end end kw'>end</span>
700
- <span class='rubyid_end end kw'>end</span>
701
- <span class='rubyid_end end kw'>end</span>
702
- </pre>
703
- </td>
704
- </tr>
705
- </table>
706
- </div>
707
-
708
- <div class="method_details ">
709
- <p class="signature " id="split_player_status-class_method">
710
-
711
- + (<tt>Hash&lt;Symbol, String&gt;</tt>) <strong>split_player_status</strong>(attributes, player_status)
712
-
713
-
714
-
715
- </p><div class="docstring">
716
- <div class="discussion">
717
- <p>Splits the player status obtained with <code>rcon status</code></p>
718
-
719
-
720
- </div>
721
- </div>
722
- <div class="tags">
723
- <h3>Parameters:</h3>
724
- <ul class="param">
725
-
726
- <li>
727
-
728
- <span class='name'>attributes</span>
729
-
730
-
731
- <span class='type'>(<tt>Array&lt;Symbol&gt;</tt>)</span>
732
-
733
-
734
-
735
- &mdash;
736
- <div class='inline'><p>The attribute names</p>
737
- </div>
738
-
739
- </li>
740
-
741
- <li>
742
-
743
- <span class='name'>player_status</span>
744
-
745
-
746
- <span class='type'>(<tt>String</tt>)</span>
747
-
748
-
749
-
750
- &mdash;
751
- <div class='inline'><p>The status line of a single player</p>
752
- </div>
753
-
754
- </li>
755
-
756
- </ul>
757
-
758
- <h3>Returns:</h3>
759
- <ul class="return">
760
-
761
- <li>
762
-
763
-
764
- <span class='type'>(<tt>Hash&lt;Symbol, String&gt;</tt>)</span>
765
-
766
-
767
-
768
- &mdash;
769
- <div class='inline'><p>The attributes with the corresponding values
770
- for this player</p>
771
- </div>
772
-
773
- </li>
774
-
775
- </ul>
776
-
777
- <h3>See Also:</h3>
778
- <ul class="see">
779
-
780
- <li><span class='object_link'><a href="#player_status_attributes-class_method" title="SteamCondenser::GameServer.player_status_attributes (method)">player_status_attributes</a></span></li>
781
-
782
- </ul>
783
-
784
- </div><table class="source_code">
785
- <tr>
786
- <td>
787
- <pre class="lines">
788
-
789
-
790
- 55
791
- 56
792
- 57
793
- 58
794
- 59
795
- 60
796
- 61
797
- 62
798
- 63
799
- 64
800
- 65
801
- 66
802
- 67
803
- 68
804
- 69
805
- 70
806
- 71
807
- 72
808
- 73
809
- 74
810
- 75
811
- 76
812
- 77
813
- 78
814
- 79
815
- 80</pre>
816
- </td>
817
- <td>
818
- <pre class="code"><span class="info file"># File 'lib/steam/servers/game_server.rb', line 55</span>
819
-
820
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_split_player_status identifier id'>split_player_status</span><span class='lparen token'>(</span><span class='rubyid_attributes identifier id'>attributes</span><span class='comma token'>,</span> <span class='rubyid_player_status identifier id'>player_status</span><span class='rparen token'>)</span>
821
- <span class='rubyid_player_status identifier id'>player_status</span><span class='dot token'>.</span><span class='rubyid_sub! fid id'>sub!</span> <span class='regexp val'>/^\d+ +/</span><span class='comma token'>,</span> <span class='string val'>''</span> <span class='rubyid_if if_mod kw'>if</span> <span class='rubyid_attributes identifier id'>attributes</span><span class='dot token'>.</span><span class='rubyid_first identifier id'>first</span> <span class='neq op'>!=</span> <span class='symbol val'>:userid</span>
822
-
823
- <span class='rubyid_first_quote identifier id'>first_quote</span> <span class='assign token'>=</span> <span class='rubyid_player_status identifier id'>player_status</span><span class='dot token'>.</span><span class='rubyid_index identifier id'>index</span> <span class='string val'>'&quot;'</span>
824
- <span class='rubyid_last_quote identifier id'>last_quote</span> <span class='assign token'>=</span> <span class='rubyid_player_status identifier id'>player_status</span><span class='dot token'>.</span><span class='rubyid_rindex identifier id'>rindex</span> <span class='string val'>'&quot;'</span>
825
- <span class='rubyid_data identifier id'>data</span> <span class='assign token'>=</span> <span class='lbrack token'>[</span>
826
- <span class='rubyid_player_status identifier id'>player_status</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='comma token'>,</span> <span class='rubyid_first_quote identifier id'>first_quote</span><span class='rbrack token'>]</span><span class='comma token'>,</span>
827
- <span class='rubyid_player_status identifier id'>player_status</span><span class='lbrack token'>[</span><span class='rubyid_first_quote identifier id'>first_quote</span> <span class='plus op'>+</span> <span class='float val'>1</span><span class='dot2 op'>..</span><span class='rubyid_last_quote identifier id'>last_quote</span> <span class='minus op'>-</span> <span class='integer val'>1</span><span class='rbrack token'>]</span><span class='comma token'>,</span>
828
- <span class='rubyid_player_status identifier id'>player_status</span><span class='lbrack token'>[</span><span class='rubyid_last_quote identifier id'>last_quote</span> <span class='plus op'>+</span> <span class='float val'>1</span><span class='dot2 op'>..</span><span class='integer val'>-1</span><span class='rbrack token'>]</span>
829
- <span class='rbrack token'>]</span>
830
- <span class='rubyid_data identifier id'>data</span> <span class='assign token'>=</span> <span class='lbrack token'>[</span> <span class='rubyid_data identifier id'>data</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='rbrack token'>]</span><span class='dot token'>.</span><span class='rubyid_split identifier id'>split</span><span class='comma token'>,</span> <span class='rubyid_data identifier id'>data</span><span class='lbrack token'>[</span><span class='integer val'>1</span><span class='rbrack token'>]</span><span class='comma token'>,</span> <span class='rubyid_data identifier id'>data</span><span class='lbrack token'>[</span><span class='integer val'>2</span><span class='rbrack token'>]</span><span class='dot token'>.</span><span class='rubyid_split identifier id'>split</span> <span class='rbrack token'>]</span>
831
- <span class='rubyid_data identifier id'>data</span><span class='dot token'>.</span><span class='rubyid_flatten! fid id'>flatten!</span>
832
-
833
- <span class='rubyid_if if kw'>if</span> <span class='rubyid_attributes identifier id'>attributes</span><span class='dot token'>.</span><span class='rubyid_size identifier id'>size</span> <span class='gt op'>&gt;</span> <span class='rubyid_data identifier id'>data</span><span class='dot token'>.</span><span class='rubyid_size identifier id'>size</span> <span class='andop op'>&amp;&amp;</span> <span class='rubyid_attributes identifier id'>attributes</span><span class='dot token'>.</span><span class='rubyid_include? fid id'>include?</span><span class='lparen token'>(</span><span class='symbol val'>:state</span><span class='rparen token'>)</span>
834
- <span class='rubyid_data identifier id'>data</span><span class='dot token'>.</span><span class='rubyid_insert identifier id'>insert</span> <span class='integer val'>3</span><span class='comma token'>,</span> <span class='rubyid_nil nil kw'>nil</span><span class='comma token'>,</span> <span class='rubyid_nil nil kw'>nil</span><span class='comma token'>,</span> <span class='rubyid_nil nil kw'>nil</span>
835
- <span class='rubyid_elsif elsif kw'>elsif</span> <span class='rubyid_attributes identifier id'>attributes</span><span class='dot token'>.</span><span class='rubyid_size identifier id'>size</span> <span class='lt op'>&lt;</span> <span class='rubyid_data identifier id'>data</span><span class='dot token'>.</span><span class='rubyid_size identifier id'>size</span>
836
- <span class='rubyid_data identifier id'>data</span><span class='dot token'>.</span><span class='rubyid_delete_at identifier id'>delete_at</span> <span class='integer val'>1</span>
837
- <span class='rubyid_end end kw'>end</span>
838
-
839
- <span class='rubyid_player_data identifier id'>player_data</span> <span class='assign token'>=</span> <span class='lbrace token'>{</span><span class='rbrace token'>}</span>
840
- <span class='rubyid_data identifier id'>data</span><span class='dot token'>.</span><span class='rubyid_each_index identifier id'>each_index</span> <span class='rubyid_do do kw'>do</span> <span class='bitor op'>|</span><span class='rubyid_i identifier id'>i</span><span class='bitor op'>|</span>
841
- <span class='rubyid_player_data identifier id'>player_data</span><span class='lbrack token'>[</span><span class='rubyid_attributes identifier id'>attributes</span><span class='lbrack token'>[</span><span class='rubyid_i identifier id'>i</span><span class='rbrack token'>]</span><span class='rbrack token'>]</span> <span class='assign token'>=</span> <span class='rubyid_data identifier id'>data</span><span class='lbrack token'>[</span><span class='rubyid_i identifier id'>i</span><span class='rbrack token'>]</span>
842
- <span class='rubyid_end end kw'>end</span>
843
-
844
- <span class='rubyid_player_data identifier id'>player_data</span>
845
- <span class='rubyid_end end kw'>end</span>
846
- </pre>
847
- </td>
848
- </tr>
849
- </table>
850
- </div>
851
-
852
- </div>
853
-
854
- <div id="instance_method_details" class="method_details_list">
855
- <h2>Instance Method Details</h2>
856
-
857
-
858
- <div class="method_details first">
859
- <p class="signature first" id="handle_response_for_request-instance_method">
860
-
861
- - (<tt>Object</tt>) <strong>handle_response_for_request</strong>(request_type, repeat_on_failure = true)
862
-
863
-
864
-
865
- </p><div class="docstring">
866
- <div class="discussion">
867
- <p>Sends the specified request to the server and handles the returned response</p>
868
-
869
- <p>Depending on the given request type this will fill the various data
870
- attributes of the server object.</p>
871
-
872
-
873
- </div>
874
- </div>
875
- <div class="tags">
876
- <h3>Parameters:</h3>
877
- <ul class="param">
878
-
879
- <li>
880
-
881
- <span class='name'>request_type</span>
882
-
883
-
884
- <span class='type'>(<tt>Symbol</tt>)</span>
885
-
886
-
887
-
888
- &mdash;
889
- <div class='inline'><p>The type of request to send to the server</p>
890
- </div>
891
-
892
- </li>
893
-
894
- <li>
895
-
896
- <span class='name'>repeat_on_failure</span>
897
-
898
-
899
- <span class='type'>(<tt>Boolean</tt>)</span>
900
-
901
-
902
- <em class="default">(defaults to: <tt>true</tt>)</em>
903
-
904
-
905
- &mdash;
906
- <div class='inline'><p>Whether the request should be repeated,
907
- if the replied packet isn&#39;t expected. This is useful to handle
908
- missing challenge numbers, which will be automatically filled in,
909
- although not requested explicitly.</p>
910
- </div>
911
-
912
- </li>
913
-
914
- </ul>
915
-
916
- <h3>Raises:</h3>
917
- <ul class="raise">
918
-
919
- <li>
920
-
921
-
922
- <span class='type'>(<tt><span class='object_link'><a href="Error.html" title="SteamCondenser::Error (class)">Error</a></span></tt>)</span>
923
-
924
-
925
-
926
- &mdash;
927
- <div class='inline'><p>if either the request type or the response
928
- packet is not known</p>
929
- </div>
930
-
931
- </li>
932
-
933
- </ul>
934
-
935
- </div><table class="source_code">
936
- <tr>
937
- <td>
938
- <pre class="lines">
939
-
940
-
941
- 205
942
- 206
943
- 207
944
- 208
945
- 209
946
- 210
947
- 211
948
- 212
949
- 213
950
- 214
951
- 215
952
- 216
953
- 217
954
- 218
955
- 219
956
- 220
957
- 221
958
- 222
959
- 223
960
- 224
961
- 225
962
- 226
963
- 227
964
- 228
965
- 229
966
- 230
967
- 231
968
- 232
969
- 233
970
- 234
971
- 235
972
- 236
973
- 237
974
- 238
975
- 239
976
- 240
977
- 241
978
- 242</pre>
979
- </td>
980
- <td>
981
- <pre class="code"><span class="info file"># File 'lib/steam/servers/game_server.rb', line 205</span>
982
-
983
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_handle_response_for_request identifier id'>handle_response_for_request</span><span class='lparen token'>(</span><span class='rubyid_request_type identifier id'>request_type</span><span class='comma token'>,</span> <span class='rubyid_repeat_on_failure identifier id'>repeat_on_failure</span> <span class='assign token'>=</span> <span class='rubyid_true true kw'>true</span><span class='rparen token'>)</span>
984
- <span class='rubyid_case case kw'>case</span> <span class='rubyid_request_type identifier id'>request_type</span>
985
- <span class='rubyid_when when kw'>when</span> <span class='symbol val'>:challenge</span> <span class='rubyid_then then kw'>then</span>
986
- <span class='rubyid_request_packet identifier id'>request_packet</span> <span class='assign token'>=</span> <span class='rubyid_A2S_PLAYER_Packet constant id'>A2S_PLAYER_Packet</span><span class='dot token'>.</span><span class='rubyid_new identifier id'>new</span>
987
- <span class='rubyid_expected_response identifier id'>expected_response</span> <span class='assign token'>=</span> <span class='rubyid_S2C_CHALLENGE_Packet constant id'>S2C_CHALLENGE_Packet</span>
988
- <span class='rubyid_when when kw'>when</span> <span class='symbol val'>:info</span> <span class='rubyid_then then kw'>then</span>
989
- <span class='rubyid_request_packet identifier id'>request_packet</span> <span class='assign token'>=</span> <span class='rubyid_A2S_INFO_Packet constant id'>A2S_INFO_Packet</span><span class='dot token'>.</span><span class='rubyid_new identifier id'>new</span>
990
- <span class='rubyid_expected_response identifier id'>expected_response</span> <span class='assign token'>=</span> <span class='rubyid_S2A_INFO_BasePacket constant id'>S2A_INFO_BasePacket</span>
991
- <span class='rubyid_when when kw'>when</span> <span class='symbol val'>:players</span> <span class='rubyid_then then kw'>then</span>
992
- <span class='rubyid_request_packet identifier id'>request_packet</span> <span class='assign token'>=</span> <span class='rubyid_A2S_PLAYER_Packet constant id'>A2S_PLAYER_Packet</span><span class='dot token'>.</span><span class='rubyid_new identifier id'>new</span><span class='lparen token'>(</span><span class='rubyid_@challenge_number ivar id'>@challenge_number</span><span class='rparen token'>)</span>
993
- <span class='rubyid_expected_response identifier id'>expected_response</span> <span class='assign token'>=</span> <span class='rubyid_S2A_PLAYER_Packet constant id'>S2A_PLAYER_Packet</span>
994
- <span class='rubyid_when when kw'>when</span> <span class='symbol val'>:rules</span> <span class='rubyid_then then kw'>then</span>
995
- <span class='rubyid_request_packet identifier id'>request_packet</span> <span class='assign token'>=</span> <span class='rubyid_A2S_RULES_Packet constant id'>A2S_RULES_Packet</span><span class='dot token'>.</span><span class='rubyid_new identifier id'>new</span><span class='lparen token'>(</span><span class='rubyid_@challenge_number ivar id'>@challenge_number</span><span class='rparen token'>)</span>
996
- <span class='rubyid_expected_response identifier id'>expected_response</span> <span class='assign token'>=</span> <span class='rubyid_S2A_RULES_Packet constant id'>S2A_RULES_Packet</span>
997
- <span class='rubyid_else else kw'>else</span>
998
- <span class='rubyid_raise identifier id'>raise</span> <span class='rubyid_Error constant id'>Error</span><span class='comma token'>,</span> <span class='string val'>'Called with wrong request type.'</span>
999
- <span class='rubyid_end end kw'>end</span>
1000
-
1001
- <span class='rubyid_send_request identifier id'>send_request</span> <span class='rubyid_request_packet identifier id'>request_packet</span>
1002
- <span class='rubyid_response_packet identifier id'>response_packet</span> <span class='assign token'>=</span> <span class='rubyid_reply identifier id'>reply</span>
1003
-
1004
- <span class='rubyid_if if kw'>if</span> <span class='rubyid_response_packet identifier id'>response_packet</span><span class='dot token'>.</span><span class='rubyid_kind_of? fid id'>kind_of?</span> <span class='rubyid_S2A_INFO_BasePacket constant id'>S2A_INFO_BasePacket</span>
1005
- <span class='rubyid_@info_hash ivar id'>@info_hash</span> <span class='assign token'>=</span> <span class='rubyid_response_packet identifier id'>response_packet</span><span class='dot token'>.</span><span class='rubyid_info_hash identifier id'>info_hash</span>
1006
- <span class='rubyid_elsif elsif kw'>elsif</span> <span class='rubyid_response_packet identifier id'>response_packet</span><span class='dot token'>.</span><span class='rubyid_kind_of? fid id'>kind_of?</span> <span class='rubyid_S2A_PLAYER_Packet constant id'>S2A_PLAYER_Packet</span>
1007
- <span class='rubyid_@player_hash ivar id'>@player_hash</span> <span class='assign token'>=</span> <span class='rubyid_response_packet identifier id'>response_packet</span><span class='dot token'>.</span><span class='rubyid_player_hash identifier id'>player_hash</span>
1008
- <span class='rubyid_elsif elsif kw'>elsif</span> <span class='rubyid_response_packet identifier id'>response_packet</span><span class='dot token'>.</span><span class='rubyid_kind_of? fid id'>kind_of?</span> <span class='rubyid_S2A_RULES_Packet constant id'>S2A_RULES_Packet</span>
1009
- <span class='rubyid_@rules_hash ivar id'>@rules_hash</span> <span class='assign token'>=</span> <span class='rubyid_response_packet identifier id'>response_packet</span><span class='dot token'>.</span><span class='rubyid_rules_hash identifier id'>rules_hash</span>
1010
- <span class='rubyid_elsif elsif kw'>elsif</span> <span class='rubyid_response_packet identifier id'>response_packet</span><span class='dot token'>.</span><span class='rubyid_kind_of? fid id'>kind_of?</span> <span class='rubyid_S2C_CHALLENGE_Packet constant id'>S2C_CHALLENGE_Packet</span>
1011
- <span class='rubyid_@challenge_number ivar id'>@challenge_number</span> <span class='assign token'>=</span> <span class='rubyid_response_packet identifier id'>response_packet</span><span class='dot token'>.</span><span class='rubyid_challenge_number identifier id'>challenge_number</span>
1012
- <span class='rubyid_else else kw'>else</span>
1013
- <span class='rubyid_raise identifier id'>raise</span> <span class='rubyid_Error constant id'>Error</span><span class='comma token'>,</span> <span class='dstring node'>&quot;Response of type #{response_packet.class} cannot be handled by this method.&quot;</span>
1014
- <span class='rubyid_end end kw'>end</span>
1015
-
1016
- <span class='rubyid_unless unless kw'>unless</span> <span class='rubyid_response_packet identifier id'>response_packet</span><span class='dot token'>.</span><span class='rubyid_kind_of? fid id'>kind_of?</span> <span class='rubyid_expected_response identifier id'>expected_response</span>
1017
- <span class='rubyid_puts identifier id'>puts</span> <span class='dstring node'>&quot;Expected #{expected_response}, got #{response_packet.class}.&quot;</span> <span class='rubyid_if if_mod kw'>if</span> <span class='rubyid_$DEBUG gvar id'>$DEBUG</span>
1018
- <span class='rubyid_handle_response_for_request identifier id'>handle_response_for_request</span><span class='lparen token'>(</span><span class='rubyid_request_type identifier id'>request_type</span><span class='comma token'>,</span> <span class='rubyid_false false kw'>false</span><span class='rparen token'>)</span> <span class='rubyid_if if_mod kw'>if</span> <span class='rubyid_repeat_on_failure identifier id'>repeat_on_failure</span>
1019
- <span class='rubyid_end end kw'>end</span>
1020
- <span class='rubyid_end end kw'>end</span>
1021
- </pre>
1022
- </td>
1023
- </tr>
1024
- </table>
1025
- </div>
1026
-
1027
- <div class="method_details ">
1028
- <p class="signature " id="init-instance_method">
1029
-
1030
- - (<tt>Object</tt>) <strong>init</strong>
1031
-
1032
-
1033
-
1034
- </p><div class="docstring">
1035
- <div class="discussion">
1036
- <p>Initializes this server object with basic information</p>
1037
-
1038
-
1039
- </div>
1040
- </div>
1041
- <div class="tags">
1042
-
1043
-
1044
- <h3>See Also:</h3>
1045
- <ul class="see">
1046
-
1047
- <li><span class='object_link'><a href="#update_challenge_number-instance_method" title="SteamCondenser::GameServer#update_challenge_number (method)">#update_challenge_number</a></span></li>
1048
-
1049
- <li><span class='object_link'><a href="#update_ping-instance_method" title="SteamCondenser::GameServer#update_ping (method)">#update_ping</a></span></li>
1050
-
1051
- <li><span class='object_link'><a href="#update_server_info-instance_method" title="SteamCondenser::GameServer#update_server_info (method)">#update_server_info</a></span></li>
1052
-
1053
- </ul>
1054
-
1055
- </div><table class="source_code">
1056
- <tr>
1057
- <td>
1058
- <pre class="lines">
1059
-
1060
-
1061
- 249
1062
- 250
1063
- 251
1064
- 252
1065
- 253</pre>
1066
- </td>
1067
- <td>
1068
- <pre class="code"><span class="info file"># File 'lib/steam/servers/game_server.rb', line 249</span>
1069
-
1070
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_init identifier id'>init</span>
1071
- <span class='rubyid_update_ping identifier id'>update_ping</span>
1072
- <span class='rubyid_update_server_info identifier id'>update_server_info</span>
1073
- <span class='rubyid_update_challenge_number identifier id'>update_challenge_number</span>
1074
- <span class='rubyid_end end kw'>end</span>
1075
- </pre>
1076
- </td>
1077
- </tr>
1078
- </table>
1079
- </div>
1080
-
1081
- <div class="method_details ">
1082
- <p class="signature " id="initialize-instance_method">
1083
-
1084
- - (<tt><span class='object_link'><a href="" title="SteamCondenser::GameServer (module)">GameServer</a></span></tt>) <strong>initialize</strong>(address, port = 27015)
1085
-
1086
-
1087
-
1088
- </p><div class="docstring">
1089
- <div class="discussion">
1090
- <p>Creates a new instance of a game server object</p>
1091
-
1092
-
1093
- </div>
1094
- </div>
1095
- <div class="tags">
1096
- <h3>Parameters:</h3>
1097
- <ul class="param">
1098
-
1099
- <li>
1100
-
1101
- <span class='name'>address</span>
1102
-
1103
-
1104
- <span class='type'>(<tt>String</tt>)</span>
1105
-
1106
-
1107
-
1108
- &mdash;
1109
- <div class='inline'><p>Either an IP address, a DNS name or one of them
1110
- combined with the port number. If a port number is given, e.g.
1111
- &#39;server.example.com:27016&#39; it will override the second argument.</p>
1112
- </div>
1113
-
1114
- </li>
1115
-
1116
- <li>
1117
-
1118
- <span class='name'>port</span>
1119
-
1120
-
1121
- <span class='type'>(<tt>Fixnum</tt>)</span>
1122
-
1123
-
1124
- <em class="default">(defaults to: <tt>27015</tt>)</em>
1125
-
1126
-
1127
- &mdash;
1128
- <div class='inline'><p>The port the server is listening on</p>
1129
- </div>
1130
-
1131
- </li>
1132
-
1133
- </ul>
1134
-
1135
- <h3>Raises:</h3>
1136
- <ul class="raise">
1137
-
1138
- <li>
1139
-
1140
-
1141
- <span class='type'>(<tt><span class='object_link'><a href="Error.html" title="SteamCondenser::Error (class)">Error</a></span></tt>)</span>
1142
-
1143
-
1144
-
1145
- &mdash;
1146
- <div class='inline'><p>if an host name cannot be resolved</p>
1147
- </div>
1148
-
1149
- </li>
1150
-
1151
- </ul>
1152
-
1153
- </div><table class="source_code">
1154
- <tr>
1155
- <td>
1156
- <pre class="lines">
1157
-
1158
-
1159
- 89
1160
- 90
1161
- 91
1162
- 92
1163
- 93</pre>
1164
- </td>
1165
- <td>
1166
- <pre class="code"><span class="info file"># File 'lib/steam/servers/game_server.rb', line 89</span>
1167
-
1168
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_initialize identifier id'>initialize</span><span class='lparen token'>(</span><span class='rubyid_address identifier id'>address</span><span class='comma token'>,</span> <span class='rubyid_port identifier id'>port</span> <span class='assign token'>=</span> <span class='integer val'>27015</span><span class='rparen token'>)</span>
1169
- <span class='rubyid_super super kw'>super</span>
1170
-
1171
- <span class='rubyid_@rcon_authenticated ivar id'>@rcon_authenticated</span> <span class='assign token'>=</span> <span class='rubyid_false false kw'>false</span>
1172
- <span class='rubyid_end end kw'>end</span>
1173
- </pre>
1174
- </td>
1175
- </tr>
1176
- </table>
1177
- </div>
1178
-
1179
- <div class="method_details ">
1180
- <p class="signature " id="ping-instance_method">
1181
-
1182
- - (<tt>Fixnum</tt>) <strong>ping</strong>
1183
-
1184
-
1185
-
1186
- </p><div class="docstring">
1187
- <div class="discussion">
1188
- <p>Returns the last measured response time of this server</p>
1189
-
1190
- <p>If the latency hasn&#39;t been measured yet, it is done when calling this
1191
- method for the first time.</p>
1192
-
1193
- <p>If this information is vital to you, be sure to call <span class='object_link'><a href="#update_ping-instance_method" title="SteamCondenser::GameServer#update_ping (method)">#update_ping</a></span>
1194
- regularly to stay up-to-date.</p>
1195
-
1196
-
1197
- </div>
1198
- </div>
1199
- <div class="tags">
1200
-
1201
- <h3>Returns:</h3>
1202
- <ul class="return">
1203
-
1204
- <li>
1205
-
1206
-
1207
- <span class='type'>(<tt>Fixnum</tt>)</span>
1208
-
1209
-
1210
-
1211
- &mdash;
1212
- <div class='inline'><p>The latency of this server in milliseconds</p>
1213
- </div>
1214
-
1215
- </li>
1216
-
1217
- </ul>
1218
-
1219
- <h3>See Also:</h3>
1220
- <ul class="see">
1221
-
1222
- <li><span class='object_link'><a href="#update_ping-instance_method" title="SteamCondenser::GameServer#update_ping (method)">#update_ping</a></span></li>
1223
-
1224
- </ul>
1225
-
1226
- </div><table class="source_code">
1227
- <tr>
1228
- <td>
1229
- <pre class="lines">
1230
-
1231
-
1232
- 105
1233
- 106
1234
- 107
1235
- 108</pre>
1236
- </td>
1237
- <td>
1238
- <pre class="code"><span class="info file"># File 'lib/steam/servers/game_server.rb', line 105</span>
1239
-
1240
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_ping identifier id'>ping</span>
1241
- <span class='rubyid_update_ping identifier id'>update_ping</span> <span class='rubyid_if if_mod kw'>if</span> <span class='rubyid_@ping ivar id'>@ping</span><span class='dot token'>.</span><span class='rubyid_nil? fid id'>nil?</span>
1242
- <span class='rubyid_@ping ivar id'>@ping</span>
1243
- <span class='rubyid_end end kw'>end</span>
1244
- </pre>
1245
- </td>
1246
- </tr>
1247
- </table>
1248
- </div>
1249
-
1250
- <div class="method_details ">
1251
- <p class="signature " id="players-instance_method">
1252
-
1253
- - (<tt>Hash</tt>) <strong>players</strong>(rcon_password = nil)
1254
-
1255
-
1256
-
1257
- </p><div class="docstring">
1258
- <div class="discussion">
1259
- <p>Returns a list of players currently playing on this server</p>
1260
-
1261
- <p>If the players haven&#39;t been fetched yet, it is done when calling this
1262
- method for the first time.</p>
1263
-
1264
- <p>As the players and their scores change quite often be sure to update this
1265
- list regularly by calling <span class='object_link'><a href="#update_players-instance_method" title="SteamCondenser::GameServer#update_players (method)">#update_players</a></span> if you rely on this
1266
- information.</p>
1267
-
1268
-
1269
- </div>
1270
- </div>
1271
- <div class="tags">
1272
- <h3>Parameters:</h3>
1273
- <ul class="param">
1274
-
1275
- <li>
1276
-
1277
- <span class='name'>rcon_password</span>
1278
-
1279
-
1280
- <span class='type'>(<tt>String</tt>)</span>
1281
-
1282
-
1283
- <em class="default">(defaults to: <tt>nil</tt>)</em>
1284
-
1285
-
1286
- &mdash;
1287
- <div class='inline'><p>The RCON password of this server may be
1288
- provided to gather more detailed information on the players, like
1289
- STEAM_IDs.</p>
1290
- </div>
1291
-
1292
- </li>
1293
-
1294
- </ul>
1295
-
1296
- <h3>Returns:</h3>
1297
- <ul class="return">
1298
-
1299
- <li>
1300
-
1301
-
1302
- <span class='type'>(<tt>Hash</tt>)</span>
1303
-
1304
-
1305
-
1306
- &mdash;
1307
- <div class='inline'><p>The players on this server</p>
1308
- </div>
1309
-
1310
- </li>
1311
-
1312
- </ul>
1313
-
1314
- <h3>See Also:</h3>
1315
- <ul class="see">
1316
-
1317
- <li>update_players</li>
1318
-
1319
- </ul>
1320
-
1321
- </div><table class="source_code">
1322
- <tr>
1323
- <td>
1324
- <pre class="lines">
1325
-
1326
-
1327
- 124
1328
- 125
1329
- 126
1330
- 127</pre>
1331
- </td>
1332
- <td>
1333
- <pre class="code"><span class="info file"># File 'lib/steam/servers/game_server.rb', line 124</span>
1334
-
1335
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_players identifier id'>players</span><span class='lparen token'>(</span><span class='rubyid_rcon_password identifier id'>rcon_password</span> <span class='assign token'>=</span> <span class='rubyid_nil nil kw'>nil</span><span class='rparen token'>)</span>
1336
- <span class='rubyid_update_players identifier id'>update_players</span><span class='lparen token'>(</span><span class='rubyid_rcon_password identifier id'>rcon_password</span><span class='rparen token'>)</span> <span class='rubyid_if if_mod kw'>if</span> <span class='rubyid_@player_hash ivar id'>@player_hash</span><span class='dot token'>.</span><span class='rubyid_nil? fid id'>nil?</span>
1337
- <span class='rubyid_@player_hash ivar id'>@player_hash</span>
1338
- <span class='rubyid_end end kw'>end</span>
1339
- </pre>
1340
- </td>
1341
- </tr>
1342
- </table>
1343
- </div>
1344
-
1345
- <div class="method_details ">
1346
- <p class="signature " id="rcon_auth-instance_method">
1347
-
1348
- - (<tt>Boolean</tt>) <strong>rcon_auth</strong>(password)
1349
-
1350
-
1351
-
1352
- </p><div class="docstring">
1353
- <div class="discussion">
1354
- <div class="note abstract">
1355
- <strong>This method is abstract.</strong>
1356
- <div class='inline'><p>Must be be implemented by including classes to handle the
1357
- authentication</p>
1358
- </div>
1359
- </div>
1360
- <p>Authenticates the connection for RCON communication with the server</p>
1361
-
1362
-
1363
- </div>
1364
- </div>
1365
- <div class="tags">
1366
- <h3>Parameters:</h3>
1367
- <ul class="param">
1368
-
1369
- <li>
1370
-
1371
- <span class='name'>password</span>
1372
-
1373
-
1374
- <span class='type'>(<tt>String</tt>)</span>
1375
-
1376
-
1377
-
1378
- &mdash;
1379
- <div class='inline'><p>The RCON password of the server</p>
1380
- </div>
1381
-
1382
- </li>
1383
-
1384
- </ul>
1385
-
1386
- <h3>Returns:</h3>
1387
- <ul class="return">
1388
-
1389
- <li>
1390
-
1391
-
1392
- <span class='type'>(<tt>Boolean</tt>)</span>
1393
-
1394
-
1395
-
1396
- &mdash;
1397
- <div class='inline'><p>whether the authentication was successful</p>
1398
- </div>
1399
-
1400
- </li>
1401
-
1402
- </ul>
1403
- <h3>Raises:</h3>
1404
- <ul class="raise">
1405
-
1406
- <li>
1407
-
1408
-
1409
- <span class='type'>(<tt>NotImplementedError</tt>)</span>
1410
-
1411
-
1412
-
1413
- </li>
1414
-
1415
- </ul>
1416
-
1417
- <h3>See Also:</h3>
1418
- <ul class="see">
1419
-
1420
- <li><span class='object_link'><a href="#rcon_exec-instance_method" title="SteamCondenser::GameServer#rcon_exec (method)">#rcon_exec</a></span></li>
1421
-
1422
- </ul>
1423
-
1424
- </div><table class="source_code">
1425
- <tr>
1426
- <td>
1427
- <pre class="lines">
1428
-
1429
-
1430
- 136
1431
- 137
1432
- 138</pre>
1433
- </td>
1434
- <td>
1435
- <pre class="code"><span class="info file"># File 'lib/steam/servers/game_server.rb', line 136</span>
1436
-
1437
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_rcon_auth identifier id'>rcon_auth</span><span class='lparen token'>(</span><span class='rubyid_password identifier id'>password</span><span class='rparen token'>)</span>
1438
- <span class='rubyid_raise identifier id'>raise</span> <span class='rubyid_NotImplementedError constant id'>NotImplementedError</span>
1439
- <span class='rubyid_end end kw'>end</span>
1440
- </pre>
1441
- </td>
1442
- </tr>
1443
- </table>
1444
- </div>
1445
-
1446
- <div class="method_details ">
1447
- <p class="signature " id="rcon_authenticated?-instance_method">
1448
-
1449
- - (<tt>Boolean</tt>) <strong>rcon_authenticated?</strong>
1450
-
1451
-
1452
-
1453
- </p><div class="docstring">
1454
- <div class="discussion">
1455
- <p>Returns whether the RCON connection to this server is already authenticated</p>
1456
-
1457
-
1458
- </div>
1459
- </div>
1460
- <div class="tags">
1461
-
1462
- <h3>Returns:</h3>
1463
- <ul class="return">
1464
-
1465
- <li>
1466
-
1467
-
1468
- <span class='type'>(<tt>Boolean</tt>)</span>
1469
-
1470
-
1471
-
1472
- &mdash;
1473
- <div class='inline'><p><code>true</code> if the RCON connection is authenticated</p>
1474
- </div>
1475
-
1476
- </li>
1477
-
1478
- </ul>
1479
-
1480
- <h3>See Also:</h3>
1481
- <ul class="see">
1482
-
1483
- <li><span class='object_link'><a href="#rcon_auth-instance_method" title="SteamCondenser::GameServer#rcon_auth (method)">#rcon_auth</a></span></li>
1484
-
1485
- </ul>
1486
-
1487
- </div><table class="source_code">
1488
- <tr>
1489
- <td>
1490
- <pre class="lines">
1491
-
1492
-
1493
- 144
1494
- 145
1495
- 146</pre>
1496
- </td>
1497
- <td>
1498
- <pre class="code"><span class="info file"># File 'lib/steam/servers/game_server.rb', line 144</span>
1499
-
1500
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_rcon_authenticated? fid id'>rcon_authenticated?</span>
1501
- <span class='rubyid_@rcon_authenticated ivar id'>@rcon_authenticated</span>
1502
- <span class='rubyid_end end kw'>end</span>
1503
- </pre>
1504
- </td>
1505
- </tr>
1506
- </table>
1507
- </div>
1508
-
1509
- <div class="method_details ">
1510
- <p class="signature " id="rcon_exec-instance_method">
1511
-
1512
- - (<tt>String</tt>) <strong>rcon_exec</strong>(command)
1513
-
1514
-
1515
-
1516
- </p><div class="docstring">
1517
- <div class="discussion">
1518
- <div class="note abstract">
1519
- <strong>This method is abstract.</strong>
1520
- <div class='inline'><p>Must be be implemented by including classes to handle the command
1521
- execution</p>
1522
- </div>
1523
- </div>
1524
- <p>Remotely executes a command on the server via RCON</p>
1525
-
1526
-
1527
- </div>
1528
- </div>
1529
- <div class="tags">
1530
- <h3>Parameters:</h3>
1531
- <ul class="param">
1532
-
1533
- <li>
1534
-
1535
- <span class='name'>command</span>
1536
-
1537
-
1538
- <span class='type'>(<tt>String</tt>)</span>
1539
-
1540
-
1541
-
1542
- &mdash;
1543
- <div class='inline'><p>The command to execute on the server</p>
1544
- </div>
1545
-
1546
- </li>
1547
-
1548
- </ul>
1549
-
1550
- <h3>Returns:</h3>
1551
- <ul class="return">
1552
-
1553
- <li>
1554
-
1555
-
1556
- <span class='type'>(<tt>String</tt>)</span>
1557
-
1558
-
1559
-
1560
- &mdash;
1561
- <div class='inline'><p>The output of the executed command</p>
1562
- </div>
1563
-
1564
- </li>
1565
-
1566
- </ul>
1567
- <h3>Raises:</h3>
1568
- <ul class="raise">
1569
-
1570
- <li>
1571
-
1572
-
1573
- <span class='type'>(<tt>NotImplementedError</tt>)</span>
1574
-
1575
-
1576
-
1577
- </li>
1578
-
1579
- </ul>
1580
-
1581
- <h3>See Also:</h3>
1582
- <ul class="see">
1583
-
1584
- <li><span class='object_link'><a href="#rcon_auth-instance_method" title="SteamCondenser::GameServer#rcon_auth (method)">#rcon_auth</a></span></li>
1585
-
1586
- </ul>
1587
-
1588
- </div><table class="source_code">
1589
- <tr>
1590
- <td>
1591
- <pre class="lines">
1592
-
1593
-
1594
- 155
1595
- 156
1596
- 157</pre>
1597
- </td>
1598
- <td>
1599
- <pre class="code"><span class="info file"># File 'lib/steam/servers/game_server.rb', line 155</span>
1600
-
1601
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_rcon_exec identifier id'>rcon_exec</span><span class='lparen token'>(</span><span class='rubyid_command identifier id'>command</span><span class='rparen token'>)</span>
1602
- <span class='rubyid_raise identifier id'>raise</span> <span class='rubyid_NotImplementedError constant id'>NotImplementedError</span>
1603
- <span class='rubyid_end end kw'>end</span>
1604
- </pre>
1605
- </td>
1606
- </tr>
1607
- </table>
1608
- </div>
1609
-
1610
- <div class="method_details ">
1611
- <p class="signature " id="reply-instance_method">
1612
-
1613
- - (<tt><span class='object_link'><a href="SteamPacket.html" title="SteamCondenser::SteamPacket (module)">SteamPacket</a></span></tt>) <strong>reply</strong> <span class="extras">(protected)</span>
1614
-
1615
-
1616
-
1617
- </p><div class="docstring">
1618
- <div class="discussion">
1619
- <p>Receives a response from the server</p>
1620
-
1621
-
1622
- </div>
1623
- </div>
1624
- <div class="tags">
1625
-
1626
- <h3>Returns:</h3>
1627
- <ul class="return">
1628
-
1629
- <li>
1630
-
1631
-
1632
- <span class='type'>(<tt><span class='object_link'><a href="SteamPacket.html" title="SteamCondenser::SteamPacket (module)">SteamPacket</a></span></tt>)</span>
1633
-
1634
-
1635
-
1636
- &mdash;
1637
- <div class='inline'><p>The response packet replied by the server</p>
1638
- </div>
1639
-
1640
- </li>
1641
-
1642
- </ul>
1643
-
1644
- </div><table class="source_code">
1645
- <tr>
1646
- <td>
1647
- <pre class="lines">
1648
-
1649
-
1650
- 383
1651
- 384
1652
- 385</pre>
1653
- </td>
1654
- <td>
1655
- <pre class="code"><span class="info file"># File 'lib/steam/servers/game_server.rb', line 383</span>
1656
-
1657
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_reply identifier id'>reply</span>
1658
- <span class='rubyid_@socket ivar id'>@socket</span><span class='dot token'>.</span><span class='rubyid_reply identifier id'>reply</span>
1659
- <span class='rubyid_end end kw'>end</span>
1660
- </pre>
1661
- </td>
1662
- </tr>
1663
- </table>
1664
- </div>
1665
-
1666
- <div class="method_details ">
1667
- <p class="signature " id="rules-instance_method">
1668
-
1669
- - (<tt>Hash&lt;String, String&gt;</tt>) <strong>rules</strong>
1670
-
1671
-
1672
-
1673
- </p><div class="docstring">
1674
- <div class="discussion">
1675
- <p>Returns the settings applied on the server. These settings are also called
1676
- rules.</p>
1677
-
1678
- <p>If the rules haven&#39;t been fetched yet, it is done when calling this method
1679
- for the first time.</p>
1680
-
1681
- <p>As the rules usually don&#39;t change often, there&#39;s almost no need to update
1682
- this hash. But if you need to, you can achieve this by calling
1683
- <span class='object_link'><a href="#update_rules-instance_method" title="SteamCondenser::GameServer#update_rules (method)">#update_rules</a></span>.</p>
1684
-
1685
-
1686
- </div>
1687
- </div>
1688
- <div class="tags">
1689
-
1690
- <h3>Returns:</h3>
1691
- <ul class="return">
1692
-
1693
- <li>
1694
-
1695
-
1696
- <span class='type'>(<tt>Hash&lt;String, String&gt;</tt>)</span>
1697
-
1698
-
1699
-
1700
- &mdash;
1701
- <div class='inline'><p>The currently active server rules</p>
1702
- </div>
1703
-
1704
- </li>
1705
-
1706
- </ul>
1707
-
1708
- <h3>See Also:</h3>
1709
- <ul class="see">
1710
-
1711
- <li><span class='object_link'><a href="#update_rules-instance_method" title="SteamCondenser::GameServer#update_rules (method)">#update_rules</a></span></li>
1712
-
1713
- </ul>
1714
-
1715
- </div><table class="source_code">
1716
- <tr>
1717
- <td>
1718
- <pre class="lines">
1719
-
1720
-
1721
- 171
1722
- 172
1723
- 173
1724
- 174</pre>
1725
- </td>
1726
- <td>
1727
- <pre class="code"><span class="info file"># File 'lib/steam/servers/game_server.rb', line 171</span>
1728
-
1729
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_rules identifier id'>rules</span>
1730
- <span class='rubyid_update_rules identifier id'>update_rules</span> <span class='rubyid_if if_mod kw'>if</span> <span class='rubyid_@rules_hash ivar id'>@rules_hash</span><span class='dot token'>.</span><span class='rubyid_nil? fid id'>nil?</span>
1731
- <span class='rubyid_@rules_hash ivar id'>@rules_hash</span>
1732
- <span class='rubyid_end end kw'>end</span>
1733
- </pre>
1734
- </td>
1735
- </tr>
1736
- </table>
1737
- </div>
1738
-
1739
- <div class="method_details ">
1740
- <p class="signature " id="send_request-instance_method">
1741
-
1742
- - (<tt>Object</tt>) <strong>send_request</strong>(packet) <span class="extras">(protected)</span>
1743
-
1744
-
1745
-
1746
- </p><div class="docstring">
1747
- <div class="discussion">
1748
- <p>Sends a request packet to the server</p>
1749
-
1750
-
1751
- </div>
1752
- </div>
1753
- <div class="tags">
1754
- <h3>Parameters:</h3>
1755
- <ul class="param">
1756
-
1757
- <li>
1758
-
1759
- <span class='name'>packet</span>
1760
-
1761
-
1762
- <span class='type'>(<tt><span class='object_link'><a href="SteamPacket.html" title="SteamCondenser::SteamPacket (module)">SteamPacket</a></span></tt>)</span>
1763
-
1764
-
1765
-
1766
- &mdash;
1767
- <div class='inline'><p>The request packet to send to the server</p>
1768
- </div>
1769
-
1770
- </li>
1771
-
1772
- </ul>
1773
-
1774
-
1775
- </div><table class="source_code">
1776
- <tr>
1777
- <td>
1778
- <pre class="lines">
1779
-
1780
-
1781
- 390
1782
- 391
1783
- 392</pre>
1784
- </td>
1785
- <td>
1786
- <pre class="code"><span class="info file"># File 'lib/steam/servers/game_server.rb', line 390</span>
1787
-
1788
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_send_request identifier id'>send_request</span><span class='lparen token'>(</span><span class='rubyid_packet identifier id'>packet</span><span class='rparen token'>)</span>
1789
- <span class='rubyid_@socket ivar id'>@socket</span><span class='dot token'>.</span><span class='rubyid_send identifier id'>send</span> <span class='rubyid_packet identifier id'>packet</span>
1790
- <span class='rubyid_end end kw'>end</span>
1791
- </pre>
1792
- </td>
1793
- </tr>
1794
- </table>
1795
- </div>
1796
-
1797
- <div class="method_details ">
1798
- <p class="signature " id="server_info-instance_method">
1799
-
1800
- - (<tt>Hash</tt>) <strong>server_info</strong>
1801
-
1802
-
1803
-
1804
- </p><div class="docstring">
1805
- <div class="discussion">
1806
- <p>Returns a hash with basic information on the server.</p>
1807
-
1808
- <p>If the server information haven&#39;t been fetched yet, it is done when
1809
- calling this method for the first time.</p>
1810
-
1811
- <p>The server information usually only changes on map change and when players
1812
- join or leave. As the latter changes can be monitored by calling
1813
- #update&lt;em&gt;players, there&#39;s no need to call #update&lt;/em&gt;server_info very
1814
- often.</p>
1815
-
1816
-
1817
- </div>
1818
- </div>
1819
- <div class="tags">
1820
-
1821
- <h3>Returns:</h3>
1822
- <ul class="return">
1823
-
1824
- <li>
1825
-
1826
-
1827
- <span class='type'>(<tt>Hash</tt>)</span>
1828
-
1829
-
1830
-
1831
- &mdash;
1832
- <div class='inline'><p>Server attributes with their values</p>
1833
- </div>
1834
-
1835
- </li>
1836
-
1837
- </ul>
1838
-
1839
- <h3>See Also:</h3>
1840
- <ul class="see">
1841
-
1842
- <li><span class='object_link'><a href="#update_server_info-instance_method" title="SteamCondenser::GameServer#update_server_info (method)">#update_server_info</a></span></li>
1843
-
1844
- </ul>
1845
-
1846
- </div><table class="source_code">
1847
- <tr>
1848
- <td>
1849
- <pre class="lines">
1850
-
1851
-
1852
- 188
1853
- 189
1854
- 190
1855
- 191</pre>
1856
- </td>
1857
- <td>
1858
- <pre class="code"><span class="info file"># File 'lib/steam/servers/game_server.rb', line 188</span>
1859
-
1860
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_server_info identifier id'>server_info</span>
1861
- <span class='rubyid_update_server_info identifier id'>update_server_info</span> <span class='rubyid_if if_mod kw'>if</span> <span class='rubyid_@info_hash ivar id'>@info_hash</span><span class='dot token'>.</span><span class='rubyid_nil? fid id'>nil?</span>
1862
- <span class='rubyid_@info_hash ivar id'>@info_hash</span>
1863
- <span class='rubyid_end end kw'>end</span>
1864
- </pre>
1865
- </td>
1866
- </tr>
1867
- </table>
1868
- </div>
1869
-
1870
- <div class="method_details ">
1871
- <p class="signature " id="to_s-instance_method">
1872
-
1873
- - (<tt>String</tt>) <strong>to_s</strong>
1874
-
1875
-
1876
-
1877
- </p><div class="docstring">
1878
- <div class="discussion">
1879
- <p>Returns a human-readable text representation of the server</p>
1880
-
1881
-
1882
- </div>
1883
- </div>
1884
- <div class="tags">
1885
-
1886
- <h3>Returns:</h3>
1887
- <ul class="return">
1888
-
1889
- <li>
1890
-
1891
-
1892
- <span class='type'>(<tt>String</tt>)</span>
1893
-
1894
-
1895
-
1896
- &mdash;
1897
- <div class='inline'><p>Available information about the server in a human-readable
1898
- format</p>
1899
- </div>
1900
-
1901
- </li>
1902
-
1903
- </ul>
1904
-
1905
- </div><table class="source_code">
1906
- <tr>
1907
- <td>
1908
- <pre class="lines">
1909
-
1910
-
1911
- 348
1912
- 349
1913
- 350
1914
- 351
1915
- 352
1916
- 353
1917
- 354
1918
- 355
1919
- 356
1920
- 357
1921
- 358
1922
- 359
1923
- 360
1924
- 361
1925
- 362
1926
- 363
1927
- 364
1928
- 365
1929
- 366
1930
- 367
1931
- 368
1932
- 369
1933
- 370
1934
- 371
1935
- 372
1936
- 373
1937
- 374
1938
- 375
1939
- 376</pre>
1940
- </td>
1941
- <td>
1942
- <pre class="code"><span class="info file"># File 'lib/steam/servers/game_server.rb', line 348</span>
1943
-
1944
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_to_s identifier id'>to_s</span>
1945
- <span class='rubyid_return_string identifier id'>return_string</span> <span class='assign token'>=</span> <span class='string val'>''</span>
1946
-
1947
- <span class='rubyid_return_string identifier id'>return_string</span> <span class='lshft op'>&lt;&lt;</span> <span class='string val'>&quot;Ping: #@ping\n&quot;</span>
1948
- <span class='rubyid_return_string identifier id'>return_string</span> <span class='lshft op'>&lt;&lt;</span> <span class='string val'>&quot;Challenge number: #@challenge_number\n&quot;</span>
1949
-
1950
- <span class='rubyid_unless unless kw'>unless</span> <span class='rubyid_@info_hash ivar id'>@info_hash</span><span class='dot token'>.</span><span class='rubyid_nil? fid id'>nil?</span>
1951
- <span class='rubyid_return_string identifier id'>return_string</span> <span class='lshft op'>&lt;&lt;</span> <span class='string val'>&quot;Info:\n&quot;</span>
1952
- <span class='rubyid_@info_hash ivar id'>@info_hash</span><span class='dot token'>.</span><span class='rubyid_each identifier id'>each</span> <span class='rubyid_do do kw'>do</span> <span class='bitor op'>|</span><span class='rubyid_key identifier id'>key</span><span class='comma token'>,</span> <span class='rubyid_value identifier id'>value</span><span class='bitor op'>|</span>
1953
- <span class='rubyid_return_string identifier id'>return_string</span> <span class='lshft op'>&lt;&lt;</span> <span class='dstring node'>&quot; #{key}: #{value.inspect}\n&quot;</span>
1954
- <span class='rubyid_end end kw'>end</span>
1955
- <span class='rubyid_end end kw'>end</span>
1956
-
1957
- <span class='rubyid_unless unless kw'>unless</span> <span class='rubyid_@player_hash ivar id'>@player_hash</span><span class='dot token'>.</span><span class='rubyid_nil? fid id'>nil?</span>
1958
- <span class='rubyid_return_string identifier id'>return_string</span> <span class='lshft op'>&lt;&lt;</span> <span class='string val'>&quot;Players:\n&quot;</span>
1959
- <span class='rubyid_@player_hash ivar id'>@player_hash</span><span class='dot token'>.</span><span class='rubyid_each_value identifier id'>each_value</span> <span class='rubyid_do do kw'>do</span> <span class='bitor op'>|</span><span class='rubyid_player identifier id'>player</span><span class='bitor op'>|</span>
1960
- <span class='rubyid_return_string identifier id'>return_string</span> <span class='lshft op'>&lt;&lt;</span> <span class='dstring node'>&quot; #{player}\n&quot;</span>
1961
- <span class='rubyid_end end kw'>end</span>
1962
- <span class='rubyid_end end kw'>end</span>
1963
-
1964
- <span class='rubyid_unless unless kw'>unless</span> <span class='rubyid_@rules_hash ivar id'>@rules_hash</span><span class='dot token'>.</span><span class='rubyid_nil? fid id'>nil?</span>
1965
- <span class='rubyid_return_string identifier id'>return_string</span> <span class='lshft op'>&lt;&lt;</span> <span class='string val'>&quot;Rules:\n&quot;</span>
1966
- <span class='rubyid_@rules_hash ivar id'>@rules_hash</span><span class='dot token'>.</span><span class='rubyid_each identifier id'>each</span> <span class='rubyid_do do kw'>do</span> <span class='bitor op'>|</span><span class='rubyid_key identifier id'>key</span><span class='comma token'>,</span> <span class='rubyid_value identifier id'>value</span><span class='bitor op'>|</span>
1967
- <span class='rubyid_return_string identifier id'>return_string</span> <span class='lshft op'>&lt;&lt;</span> <span class='dstring node'>&quot; #{key}: #{value}\n&quot;</span>
1968
- <span class='rubyid_end end kw'>end</span>
1969
- <span class='rubyid_end end kw'>end</span>
1970
-
1971
- <span class='rubyid_return_string identifier id'>return_string</span>
1972
- <span class='rubyid_end end kw'>end</span>
1973
- </pre>
1974
- </td>
1975
- </tr>
1976
- </table>
1977
- </div>
1978
-
1979
- <div class="method_details ">
1980
- <p class="signature " id="update_challenge_number-instance_method">
1981
-
1982
- - (<tt>Object</tt>) <strong>update_challenge_number</strong>
1983
-
1984
-
1985
-
1986
- </p><div class="docstring">
1987
- <div class="discussion">
1988
- <p>Sends a A2S<em>SERVERQUERY</em>GETCHALLENGE request to the server and updates the
1989
- challenge number used to communicate with this server</p>
1990
-
1991
- <p>There&#39;s usually no need to call this method explicitly, because
1992
- #handle&lt;em&gt;response&lt;/em&gt;for_request will automatically get the challenge number
1993
- when the server assigns a new one.</p>
1994
-
1995
-
1996
- </div>
1997
- </div>
1998
- <div class="tags">
1999
-
2000
-
2001
- <h3>See Also:</h3>
2002
- <ul class="see">
2003
-
2004
- <li><span class='object_link'><a href="#handle_response_for_request-instance_method" title="SteamCondenser::GameServer#handle_response_for_request (method)">#handle_response_for_request</a></span></li>
2005
-
2006
- <li><span class='object_link'><a href="#init-instance_method" title="SteamCondenser::GameServer#init (method)">#init</a></span></li>
2007
-
2008
- </ul>
2009
-
2010
- </div><table class="source_code">
2011
- <tr>
2012
- <td>
2013
- <pre class="lines">
2014
-
2015
-
2016
- 324
2017
- 325
2018
- 326</pre>
2019
- </td>
2020
- <td>
2021
- <pre class="code"><span class="info file"># File 'lib/steam/servers/game_server.rb', line 324</span>
2022
-
2023
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_update_challenge_number identifier id'>update_challenge_number</span>
2024
- <span class='rubyid_handle_response_for_request identifier id'>handle_response_for_request</span> <span class='symbol val'>:challenge</span>
2025
- <span class='rubyid_end end kw'>end</span>
2026
- </pre>
2027
- </td>
2028
- </tr>
2029
- </table>
2030
- </div>
2031
-
2032
- <div class="method_details ">
2033
- <p class="signature " id="update_ping-instance_method">
2034
-
2035
- - (<tt>Fixnum</tt>) <strong>update_ping</strong>
2036
-
2037
-
2038
-
2039
- </p><div class="docstring">
2040
- <div class="discussion">
2041
- <p>Sends a A2S_INFO request to the server and measures the time needed for the
2042
- reply</p>
2043
-
2044
- <p>If this information is vital to you, be sure to call this method regularly
2045
- to stay up-to-date.</p>
2046
-
2047
-
2048
- </div>
2049
- </div>
2050
- <div class="tags">
2051
-
2052
- <h3>Returns:</h3>
2053
- <ul class="return">
2054
-
2055
- <li>
2056
-
2057
-
2058
- <span class='type'>(<tt>Fixnum</tt>)</span>
2059
-
2060
-
2061
-
2062
- &mdash;
2063
- <div class='inline'><p>The latency of this server in milliseconds</p>
2064
- </div>
2065
-
2066
- </li>
2067
-
2068
- </ul>
2069
-
2070
- <h3>See Also:</h3>
2071
- <ul class="see">
2072
-
2073
- <li><span class='object_link'><a href="#ping-instance_method" title="SteamCondenser::GameServer#ping (method)">#ping</a></span></li>
2074
-
2075
- </ul>
2076
-
2077
- </div><table class="source_code">
2078
- <tr>
2079
- <td>
2080
- <pre class="lines">
2081
-
2082
-
2083
- 336
2084
- 337
2085
- 338
2086
- 339
2087
- 340
2088
- 341
2089
- 342</pre>
2090
- </td>
2091
- <td>
2092
- <pre class="code"><span class="info file"># File 'lib/steam/servers/game_server.rb', line 336</span>
2093
-
2094
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_update_ping identifier id'>update_ping</span>
2095
- <span class='rubyid_send_request identifier id'>send_request</span> <span class='rubyid_A2S_INFO_Packet constant id'>A2S_INFO_Packet</span><span class='dot token'>.</span><span class='rubyid_new identifier id'>new</span>
2096
- <span class='rubyid_start_time identifier id'>start_time</span> <span class='assign token'>=</span> <span class='rubyid_Time constant id'>Time</span><span class='dot token'>.</span><span class='rubyid_now identifier id'>now</span>
2097
- <span class='rubyid_reply identifier id'>reply</span>
2098
- <span class='rubyid_end_time identifier id'>end_time</span> <span class='assign token'>=</span> <span class='rubyid_Time constant id'>Time</span><span class='dot token'>.</span><span class='rubyid_now identifier id'>now</span>
2099
- <span class='rubyid_@ping ivar id'>@ping</span> <span class='assign token'>=</span> <span class='lparen token'>(</span><span class='rubyid_end_time identifier id'>end_time</span> <span class='minus op'>-</span> <span class='rubyid_start_time identifier id'>start_time</span><span class='rparen token'>)</span> <span class='mult op'>*</span> <span class='integer val'>1000</span>
2100
- <span class='rubyid_end end kw'>end</span>
2101
- </pre>
2102
- </td>
2103
- </tr>
2104
- </table>
2105
- </div>
2106
-
2107
- <div class="method_details ">
2108
- <p class="signature " id="update_players-instance_method">
2109
-
2110
- - (<tt>Object</tt>) <strong>update_players</strong>(rcon_password = nil)
2111
-
2112
-
2113
-
2114
- </p><div class="docstring">
2115
- <div class="discussion">
2116
- <p>Sends a A2S_PLAYERS request to the server and updates the players&#39; data for
2117
- this server</p>
2118
-
2119
- <p>As the players and their scores change quite often be sure to update this
2120
- list regularly by calling this method if you rely on this
2121
- information.</p>
2122
-
2123
-
2124
- </div>
2125
- </div>
2126
- <div class="tags">
2127
- <h3>Parameters:</h3>
2128
- <ul class="param">
2129
-
2130
- <li>
2131
-
2132
- <span class='name'>rcon_password</span>
2133
-
2134
-
2135
- <span class='type'>(<tt>String</tt>)</span>
2136
-
2137
-
2138
- <em class="default">(defaults to: <tt>nil</tt>)</em>
2139
-
2140
-
2141
- &mdash;
2142
- <div class='inline'><p>The RCON password of this server may be
2143
- provided to gather more detailed information on the players, like
2144
- STEAM_IDs.</p>
2145
- </div>
2146
-
2147
- </li>
2148
-
2149
- </ul>
2150
-
2151
-
2152
- <h3>See Also:</h3>
2153
- <ul class="see">
2154
-
2155
- <li><span class='object_link'><a href="#handle_response_for_request-instance_method" title="SteamCondenser::GameServer#handle_response_for_request (method)">#handle_response_for_request</a></span></li>
2156
-
2157
- <li><span class='object_link'><a href="#players-instance_method" title="SteamCondenser::GameServer#players (method)">#players</a></span></li>
2158
-
2159
- </ul>
2160
-
2161
- </div><table class="source_code">
2162
- <tr>
2163
- <td>
2164
- <pre class="lines">
2165
-
2166
-
2167
- 267
2168
- 268
2169
- 269
2170
- 270
2171
- 271
2172
- 272
2173
- 273
2174
- 274
2175
- 275
2176
- 276
2177
- 277
2178
- 278
2179
- 279
2180
- 280
2181
- 281
2182
- 282
2183
- 283
2184
- 284
2185
- 285
2186
- 286
2187
- 287
2188
- 288</pre>
2189
- </td>
2190
- <td>
2191
- <pre class="code"><span class="info file"># File 'lib/steam/servers/game_server.rb', line 267</span>
2192
-
2193
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_update_players identifier id'>update_players</span><span class='lparen token'>(</span><span class='rubyid_rcon_password identifier id'>rcon_password</span> <span class='assign token'>=</span> <span class='rubyid_nil nil kw'>nil</span><span class='rparen token'>)</span>
2194
- <span class='rubyid_handle_response_for_request identifier id'>handle_response_for_request</span> <span class='symbol val'>:players</span>
2195
-
2196
- <span class='rubyid_unless unless kw'>unless</span> <span class='rubyid_@rcon_authenticated ivar id'>@rcon_authenticated</span>
2197
- <span class='rubyid_return return kw'>return</span> <span class='rubyid_if if_mod kw'>if</span> <span class='rubyid_rcon_password identifier id'>rcon_password</span><span class='dot token'>.</span><span class='rubyid_nil? fid id'>nil?</span>
2198
- <span class='rubyid_rcon_auth identifier id'>rcon_auth</span> <span class='rubyid_rcon_password identifier id'>rcon_password</span>
2199
- <span class='rubyid_end end kw'>end</span>
2200
-
2201
- <span class='rubyid_players identifier id'>players</span> <span class='assign token'>=</span> <span class='rubyid_rcon_exec identifier id'>rcon_exec</span><span class='lparen token'>(</span><span class='string val'>'status'</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='rubyid_lines identifier id'>lines</span><span class='dot token'>.</span><span class='rubyid_select identifier id'>select</span> <span class='rubyid_do do kw'>do</span> <span class='bitor op'>|</span><span class='rubyid_line identifier id'>line</span><span class='bitor op'>|</span>
2202
- <span class='rubyid_line identifier id'>line</span><span class='dot token'>.</span><span class='rubyid_start_with? fid id'>start_with?</span><span class='lparen token'>(</span><span class='string val'>'#'</span><span class='rparen token'>)</span> <span class='andop op'>&amp;&amp;</span> <span class='rubyid_line identifier id'>line</span> <span class='neq op'>!=</span> <span class='string val'>&quot;#end\n&quot;</span>
2203
- <span class='rubyid_end end kw'>end</span><span class='dot token'>.</span><span class='rubyid_map identifier id'>map</span> <span class='rubyid_do do kw'>do</span> <span class='bitor op'>|</span><span class='rubyid_line identifier id'>line</span><span class='bitor op'>|</span>
2204
- <span class='rubyid_line identifier id'>line</span><span class='lbrack token'>[</span><span class='float val'>1</span><span class='dot2 op'>..</span><span class='integer val'>-1</span><span class='rbrack token'>]</span><span class='dot token'>.</span><span class='rubyid_strip identifier id'>strip</span>
2205
- <span class='rubyid_end end kw'>end</span>
2206
- <span class='rubyid_attributes identifier id'>attributes</span> <span class='assign token'>=</span> <span class='rubyid_GameServer constant id'>GameServer</span><span class='dot token'>.</span><span class='rubyid_player_status_attributes identifier id'>player_status_attributes</span> <span class='rubyid_players identifier id'>players</span><span class='dot token'>.</span><span class='rubyid_shift identifier id'>shift</span>
2207
-
2208
- <span class='rubyid_players identifier id'>players</span><span class='dot token'>.</span><span class='rubyid_each identifier id'>each</span> <span class='rubyid_do do kw'>do</span> <span class='bitor op'>|</span><span class='rubyid_player identifier id'>player</span><span class='bitor op'>|</span>
2209
- <span class='rubyid_player_data identifier id'>player_data</span> <span class='assign token'>=</span> <span class='rubyid_GameServer constant id'>GameServer</span><span class='dot token'>.</span><span class='rubyid_split_player_status identifier id'>split_player_status</span><span class='lparen token'>(</span><span class='rubyid_attributes identifier id'>attributes</span><span class='comma token'>,</span> <span class='rubyid_player identifier id'>player</span><span class='rparen token'>)</span>
2210
- <span class='rubyid_if if kw'>if</span> <span class='rubyid_@player_hash ivar id'>@player_hash</span><span class='dot token'>.</span><span class='rubyid_key? fid id'>key?</span> <span class='rubyid_player_data identifier id'>player_data</span><span class='lbrack token'>[</span><span class='symbol val'>:name</span><span class='rbrack token'>]</span>
2211
- <span class='rubyid_@player_hash ivar id'>@player_hash</span><span class='lbrack token'>[</span><span class='rubyid_player_data identifier id'>player_data</span><span class='lbrack token'>[</span><span class='symbol val'>:name</span><span class='rbrack token'>]</span><span class='rbrack token'>]</span><span class='dot token'>.</span><span class='rubyid_add_info identifier id'>add_info</span> <span class='rubyid_player_data identifier id'>player_data</span>
2212
- <span class='rubyid_end end kw'>end</span>
2213
- <span class='rubyid_end end kw'>end</span>
2214
- <span class='rubyid_end end kw'>end</span>
2215
- </pre>
2216
- </td>
2217
- </tr>
2218
- </table>
2219
- </div>
2220
-
2221
- <div class="method_details ">
2222
- <p class="signature " id="update_rules-instance_method">
2223
-
2224
- - (<tt>Object</tt>) <strong>update_rules</strong>
2225
-
2226
-
2227
-
2228
- </p><div class="docstring">
2229
- <div class="discussion">
2230
- <p>Sends a A2S_RULES request to the server and updates the rules of this
2231
- server</p>
2232
-
2233
- <p>As the rules usually don&#39;t change often, there&#39;s almost no need to update
2234
- this hash. But if you need to, you can achieve this by calling this method.</p>
2235
-
2236
-
2237
- </div>
2238
- </div>
2239
- <div class="tags">
2240
-
2241
-
2242
- <h3>See Also:</h3>
2243
- <ul class="see">
2244
-
2245
- <li><span class='object_link'><a href="#handle_response_for_request-instance_method" title="SteamCondenser::GameServer#handle_response_for_request (method)">#handle_response_for_request</a></span></li>
2246
-
2247
- <li><span class='object_link'><a href="#rules-instance_method" title="SteamCondenser::GameServer#rules (method)">#rules</a></span></li>
2248
-
2249
- </ul>
2250
-
2251
- </div><table class="source_code">
2252
- <tr>
2253
- <td>
2254
- <pre class="lines">
2255
-
2256
-
2257
- 298
2258
- 299
2259
- 300</pre>
2260
- </td>
2261
- <td>
2262
- <pre class="code"><span class="info file"># File 'lib/steam/servers/game_server.rb', line 298</span>
2263
-
2264
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_update_rules identifier id'>update_rules</span>
2265
- <span class='rubyid_handle_response_for_request identifier id'>handle_response_for_request</span> <span class='symbol val'>:rules</span>
2266
- <span class='rubyid_end end kw'>end</span>
2267
- </pre>
2268
- </td>
2269
- </tr>
2270
- </table>
2271
- </div>
2272
-
2273
- <div class="method_details ">
2274
- <p class="signature " id="update_server_info-instance_method">
2275
-
2276
- - (<tt>Object</tt>) <strong>update_server_info</strong>
2277
-
2278
-
2279
-
2280
- </p><div class="docstring">
2281
- <div class="discussion">
2282
- <p>Sends a A2S_INFO request to the server and updates this server&#39;s basic
2283
- information</p>
2284
-
2285
- <p>The server information usually only changes on map change and when players
2286
- join or leave. As the latter changes can be monitored by calling
2287
- <span class='object_link'><a href="#update_players-instance_method" title="SteamCondenser::GameServer#update_players (method)">#update_players</a></span>, there&#39;s no need to call this method very often.</p>
2288
-
2289
-
2290
- </div>
2291
- </div>
2292
- <div class="tags">
2293
-
2294
-
2295
- <h3>See Also:</h3>
2296
- <ul class="see">
2297
-
2298
- <li><span class='object_link'><a href="#handle_response_for_request-instance_method" title="SteamCondenser::GameServer#handle_response_for_request (method)">#handle_response_for_request</a></span></li>
2299
-
2300
- <li><span class='object_link'><a href="#server_info-instance_method" title="SteamCondenser::GameServer#server_info (method)">#server_info</a></span></li>
2301
-
2302
- </ul>
2303
-
2304
- </div><table class="source_code">
2305
- <tr>
2306
- <td>
2307
- <pre class="lines">
2308
-
2309
-
2310
- 311
2311
- 312
2312
- 313</pre>
2313
- </td>
2314
- <td>
2315
- <pre class="code"><span class="info file"># File 'lib/steam/servers/game_server.rb', line 311</span>
2316
-
2317
- <span class='rubyid_def def kw'>def</span> <span class='rubyid_update_server_info identifier id'>update_server_info</span>
2318
- <span class='rubyid_handle_response_for_request identifier id'>handle_response_for_request</span> <span class='symbol val'>:info</span>
2319
- <span class='rubyid_end end kw'>end</span>
2320
- </pre>
2321
- </td>
2322
- </tr>
2323
- </table>
2324
- </div>
2325
-
2326
- </div>
2327
-
2328
- </div>
2329
-
2330
- <div id="footer">
2331
- Generated on Mon Apr 30 07:03:12 2012 by
2332
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
2333
- 0.7.5 (ruby-1.8.7).
2334
- </div>
2335
-
2336
- </body>
2337
- </html>