From 810c0751b2b94f92fd50b4c769fda4ed571f1942 Mon Sep 17 00:00:00 2001 From: beatles Date: Sun, 30 Nov 2008 15:12:15 +0000 Subject: [PATCH] * Changed the stley of the comment lines to RDoc's one. * Added Prerequires and Install descriptoins. * Added Makefile that can generate html documents using RDoc. --- Makefile | 9 +++++ README | 47 ++++++++++++++++++++++++ mk_html | 19 +++++++--- mk_rate | 112 +++++++++++++++++++++++++++++++++++++------------------- shogi-server | 43 +++++++++++++--------- shogi_server.rb | 2 - 6 files changed, 170 insertions(+), 62 deletions(-) create mode 100644 Makefile create mode 100644 README diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..31a995f --- /dev/null +++ b/Makefile @@ -0,0 +1,9 @@ + +.PHONY: doc +doc: clean + rdoc --main README -o doc \ + . shogi-server README mk_html mk_rate + +.PHONY: clean +clean: + -rm -rf doc diff --git a/README b/README new file mode 100644 index 0000000..baf9f8a --- /dev/null +++ b/README @@ -0,0 +1,47 @@ +$Id$ + += Shogi-server project + +2008-11-30 Daigo Moriwaki + +The Shogi-server project develops Shogi-server, a rating tool and so on. + +== Shogi-server + +Shogi-server is a server that implements the Server Protocol Ver 1.1 defined +by Computer Shogi Association (CSA[http://www.computer-shogi.org/index_e.html]) +in order for computer shogi players to play games. + +=== Pre-requires + +Ruby 1.8.7:: Ruby 1.8.6 or earlier are not supported. + +For Debian, + $ sudo aptitude install ruby1.8 + +=== Install + + $ svn checkout \ + http://svn.sourceforge.jp/svnroot/shogi-server/shogi-server/trunk shogi-server + +The following files are required to run Shogi-server: + +- shogi-server +- shogi_server.rb +- shogi_server/**/*.rb + +=== Run + + $ ruby ./shogi-server --pid-file shogi-server.pid \ + --daemon . \ + --player-log-dir player-log-dir \ + --floodgate-history floodgate_history.yaml \ + floodgatetest 4000 + +== Other tools + +See documents at the head of each source file. + +* mk_rate +* mk_html +* showgame diff --git a/mk_html b/mk_html index 7bf22db..6f32df8 100755 --- a/mk_html +++ b/mk_html @@ -1,8 +1,10 @@ #!/usr/bin/ruby # $Id$ # -# = Copyright +# Author:: Daigo Moriwaki +# Homepage:: http://sourceforge.jp/projects/shogi-server/ # +#-- # Copyright (C) 2006-2008 Daigo Moriwaki # # This program is free software; you can redistribute it and/or modify @@ -18,14 +20,15 @@ # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +#++ # -# = Synopsis +# == Synopsis # -# mk_html generates an html page from players.yaml. +# mk_html generates an html page from a players.yaml. # -# = Usage +# == Usage # -# ./mk_html [OPTION] < players.yaml > rating.html +# ./mk_html [OPTION] < players.yaml > rating.html # # -h, --help:: # show help @@ -33,6 +36,12 @@ # -w,--wdoor:: # adpot wdoor style # +# == PREREQUIRE +# +# * Ruby 1.8.7 and RDoc +# +# $ sudo aptitude install ruby1.8 rdoc1.8 +# require 'optparse' require 'rdoc/usage' diff --git a/mk_rate b/mk_rate index d072ae1..5c8dd04 100755 --- a/mk_rate +++ b/mk_rate @@ -1,52 +1,90 @@ #!/usr/bin/ruby -## $Id$ - -## Copyright (C) 2006-2008 Daigo Moriwaki -## -## This program is free software; you can redistribute it and/or modify -## it under the terms of the GNU General Public License as published by -## the Free Software Foundation; either version 2 of the License, or -## (at your option) any later version. -## -## This program is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. -## -## You should have received a copy of the GNU General Public License -## along with this program; if not, write to the Free Software -## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -# -# This calculates rating scores of every players from CSA files, and outputs a -# yaml file (players.yaml) that Shogi Server can read. -# -# Sample: -# $ ./mk_rate . > players.yaml -# $ ./mk_rate . && ./mk_rate . > players.yaml +# $Id$ # -# The conditions that games and players are rated as following: -# * Rated games, which were played by both rated players. -# * Rated players, who logged in the server with a name followed by a trip: -# "name,trip". -# * (Rated) players, who played more than $GAMES_LIMIT [15] (rated) games. +# Author:: Daigo Moriwaki +# Homepage:: http://sourceforge.jp/projects/shogi-server/ +# +#-- +# Copyright (C) 2006-2008 Daigo Moriwaki +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +#++ +# +# == Synopsis +# +# mk_rate reads CSA files, calculates rating scores of each player, and then +# outputs a yaml file (players.yaml) that Shogi-server can recognize. +# +# == Usage +# +# ./mk_rate [options] DIR.. +# +# DIR:: +# CSA files are recursively looked up the directories. +# +# --half-life:: +# n [days] (default 60) +# +# --half-life-ignore:: +# m [days] (default 7) +# after m days, the half-life effect works +# +# --fixed-rate-player:: +# player whose rate is fixed at the rate +# +# --fixed-rate:: +# rate +# +# --help:: +# show this message # +# == PREREQUIRE # -# PREREQUIRE -# ========== +# Sample Command lines that isntall prerequires will work on Debian. # -# Sample Commands to isntall prerequires will work for Debian. +# * Ruby 1.8.7 +# +# $ sudo aptitude install ruby1.8 # # * Rubygems +# # $ sudo aptitude install rubygems # -# * Ruby bindings for the GNU Scientific Library (GSL) +# * Ruby bindings for the GNU Scientific Library (GSL[http://rb-gsl.rubyforge.org/]) +# # $ sudo aptitude install libgsl-ruby1.8 -# Or, download it from http://rb-gsl.rubyforge.org/ . # -# * RGL: Ruby Graph Library +# * RGL: {Ruby Graph Library}[http://rubyforge.org/projects/rgl/] +# # $ sudo gem install rgl -# Or, download it from http://rubyforge.org/projects/rgl/ . +# +# == Run +# +# $ ./mk_rate . > players.yaml +# +# or, if you do not want the file to be update in case of errors, +# +# $ ./mk_rate . && ./mk_rate . > players.yaml +# +# == How players are rated +# +# The conditions that games and players are rated as following: +# +# * Rated games, which were played by both rated players. +# * Rated players, who logged in the server with a name followed by a trip: "name,trip". +# * (Rated) players, who played more than $GAMES_LIMIT [15] (rated) games. # require 'yaml' diff --git a/shogi-server b/shogi-server index 7fa4779..b241739 100755 --- a/shogi-server +++ b/shogi-server @@ -1,22 +1,29 @@ #! /usr/bin/env ruby -## $Id$ - -## Copyright (C) 2004 NABEYA Kenichi (aka nanami@2ch) -## Copyright (C) 2007-2008 Daigo Moriwaki (daigo at debian dot org) -## -## This program is free software; you can redistribute it and/or modify -## it under the terms of the GNU General Public License as published by -## the Free Software Foundation; either version 2 of the License, or -## (at your option) any later version. -## -## This program is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. -## -## You should have received a copy of the GNU General Public License -## along with this program; if not, write to the Free Software -## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# $Id$ +# +# Author:: NABEYA Kenichi, Daigo Moriwaki +# Homepage:: http://sourceforge.jp/projects/shogi-server/ +# +#-- +# Copyright (C) 2004 NABEYA Kenichi (aka nanami@2ch) +# Copyright (C) 2007-2008 Daigo Moriwaki (daigo at debian dot org) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +#++ +# +# TOP_DIR = File.expand_path(File.dirname(__FILE__)) $:.unshift File.dirname(__FILE__) diff --git a/shogi_server.rb b/shogi_server.rb index 800656f..4238ef2 100644 --- a/shogi_server.rb +++ b/shogi_server.rb @@ -39,8 +39,6 @@ require 'shogi_server/timeout_queue' require 'shogi_server/usi' require 'shogi_server/util' -require 'rubygems' - module ShogiServer # for a namespace Max_Identifier_Length = 32 -- 2.11.0