rotoold使用法
基本的使用法.
- アーカイブを展開して展開先ディレクトリでrotooldを実行してください。
- デフォルトでは、port 5963 を使用します。
- --helpオプションを付けて起動すると、動作変更用オプションの一覧が出ます。
ちょっと詳しい利用手順.
-
実行・利用には以下のものが必要です。
- Perl5.6以降
- jcode.plを使用しています(同梱済)。
-
以下の標準Perlモジュールを使用しています。
- IO::Socket::INET、IO::Select、IO::File、Getopt::Long
-
配布パッケージを展開してください。
- rotoold_(version) という名前のディレクトリ(フォルダ)が出来ます。
- rotooldを、Perl5.6以降が使える環境で実行してください。
- 動作確認
-
実行したホストで、RO-GPS / アコナビ両対応のサーバソフトとして機能します。
-
バックグラウンド実行にはなりません。
必要に応じて '&' を付けて実行(UNIX系の場合)したりしてください。- UNIX系OSだと、"% ./rotoold &" のように、& を付けて起動すると、backgroundで動く、のは知ってますよね?
-
標準では、5963番ポートを使用します。
- アコナビで接続する場合にも、5963番ポートに接続するようにして下さい。
- '--port 8801' を付けて起動すれば、アコナビの標準ポートでも接続できるようになります。
- 接続してきたクライアントは自動で認識します。
-
その他適当にコマンドラインやらシェルスクリプトやらバッチファイルから実行してください。
- Perlが必要な時点で「ダブルクリック一発お手軽起動」とは無縁なソフトです。あしからず。
-
コマンドラインからの実行を前提にしてます。CGIとかで動かすのはまったく想定外です。
-
CGIからでも、環境によっちゃ動きますが、推奨しません。
- たぶん管理者がいい顔しません。っていうか俺が管理者ならブチ切れ確定。
-
CGIからでも、環境によっちゃ動きますが、推奨しません。
-
バックグラウンド実行にはなりません。
-
うまく動作しない場合、
- ファイアウォールの設定
- ネットワーク経路での異常
- Perlのバージョンによる問題
- PerlのOSによる実装差の問題
- RO-GPS / 立ちアコ のバージョンアップに伴う仕様変更
- ネットワークカードの設定 (ここが見えてるなら多分大丈夫だと思いますが)
動かない/繋がらないときは?.
-
起動していきなりエラーを吐くときは、Perlのバージョンが違うなどの原因です。
$ perl -v
でバージョンを確かめてみてください。 -
ちゃんと起動しているのに接続できないときは、以下のことを試してください。
- いったんrotooldを止めます。
-
ファイアウォールの設定を確認してください。
最低限、以下の二つの設定が必要です。- tcpの any -> port:5963 の通信を通す
- tcpの port:5963 -> any の通信を通す
-
ログファイルをリネームしておく。
$ mv rotoold.log rotoold.log.1 -
rotooldにデバッグオプションを付けて起動
$ ./rotoold --loglevel 3 --verbose -
rotooldが動いていることの確認
rotooldを動かしてるホスト自身から、http://localhost:5963/ にアクセスしてみる。
rotoold側でログがなんか出てきて、ブラウザにもなんか出てきたら成功 -
外から接続する。
他のマシンから http://a.b.c.d:5963/ にアクセス(a.b.c.d はIPアドレス)してみる。
rotoold側でログがなんか出てきて、ブラウザにもなんか出てきたら成功
これが全部通ったら普通はつながるはず。
ダメだったら、ダメだったときのログを送ってください、宛先はwhite@niu.ne.jpで。
Windows2000でのサービス化.
名前 : somebody(2002/09/26 23:21)
WINDOWS2000のサービス化一応出来たので一応報告って事で。
かなりムリヤリですが。
FireDaemonを使ってPerl.exeに対してサービス化して、
引数にplファイルをフルパスで入れたら、「とりあえず」動いています。
無論他人がコレをしてトラブルが起きても無保証って事で。
あるいは、perl2exeでもいけるかも。
コマンドラインオプションの説明.
--help | オプション一覧の表示 |
--host IPアドレス/ホスト名 | listenを行なうIPアドレスの指定 |
--port ポート番号[,ポート番号] | listenを行なうポート番号の指定。デフォルトは5963番。 |
--pidfile ファイル名 | プロセスID出力ファイルを指定 |
--logfile ファイル名 | ログ出力ファイルを指定 |
--loglevel ログ出力レベル | ログ出力の精度を指定。0,1,2,3,4が指定可能。デフォルトは1。 |
--keeptime 秒数 | メッセージキープによるメッセージの保持時間を指定 |
--outcode (s|e|j) | ログ出力の日本語コード指定(s=SJIS、e=EUC、j=JIS) |
--nodummy | ダミーユーザーを設定しなくなります。 |
--verbose | ログ出力を標準出力にも出力する。 |
--aconavi-map ファイル名 | アコナビ用のマップ名変換定義ファイルの場所を指定します。 |
自動起動をしかけましょう on Linux(RedHat系).
1.起動スクリプトを用意する。
アーカイブを展開したディレクトリの、etc/RedHat_rcfileにrotoold用のinitスクリプトがあります。
このファイルを、お手元の環境に合わせて適当に編集してから、
以下のようなコマンドで/etc/rc.d/init.d の下にコピーします。
# cp RedHat_rcfile /etc/rc.d/init.d/rotoold
2.スクリプトの登録をする(/etc/rc.d/rc.? 以下にシンボリックリンクをごそごそ作る)
# chkconfig --add rotoold
3.試しに起動させてみる。
# /etc/rc.d/init.d/rotoold start
自動起動をしかけましょう on Windows.
BBSからの転載:
あと、ちょっとだけ技を使うとWin起動時に自動も可能ですね
batファイルを使って
CD /d D:\rosv\ perl rotooldという中身でバッチファイルを作り スタートアップに入れたら動きます
(鯖PCでこの方法を使用中です)
daemontoolsで動かしてみましょう.
気が向いたらそのうち書きます。