-# Plugin for the Ruby IRC bot (http://linuxbrit.co.uk/rbot/)\r
+#-- vim:sw=2:et\r
+#++\r
+#\r
+# :title: Half-Life 2 plugin for rbot\r
+#\r
+# Author:: Ole Christian Rynning <oc@rynning.no>\r
+# Copyright:: (C) 2006 Ole Christian Rynning\r
+# License:: GPL v2\r
#\r
# Simple Half-Life 2 (Source Engine) plugin to query online\r
# servers to see if its online and kicking and how many users.\r
#\r
# Added 2 seconds timeout to the response. And sockets are now\r
# closing properly.\r
-#\r
-# (c) 2006 Ole Christian Rynning <oc@rynning.no>\r
-# Licensed under GPL V2.\r
\r
require 'socket'\r
require 'timeout'\r
+\r
class HL2Plugin < Plugin\r
\r
A2S_INFO = "\xFF\xFF\xFF\xFF\x54\x53\x6F\x75\x72\x63\x65\x20\x45\x6E\x67\x69\x6E\x65\x20\x51\x75\x65\x72\x79\x00"\r
\r
def hl2(m, params)\r
addr, port = params[:conn_str].split(':')\r
- Thread.start do\r
- info = a2s_info(addr, port)\r
- if info != nil\r
- m.reply "#{info[3]} is online with #{info[8]}/#{info[9]} players."\r
- else\r
- m.reply "Couldn't connect to #{params[:conn_str]}"\r
- end\r
+ info = a2s_info(addr, port)\r
+ if info != nil\r
+ m.reply "#{info[3]} is online with #{info[8]}/#{info[9]} players."\r
+ else\r
+ m.reply "Couldn't connect to #{params[:conn_str]}"\r
end\r
end\r
\r
end\r
+\r
plugin = HL2Plugin.new\r
-plugin.map 'hl2 :conn_str'\r
+plugin.map 'hl2 :conn_str', :thread => true\r
\r