def log_message(str)
$logger.info(str)
end
+def log_info(str)
+ log_message(str)
+end
def log_warning(str)
$logger.warn(str)
def parse_command_line
options = Hash::new
parser = GetoptLong.new(
- ["--daemon", GetoptLong::REQUIRED_ARGUMENT],
- ["--pid-file", GetoptLong::REQUIRED_ARGUMENT],
- ["--player-log-dir", GetoptLong::REQUIRED_ARGUMENT])
+ ["--daemon", GetoptLong::REQUIRED_ARGUMENT],
+ ["--pid-file", GetoptLong::REQUIRED_ARGUMENT],
+ ["--player-log-dir", GetoptLong::REQUIRED_ARGUMENT],
+ ["--floodgate-history", GetoptLong::REQUIRED_ARGUMENT])
parser.quiet = true
begin
parser.each_option do |name, arg|
ShogiServer.reload
end
floodgate = ShogiServer::League::Floodgate.new(LEAGUE, next_time)
- log_message("Floodgate will start the next match at %s." %
+ log_message("Floodgate: The next match will start at %s." %
[floodgate.next_time])
rescue Exception => ex
# ignore errors
end
end
+ srand
server = WEBrick::GenericServer.new(config)
["INT", "TERM"].each do |signal|
trap(signal) do
LEAGUE = ShogiServer::League.new(TOP_DIR)
main
rescue Exception => ex
- log_error("main: #{ex.class}: #{ex.message}\n\t#{ex.backtrace[0]}")
+ if $logger
+ log_error("main: #{ex.class}: #{ex.message}\n\t#{ex.backtrace[0]}")
+ else
+ $stderr.puts "main: #{ex.class}: #{ex.message}\n\t#{ex.backtrace[0]}"
+ end
end
end
def regist_observers
add_observer MonitorObserver.new
- if League::Floodgate.game_name?(@game.game_id) &&
+ if League::Floodgate.game_name?(@game.game_name) &&
@game.sente.player_id &&
@game.gote.player_id &&
$options["floodgate-history"]
- add_observer History.factory
+ add_observer League::Floodgate::History.factory
end
end
class League
class Floodgate
class << self
+ # "floodgate-900-0"
+ #
def game_name?(str)
- return /^floodgate-\d+-\d+$/.match(str) ? true : false
+ return /^floodgate\-\d+\-\d$/.match(str) ? true : false
end
end
class << self
def factory
file = Pathname.new $options["floodgate-history"]
- return History.new file
+ history = History.new file
+ history.load
+ return history
end
end