RO_GPS.pmBBS_2003Q1
過去ログ:2002年,2003年Q1,2003年Q2,2003年Q3,2003年Q4,最新
名前 : ynakata(2003/03/19 01:05)
できると思いますが、というかほんとはやってるはずなんですが、どこかでバグが入り込んで本来の動作をしてないみたいです。そのうちまとめて修正しますが、早くとも今週中は無理だと思いますです、はい。
名前 : somebodyLune(2003/03/18 20:14)
ええと、一定のプロセス下、というか、通信が不安定な状況下において、ユーザーの接続情報が残ってしまうようなのですが・・・
再現実験ができなくて申し訳ないですが、一定時間以上通信が無いときにタイムアウトということでログアウトさせる処理を追加することはできないのでしょうか?
名前 : ynakata(2003/03/17 02:51)
えー、対応したい気持ちはあるのですが、せめてらぐぽじのプロトコル情報がないと話になりません(汗
調べようにも、すでに私がROをやっていないため、おそらくは調べようがありませんです。と、いうわけで、適当な情報の提供がない限りは、実現の可能性は低いとおもってくださいです、はい。
名前 : somebody(2003/03/16 10:01)
はじめまして。
いつもlinuxでrotooldを使わせて頂いています。
自分勝手な要望なのですが、『らぐぽじ』への対応をお願いしても宜しいでしょうか。
気力があるときでかまわないので宜しくお願い致します。
名前 : somebody(2003/03/08 15:15)
TOPにでるフロートっぽいやつ・・・・かなり邪魔になってます(汗
どうにかなりませんでしょうか?
名前 : somebody(2003/03/06 10:00)
分かりました、ノンビリ待ってることにします。
名前 : ynakata(2003/03/03 17:00)
すいません。ちと本職その他が忙しくて、下記のバグへの対応は遅れるかと思います。
名前 : somebody(2003/02/28 12:52)
以前、メッセージキープの事でお世話になった者ですが
テスト版とその前の版において偶に切断したにも関わらずIDが残ってしまい、
そのIDでは繋げなくなる現象が起きてます。
また、loglevelの2を試そうとオプションつけて起動してそこへ接続すると
Use of uninitialized value in concatenation (.) or string at jcode.pl line 645.
と出まくりでディスプレイの文字がスゴイ勢いで流れていきます。
どうにかなりますかね?よろしくお願いします。
名前 : ynakata(2003/02/24 12:58)
単純には、「現在のステータスをhttpで表示」でしょうか。
専用クライアントがなくてもステータスを確認できる、のがどれだけ嬉しいかは不明ですが。
後は作ってから考えるかもしれません。そもそも作らないかもしれません(無責任)。
名前 : もひろ(2003/02/24 01:45)
HTTP クライアント対応・・・って、rotoold の??? (^^;
微妙に気になるキーワードではありますが、なにがどー関係するかが理解できない私ぁ
もうちょっと様子をみてみやう(w
ちなみに。あたりまえだけと、rotoold は MacOS X 10.2.4 についてくる perl 5.6.0 でも動きました。
・・・さすがに Ro を遊ぶ 自PC(Win) で、Ro のウラで動かしてるよりは速いなぁ(当然)
名前 : ynakata(2003/02/20 16:51)
telnet対応すると微妙に幸せかも、などとも思ってみるテスト。
名前 : ynakata(2003/02/20 16:50)
httpクライアント対応モジュールを作るという衝動がいきなり湧き上がってみるテスト。
名前 : fumi.(2003/02/18 16:45)
忙しくて、すっかり返事をするのを忘れておりました。
確かにポートごとに振り分けるなら、
複数起動するだけで ok ですね:)
何も考えないでアホなことを書いてしまいました…(^^;
ところで、私は自分用に Debian GNU/Linux 用の
rotoold package を作ってあるのですが、
ここを見ている人でこれがほしい人っていますかね?
必要な方がいるようであれば、どこかで公開したいと思います。
名前 : ynakata(2003/02/05 20:19)
20030205_0版公開。複数portのlistenに対応してみました。
'./rotoold --port 5963,8801' のようにして使ってみてください。
ただし、各ポートは全く等価に扱われます(どこのポートに繋いでも同じ内容が見える、ということです)
ポート毎に振り分けたいという場合には、以前にも書きましたがrotooldを複数起動するようにしてください。
名前 : ynakata(2003/01/31 13:44)
提供していただいたパッチを若干修正の上で適用したバージョンを20030131_0版として公開しました。
同時に--pidfile , --logfile , --keeptime の各コマンドラインオプションを追加しました。わかる人は--help で出てくるメッセージを参考にして使ってみてください。
名前 : uirou(2003/01/30 19:24)
RO_GPS.pm の頃から愛用させていただいているのですが、()を使って keepmesg するところに少しバグがあるようなので修正願えると嬉しいです。
問題は、disconnectした後に3時間keepされるはずの()づきのメッセージが、同じ$idの人が3時間の間に何度もメッセージを残すと、一番最初にメッセージを残した時から3時間後に、最後のメッセージが消されてしまう、という問題です。
これは、$oid管理のROTool::clientsはそのまま$oidでdeleteすればいいのですが、$id管理のROTool::UAは、$idでdeleteしてしまうと問題がある、というところで発生しているようです。
ということで一応問題が解消しそうなpatchを書きました。かなり汚い直し方なのでそのまま使われることは無いと思いますが、とりあえず添付しておきます。お納め下さい。
diff -crN rotoold-20030121_0.orig/ROTool/Client.pm rotoold-20030121_0/ROTool/Client.pm *** rotoold-20030121_0.orig/ROTool/Client.pm Tue Jan 21 11:06:34 2003 --- rotoold-20030121_0/ROTool/Client.pm Thu Jan 30 19:06:30 2003 *************** *** 80,85 **** --- 80,86 ---- $self->{timer}->{shutdown} = &ROTool::keeptime(); &ROTool::printlog(1," shutdown and keepmsg[$self->{oid}]\n"); }else{ + $self->{timer}->{shutdown} = 0; &ROTool::sock_unregist($self); $selecter->remove($sock); $sock->shutdown(2); diff -crN rotoold-20030121_0.orig/ROTool.pm rotoold-20030121_0/ROTool.pm *** rotoold-20030121_0.orig/ROTool.pm Thu Oct 17 18:36:00 2002 --- rotoold-20030121_0/ROTool.pm Thu Jan 30 19:06:08 2003 *************** *** 46,53 **** --- 46,58 ---- } sub UA_unregist{ my $id = shift; + my($c); if(ref($id)){ + return if($id->{timer}->{shutdown} > 0); $id = $id->{"param"}->{"id"}; + foreach $c (keys(%clients)){ + return if($clients{$c}->{param}->{id} eq $id && $clients{$c}->{timer}->{shutdown} > 0); + } } delete $UA{$id}; }
名前 : ynakata(2003/01/27 17:49)
rotooldにポート番号での振り分け機能を追加することは可能でしょうが、
同じことはrotooldを(--portオプションを使いつつ)複数起動してしまえば実現できます。
仮に単体のrotooldからポート番号での振り分けを実装するにしても、とりあえずはfork()で必要な数だけプロセスを立てるようにするんじゃないかと思いますし。それが一番楽なので。
とりあえず、ちょっと知識があれば、複数起動させるようなスクリプトは書けるはずです。
ですから、私が振り分け機能を実装することはないと思います。
# pidファイルとlogファイルの変更オプションがあった方がいいかもしれませんが。
名前 : fumi.(2003/01/25 11:42)
手元の aconavi を立ち上げた際には、
default で 8801 port を利用するようです。
複数の port に対応するなら、
それぞれの port ごとにデータ共有出来るとおもしろそうですよね。
(5963 はギルド用、5964 は臨時 PT 用、みたいに)
ちょっといじってみようかと思ったのだけど、
その前に perl を思い出さなければいけないらしい(汗
名前 : ynakata(2003/01/25 02:12)
とりあえずrotooldの使用ポート番号を変えるだけなら '--port 番号' というオプションを付ければできたりします。
アコナビの標準ポート番号は何番でしたっけ。既に使ってないので覚えてません(弱
ちなみにWindows機で動かす場合、'--outcode s'とか付けるとちょっと幸せかもしれません。
# とかいうことが、rotooldに '--help'オプションを付けて実行すれば出てきたりします。
マルチポート化(と言っても、RO-GPS用とアコナビ用の両方から接続を受け付けるようにするだけ)については、今月中ぐらいにテスト版を出したいです。私の仕事その他の忙しさ次第、なんですが。
名前 : yuu(2003/01/24 21:25)
始めまして、いつもこのソフトにお世話になっているものです。
私がこのソフトを発見したときにはもう、更新が止まっていたのですが、下のほうに
立ちアコの標準ポート化対応という書き込みがあったので書き込ませていただきました。
私のギルドではアコナビを使っているんですが、(GPSはPT、臨公用です)
私のほうでこちらのソフトを使いサーバーを立てているので、アコナビのポートにも
対応していただければ一つでギルド用もできるのでぜひお願いしたいのですが
もしよろしければ対応していただけないでしょうか?
それと厚かましいお願いですがもしよろしければマルチポート化も対応していただければ
幸いです
お願いばかりで申し訳ありませんがもしよろしければよろしくお願いします。m(__)m
名前 : somebody(2003/01/21 23:39)
無事DLもできて動いています。
このソフトには本当に助かってます、ありがとうございました。
名前 : ynakata(2003/01/21 14:11)
はい、作業の途中で20030121_0を20031021_0とミスタイプしていました(恥
速攻で直してUpし直しましたので、ご確認くださいませ。
名前 : somebody(2003/01/21 12:18)
素早い対応ありがとうございます。
と、思ったらNot Foundとなってました。
ファイルのアップロードして貰えると助かります。
名前 : ynakata(2003/01/21 11:22)
「はい、できますよー」、と返事しようとして、直さなきゃいけない箇所が散逸していることに気付き、急拠20030121_0版をリリースしました(--; 関数(メソッド)の整理だけのソースコードメンテナンスですので、普通に使用している方には無用のバージョンです。
ということで、メッセージキープの対応文字を変えたい場合、
20030121_0版以降の場合、ROTool/Client.pm というファイルの中の、is_message_keep という関数(メソッド)の正規表現を書き換えてください。
-
標準では、"/^(\(|\x81\x69).*?(\)|\x81\x6a)$/"というパターンになっています。
- 読みづらいですが、「行頭が"("か"("で、行末が")"か")"」というパターンにマッチします。
- 全角文字の文字コードはEUCで指定してください。
- たとえば"[〜]"にマッチさせたい場合、"/^\[.*?\]$/"というパターンに書き換えればOKです。
以上、Perlがわかってる人向けの簡単な解説でした。
なお、以前の版で同様の対応をする場合、ROTool/RO_GPS/Client.pm、ROTool/AcoNavi?/Client.pmのそれぞれについて、is_keep_message を書き換えてください。
名前 : somebody(2003/01/21 04:25)
メッセージキープの機能に()以外を使うことってムリなんでしょうか?
顔文字を入力したまま落ちると残ってしまうので、
多少の書き換えで実現できるのであれば教えていただきたいのですが...
名前 : ynakata(2003/01/20 15:01)
ところで立ちアコの標準ポート対応って需要あるんでしょうか?
あるんだったら、マルチポート化改造とか、するかもしれませんですよ?
名前 : ynakata(2003/01/08 13:41)
良くも悪くも「とりあえず動けばいいや」で作ってあるものですので(--;、
そういう問題はあれこれ発生すると思います。
簡単に考えても、
- rotooldの動作タイミングはRO-GPSと違う(そこまでちゃんと解析してない)
- クライアント識別機構が悪さをする可能性がある
- rotooldの流すメッセージはちゃんとrotoold由来だと名乗る(独自のエージェント名を名乗っている)
あたりが引っかかってきそうです。
なんにせよ、RO-GPSはネットワークプログラムの勉強には手頃なサイズの教材だと思いますので、頑張ってみてくださいです、はい。
名前 : somebody(2003/01/07 19:08)
プログラムなんぞチョコットかじった程度のド素人が、HSPでRO_GPSもどきを作ってみるテスツ。
モノホンのRO_GPSを鯖にしたら、とりあえず送受信出来たけど、
rotooldだと、なぜか受信時に止まる。なんか違うのかなぁ?アコナビと互換してる所で何かあるのかなぁ?
そういや、RO_GPS_client.plでも同じ現象が起きてたなぁと。
何かわかったら、またカキコします。