#!/usr/bin/env /usr/bin/ruby ############################################################################### ################# Urban Terror Message Spammer for EighthBit ################## ############################################################################### ##################### ### Configuration ### ##################### # Rcon password $password = '' # Server hostname or IP $server = 'games.eighthbit.net' # Server port $port = 27960 # Cron, daemon, or console mode. # 0 = Cron (sends a message and quits) # 1 = Daemon (prints messages as they are sent) # 2 = Console (shows how many seconds until next message) $mode = 0 # Messages to be spammed $messages = [ "Don't forget to check our our IRC network! irc.eighthbit.net", "If you don't have an IRC client, don't worry.\nA webchat is at chat.eighthbit.net", "Daily match schedule on irc.eighthbit.net, join channel Gaming and check the topic", "Enjoy your stay at Eighthbit!" ] # How often to spam it (in minutes). # Not used in cron mode $freq = 10 ############################################# ### Don't touch anything below this line! ### ############################################# require 'socket' def rcon(cmd) $socket ||= UDPSocket.open $socket.send("\xFF\xFF\xFF\xFFrcon #{$password} #{cmd}\x00", 0, $server, $port) $socket.flush end def send_message() message = $messages[rand($messages.size)] message.split("\n").each do |line| rcon line sleep 4 unless message.end_with?(line) end message end def delay ($freq * 60).to_i end if $mode == 0 send_message elsif $mode == 2 $stdout.sync = true while true print "\rSending a message......" puts "\r" + send_message delay.times do |elapsed| print "\rSeconds until next: " + (delay - elapsed).to_s sleep 1 end end else while true puts send_message sleep delay end end