WANI-BBS SYSOP用マニュアル
目次
1 システム概要
WANI-BBSは、エラーに対してはなるべく柔軟に対応するように設計されていますが、まったくのメンテナンス・フリーというわけではありません。適宜システムにログインして正常に動いているかチェックしましょう。
ほとんどの場所において、シスオペ命令も ?命令によって表示させることができます。
1.1 使用する言葉について
当マニュアルでは、L命令を利用したときに、選択肢が表示される場所(/>や/board>など)をディレクトリと表現し、その選択肢のことをサブディレクトリと表現します。OSなどで利用される表現方法を使用したものですが、中には実際のMS-DOSのディレクトリを意味するものもあります。その場合は混同しないように注意して読み進んでください。
2 シスオペ用命令
シスオペは、命令入力状態において、以下の命令を一般の会員に加えて使用することができます。(機能が拡張されているものも含みます)
また、ECHO/PUSHD/POPD/BATCHは一般会員でも使用できますが、混乱を招くだけだと思われるのでUSER.MANには載せていません。
なお、多回線版ではSHUTDOWN命令が追加されています。この使用方法についてはBBSINST.HTMを参照してください。
- !
WANI-BBSの中から、MS-DOSの命令を使用することができます。ただし、外部からログインして使用する場合は、キー入力待ちになってしまった時点でハングアップしてしまうので十分な注意をもって使用する必要があります。!del
*.*や、!dateなどがその例です。また、WANI-BBSからcommand.comに命令を渡して実行するため、空きメモリより大きなメモリを必要とする場合は使用できないことがあります。空きメモリはmemfree命令でその目安を得ることができます。
なお、!コマンドは例外的な処理をしているため、基本的にマルチステートメント、バッチ、エイリアス等との併用はできません。
- RESET
コンピュータをリセットします。このコマンドを入力すると、本当にリセットするか聞いてきますので、リセットさせたい場合は'y'と入力してください。なお、system.defでリセット用のプログラムを設定している場合は、resetコマンドに引数を与えることにより、プログラムにその引数を渡すことが出来ます。
- SU
BBSを終了することなしに他の会員で接続したと同じことができます。ただし、この命令を使用した場合は、最終接続時間は設定されず、また、手紙を読んでも古いものが削除されることがありません。また、ログにも記録は残りません。この命令はレベル1以上の会員も利用することができますが、その場合はパスワード入力を促し、パスワードが違っていた場合は即座に回線を切断することになります。注意する点は、ログインしたIDがシスオペである場合は、この命令を利用して別の会員で接続したとしても依然シスオペであるという点で、使用が許可されているかどうかを正確に確認する場合は、そのレベルのIDで入り直すのが一番です。
もとの会員に戻るには引数なしでSUと入力します。
- EDIT
実際のディスクドライブのテキストファイルをエディットすることができます。ただし、文字数は512bytesで制限され、行数はsystem.defのedit_linesで指定した行数に制限されます。ファイル名を省略すると一時ファイルになります。
- FILES
実際のディスクドライブのディレクトリリストをとります。また、引数でドライブ名やディレクトリ名を指定することもできます。ディスクのフリーエリアなどを確認することができます。ファイル名を省略すると一時ファイルのリストをとります。
- TYPE
実際のディスクドライブのテキストファイルを表示させることができます。ファイル名を省略すると一時ファイルを表示します。
- A
boardとpoolにおいては、新しく掲示板やプログラムコーナーを追加するために使用され、system/userにおいては会員の、system/groupにおいてはグループの、system/whipでは接続BBSの追加に使用されます。詳しくは当マニュアルのそれぞれの項を参照してください。
また、ルートディレクトリにおいては、汎用的なディレクトリを作成することができます。このディレクトリを移動させたりすることにより、階層的なボード構成を作ったりすることもできます。
- W
サブディレクトリの変更に使用します。引数としてサブディレクトリの名前を渡すことが必要です。この命令については、後にまたディレクトリの変更の項で詳述します。
- STAT
一般会員に表示される情報に加え、システムが起動した時間も表示されます。
- MEMFREE
現在WANI-BBSで使用していない、空きメモリの大きさを表示します。!命令を実行する際の目安にしてください。
- MOVE
ディレクトリの順番を移動させることができます。
この命令を使用する前に、L命令を実行しておくと便利です。引数を指定しないで命令を入力すると、まず移動するサブディレクトリ名を尋ねてきます。このサブディレクトリ名を引数として指定することもできます。次に、そのサブディレクトリをどのサブディレクトリの後ろに移動するかを尋ねてきます。先頭に移動させたい場合は^と入力してください。
また、異なった階層に移動させたい場合は、移動先のディレクトリの指定を絶対パス指定にし、最後に/をつけてください。例えば、最上層に移動させる場合は/を指定し、/boardに移動させる場合は/board/と指定します。
- ECHO
この命令は、ALIASの中で使われることを想定されています。引数なしで命令が使われた場合は、そのあと文字を表示しません。不用意に使用するとハングアップしたように見えます。その状態でまたECHO命令を使用すると元の状態に戻ります。
また、引数を与えた場合はその文字列を表示します。その場合、文字列は半角のカナや小文字に変換されます。
- PUSHD
この命令は、ALIASの中で使われることを想定されています。また、この命令はPOPDとセットで使われます。この命令を実行した時点でのディレクトリの場所(例えば/system/user)を覚えておきます。
- POPD
この命令は、ALIASの中で使われることを想定されています。また、この命令はPUSHDとセットで使われます。以前にPUSHDを実行した時点でのディレクトリの場所(例えば/system/user)に実際に移動します。
- BATCH
この命令は、ALIASの中で使われることを想定されています。このコマンドは、複数のコマンドを連続実行させることができます。コマンドは":"で区切ります。
例えば、WANI-BBSのsignupのコマンドは実際には以下のように実現されています。
signup batch pushd:echo:\s\s:echo:w:popd
まず、pushdで現在のディレクトリを保存し、echoで表示を消します。\s\sでsignupのディレクトリに移動します(このとき、表示が消えているので、移動したきのメッセージは表示されません)。echoで再び表示するようにして、wでsignup動作を行います。signupが終われば、popdで元のディレクトリに戻ります。
3 ディレクトリの変更
ディレクトリの変更では、そのディレクトリにアクセスできる会員の設定をしたり、ディレクトリの名前を変更したりすることができます。W命令にディレクトリ名を引数として使用した場合、ディレクトリを追加した場合に、この状態に移行します。この状態では、以下の命令が使用できます。
ディレクトリを追加した時に、M、N、T、D、F命令で設定される内容が未設定の状態の場合は、自動的にそれぞれの入力状態になります。
- M
掲示板を変更する場合に使用できます。掲示板がマルチノーツを使用するか、通常のボードかを指定します。すでに書き込みがある場合も変更は可能ですが、動作は保証されません。実際は、マルチノーツから通常掲示板に変更した場合は、一冊のノートが一つの内容が空のメッセージになり、ページの内容などを参照することはできなくなります。また、通常掲示板からマルチノーツに移行した場合は、すべてのメッセージがページを持たないノートとなり、読みだそうとすると、中身がないために削除されます。
掲示板を追加する場合、まずマルチノーツにするかどうかを尋ねてきます。
- N
ディレクトリの呼び出し用の名称を設定します。この名称は実際に会員が掲示板などの指定に使用しますので、できるだけ分かりやすく、覚え易く、そして重なりのない名前を指定することをお勧めします。ゲームコーナーとシステム管理コーナーでは、最初から名前が設定されていますが、これを変更することもできます。
- T
ディレクトリのタイトルを設定します。タイトルは単に表示されるだけですので、日本語などを使用して分かりやすく設定しましょう。
- D
そのディレクトリの情報が実際のディスク上のどのディレクトリに格納されるかを指定します。該当するディスク上のディレクトリが存在しない場合は、そのディレクトリをディスクに作成して良いか尋ねます。
WANI-BBSではディスク上に作成されるすべての情報のファイル名は違っているので、一つのディスク上のディレクトリに複数のBBS上のディレクトリの情報を格納することも可能です。極端な例では、すべてをルートディレクトリに作成することも可能です(この場合は、ルートディレクトリに作成できるファイル数の制約があるので、不都合が発生しますが)。
なお、設定を変更する場合は、変更先のディレクトリを予め作成し、そこにもとのデータを総て転送してからするようにしてください。そうしないとWANI-BBSを次に立ちあげたときにデータがないものとしてリセットしてしまいます。
- F
そのディレクトリを見たり、読んだり、書き込んだりすることのできる会員のレベルを設定します。命令を入力すると、まず、マルチノーツでは、ノートを作成することのできるレベルの最低値を尋ねます。ここでは0から9までのレベルを設定可能です。以後の入力においても、矛盾のない限り0から9の値を設定できます。次に、読み書き可能なレベルの最低値を尋ねます。その次は、読みだしのみできる会員のレベルの最低値を設定します。最後にそのディレクトリの存在のみを知ることのできる会員のレベルの最低値を設定して終了です。後述のL命令で、各レベルの許可フラグを参照することができます。表示の内容についてはL命令の項を参照してください。
- S
そのディレクトリの情報の最小値を設定します。system/user、system/profileでは、毎回の起動で設定しなおされます。また、system/mboxでは、この値は意味をもちません。ゲームコーナーでは、ハイスコアを使用するかどうかの設定をすることができます。0以外の値ならば使用するということになります。
ディスク上の情報の古いものを削除した場合は、自動的に最小値は変更されますので、使用する機会はほとんどないでしょう。古い情報をリストアした場合には設定が必要です。
- E
そのディレクトリの情報の最大値を設定します。system/user、system/profileでは、毎回の起動で設定しなおされます。また、system/mboxでは、この値は意味をもちません。ゲームコーナーでは、過去30日分の100人分のスコアを使用するかどうかの設定をすることができます。0以外の値ならば使用するということになります。
この値も、ほとんど利用する機会はないでしょう。ディスク上のディレクトリの指定を失敗して起動してしまった場合、もとに戻しても最大値は設定されないので、手動での設定が必要となります。
なお、数値を減らす場合には充分な注意が必要です。例えば、通常掲示板でメッセージが100個ある場合に、これを50にするとします。ある会員がこの掲示板を80まで読んでいたとすると、新しいメッセージが書込まれてもそれを読むことができません。ただし、ログイン直後にこの不都合のチェックをし、シーケンサが掲示板の最大値よりも大きかった場合はシーケンサを最大値に設定しますが、やはりそれまでの新しいメッセージは読むことができません。
- X
そのディレクトリの情報が次に与えられる値を設定します。system/user、system/profile、system/mboxでは、この値は意味をもちません。
最大値とは、通常は最大値+1=次に与えられる値という関係をもっていますが、最後の情報が削除された場合にその関係が崩れるため、この値があります。この数値は、前述の最大値を変更した場合に、同時に変更するべきでしょう。矛盾する値が設定された場合の動作は保証されません。
- I
プログラムコーナーのみで有効です。この命令では、プログラムコーナーでISHの手順でダウンロードする場合のOSの設定をします。通常はall
OSで問題はありませんが、各プログラムコーナー毎にOSの設定をしてもよいでしょう。
- G
そのディレクトリの情報を読み書きできるグループの設定をします。設定されたグループに属する会員は、レベルがそのディレクトリに設定された許可フラグで許可されていなくても読み書きをすることができます。
グループを設定したあとに設定を解除する場合は、存在しないグループ名を入力してください。削除するかどうか尋ねてきます。
- R
そのディレクトリの情報を読み出すことのできるグループの設定をします。設定されたグループに属する会員は、レベルがそのディレクトリに設定された許可フラグで許可されていなくても読み出しをすることができます。
グループを設定したあとに設定を解除する場合は、存在しないグループ名を入力してください。削除するかどうか尋ねてきます。
- C
マルチノーツのディレクトリのみで有効です。この命令では、ノートを作成することのできるグループの設定をします。設定されたグループに属する会員は、レベルがそのディレクトリに設定された許可フラグで許可されていなくてもノートを作成することができます。
グループを設定したあとに設定を解除する場合は、存在しないグループ名を入力してください。削除するかどうか尋ねてきます。
- O
そのボードのシグオペグループの設定をします。設定されたグループに属する会員は、そのボードで削除(D)・復活(U)・変更(E)の機能を使用することができます。また、マルチノーツでは閉鎖(C)・開放(O)・自動削除設定(A)の機能をも使用することができます。
グループを設定したあとに設定を解除する場合は、存在しないグループ名を入力してください。削除するかどうか尋ねてきます。
- A
掲示板と郵便受けのディレクトリのみで有効です。この命令では、文章の数が増えたとき自動的に削除するかどうかを指定します。
通常の掲示板では、ここで指定する数字×100個のメッセージを最大値とします。例えば、5を指定すると、文章が600個になった時点で、古い100個のメッセージを削除します。
マルチノーツでは、ここで指定する日数書き込みがされなかったノートを削除します。例えば、60を指定すると、約2カ月書き込みや訂正がなかったノートを削除することになります。
郵便受けでは、ここで指定する個数の手紙を残して他を削除します。
0を指定した場合は自動的に削除することはありません。
実際の削除は、会員が抜けた後に検査して行われます。
- L
現在の設定を表示します。フラグの表示のレベルに対応する文字は、それぞれ以下の意味を持ちます。
- ?
存在がわからない
- -
読むことも書くこともできない
- R
読みだしだけ可能
- W
読み書き可能
- N
ノートの作成が可能
- ?
命令の一覧を表示します。
- Q
現在の設定を破棄して終了します。
- W
現在の設定を書き込んで終了します。
4 会員のメンテナンス
4.1 会員の追加
会員の追加は、system/userで行います。a グループ名 とすると、そのグループに会員が追加されます。グループについては、グループのメンテナンスの節を見てください。グループ名を省略した場合は、system.defに設定されている
def_groupが指定されたものとみなします。指定の方法については、BBSREF.MANを参照してください。
会員が追加されると、会員情報の変更に移行します。
4.2 会員情報の変更
会員情報の変更は、system/userで行います。w 会員ID とすると、その会員の情報を変更することができます。基本的には、system/userで単にwを使ったときと同じように修正できますが、シスオペの場合は更に次のコマンドを使うことができます。
- I
会員のIDを変更します。会員のIDは、グループ名も含めてほかにないものでないといけません。変更した場合、その変更をアナウンスするかどうか尋ねてきます。アナウンスするとした場合は、当該会員が1回ログインするまでは以前のIDのままで、ログインした時点でIDが次回ログインから変更になる旨表示し、ログアウトした時に新しいIDに変更します。会員がBBSにアクセスしたあとにIDを変更する場合、仮IDを発行して、その後正規IDに変更する場合などに便利でしょう。
アナウンスしない場合は即座にIDを変更します。
- P
会員のパスワードを変更します。シスオペの場合は一般会員とは変更方法が違い、ハンドルなどと同様に容易に変更することができます。
- V
会員のレベルを変更します。レベルは0から9までで、0はゲスト用のレベルで、さまざまな機能において特有の制限があります。通常会員用のレベルは1から8となり、9はシスオペのレベルです。シスオペはWANI-BBSにある機能のすべてを使用することができ、BBSシステムを破壊することも簡単です。レベル9の会員の管理は慎重にしてください。
- Y
会員の郵便受けから古い手紙を削除するときに、削除する手紙を指定したファイルに保存します。これは主にシスオペ宛に来た手紙を保存しておくために利用します。よって、レベルが9の会員にしかこの設定はできません。レベルが9以外の会員の場合は設定ができませんし、また、レベル9以外の会員はログインした時点で設定が解除されます。
保存される形式は、手紙の読みだしで S命令を使うのと同じです。
- X
会員に手紙が送られてきたときに、その手紙をそのまま他に転送したいときに設定します。これはWHIPを経由することも可能です。なお、正しくない転送先が設定されている場合は転送されずにそのまま配送されます。
- R
会員の本名を変更します。
- C
会員の電話番号を変更します。
- S
会員の性別を変更します。
- A
会員の住所を変更します。
- J
ログ記録を表示するかどうか設定します。シスオペが行った場合には、ログ記録を隠す(on)に設定すると更に「erase
journal <Y/N>?」と聞いてきます。ここでYesと答えるとその人のアクセスは記録されず、通算アクセス回数も変わりません。ただし、個人のアクセス回数は増加します。
4.3 会員の検索
シスオペは会員を検索するときに、通常に会員に加えレベルによる検索をすることができます。検索の命令を入力し、IDと名前のキーワードの入力の後、レベルを入力します。この指定では、指定したレベルの検索(普通に数字を入力する)と、指定したレベル以上の検索(数字のあとに+をつけて入力する)とができます。具体的にはレベル2以上の会員を検索するには、2+と入力します。
4.4 会員の削除
5 通信記録の内容
999?90/01/01 01:01( 1分 1秒) 2400MNP4*WANI0000 (ゲスト) N
番号(1) 日付 時間 接続時間 速度MNP(2) ID ハンドル(3)
(1)… 会員の設定が「通信記録を表示しない」に設定されている場合?が表示されます。一般会員にはこの記録は表示されません。
(2)… 会員の前回ログインからパスワードの入力失敗があったときに表示されます。
(3)… 強制回線切断があったときはN、指定秒数黙っていて切れた場合はC、時間制限で切れた場合はTが表示されます。
6 インフォメーションの設定
6.1 SELECT.INFファイル
6.2 番号.INFファイル
7 グループの設定
- A
新しくグループを追加します。グループが追加できた場合は、後述のグループの変更に移行します。
- L
グループの一覧を表示します。
- R
グループの設定を表示します。引数としてグループ名を指定する必要があります。
- W
グループの設定を変更します。引数としてグループ名を指定する必要があります。命令を入力すると、後述のグループの変更に移行します。
- D
グループを削除します。引数としてグループ名を指定する必要があります。命令を入力すると、グループ名とメンバーの数を表示して、本当に削除していいのか尋ねてきます。
グループを削除する場合は、グループに所属している会員すべての情報を変更する必要があるので、会員数が多いグループの削除には時間がかかります。
8 グループの変更
9 エラー情報
- L
過去に起きた50回以内のエラーの一覧を表示します。
- R
新しく起こったエラーを表示します。
10 サインアップ
- R
サインアップ読みだしに移行します。詳しくは以下のサインアップ読みだしの項を参照してください。
シスオペでない会員がこの命令を実行した場合、自分がBBSに接続してからSIGNUPに登録した情報があるならばそれを表示します。
- W
SIGNUP命令と同一です。ゲスト会員にサインアップに書き込み許可を与えることによりサインアップを許可することができます。
- L
サインアップ情報の一覧を表示します。
11 サインアップの読みだし
- リターン
次の情報を表示します。
- 番号
番号の情報を表示します。
- -
一つ前の情報を表示します。
- .
現在表示している情報を再度表示します。
- =
最初の情報に移動します。
- *
最後の情報に移動します。
- D
登録されている情報を削除します。自動的にIDを発行するように設定されている場合は、すでにIDのある会員を削除することになるので、慎重に使用してください。
- E
自動的にIDを発行するように設定されていて、なおかつdef_signupとdef_group(BBSREF.MAN参照)が同一でない場合は、def_signupのグループから当該会員を削除し、def_groupのグループに追加します。この際、IDも変更になりますが、この変更は実際には会員が接続したときにアナウンスとともに変更します。def_groupとdef_signupのグループが同一の場合は何も行いません。
IDを発行しない設定の場合は、def_groupに会員を追加後、会員情報変更に移行します。
- C
現在表示している会員の情報を変更します。
- L
登録された情報の一覧を表示します。
- ?
サインアップ読みだしで使用できる命令の一覧を表示します。
- Q
サインアップ読みだしを終了します。
12 掲示板読みだし
- D
シスオペの場合は掲示板の途中の文章であっても、他人の文章であっても削除することができます。
- E
シスオペの場合は最後のメッセージならば他人の文章であっても変更することができます。
- U
削除された文章を復活させることができます。シスオペは、削除された文章も見ることができますので、その文章を表示した直後にこの命令を使用してください。
- S
表示している文章をファイルに記録することができます。引数としてファイル名を与えることもできます。
13 マルチノーツ読みだし(インデックス)
- C
表示されているノートを閉鎖します。以後一般会員はそのノートへの書き込みができなくなります。
- O
表示されているノートを解放します。表示されているノートが開いた者専用のもの(Author
write only)であっても、閉鎖してあっても(Closed)、一般会員が書き込めるようにします。逆に、通常のノートを後からノートを開いた者専用のノートにすることは現在のバージョンではできません。
- D
表示されているノートを削除します。最初の実行では削除マークがつけられるだけですが、削除マークがついているノートをさらに削除すると、実際のページの内容が記されているファイルも削除します。
削除マークのつけられたノートは、一覧を表示したときに*がつけられます。
- U
削除マークをつけられたノートに対して実行すると、その削除マークを無効にし、一般会員が読み書きできるようにします。
- A
自動削除をするように設定している場合にも、表示しているノートを削除させないようにすることができます。実行毎に自動削除する/しないの設定を変更します。
14 マルチノーツ読みだし(ページ)
- D
他の会員のページであっても、途中のページであっても削除することができます。ただし、途中のページを削除した場合は、ページ番号が詰められることはなく、該当するページでは削除された旨の文章が表示されます。
- U
途中のページが削除してあるときに、そのページを復活させるために使用します。
- S
表示しているページをファイルに保存するために使用します。引数としてファイル名を与えることもできます。
15 プログラムコーナー読みだし
- D
表示しているプログラムを削除します。最初の実行では削除マークがつけられるだけですが、削除マークがついているプログラムをさらに削除すると、実際にプログラムが格納されているファイルを削除します。
削除マークのつけられたプログラムは、一覧を表示したときに*がつけられます。
- U
表示しているプログラムを復活させます。実際にファイルのないプログラムは復活できません。また、system.defでpoolregistをNにしている場合、会員が登録したプログラムはヘッダーに(Checking)と表示されます。そのプログラムが公開してよいものであれば、この命令を実行すれば他の会員にも読めるようになります。
なお、(Cheking)のファイルは削除マークのつけられたプログラムと同等に扱われます。
- S
プログラムの説明をファイルに保存します。引数としてファイル名を与えることもできます。
- X
一般会員に加え、ダウンロードにファイルにダウンロードする手順が追加されます。また、キーボードから接続した場合も、シスオペレベルでなくても使用することができます。
- C
表示されているファイルと説明を他のプログラムコーナーに転送します。指定する転送先は、転送元と同じ階層にないといけません(L命令で同時に両方が表示される)。また、転送しても元のプログラムは削除されませんので、削除する場合はさらにD命令を使用してください。
- I
ファイルがISH変換されたまま登録されてしまった場合に、それをバイナリファイルに変換します。バイナリになっているファイルはコンバートできません。
16 エディタ
- F
FILES命令と同じく、実際のディスクのディレクトリをとることができます。引数としてドライブ名やディレクトリ名を指定することもできます。
- S
現在の文章をファイルに保存することができます。引数としてファイル名を与えることができます。
- R
現在の文章にファイルの文章を追加することができます。引数としてファイル名を与えることができます。
1行が512バイト以上の行があるファイルの読み込みをした場合、その内容は保証されません。
- K
ファイルを削除することができます。引数としてファイル名を与えることができます。
17 手紙の読みだし
- S
現在表示している手紙をファイルに保存することができます。引数としてファイル名を与えることができます。
- U
削除された手紙を復活させることができます。削除された手紙を表示してから命令を実行してください。
18 POSTMAIL命令
POSTMAIL命令では、グループ送信機能を利用することができます。これは、グループ名を受取人として指定することにより、そのグループのメンバー全員に同じ手紙を送ることができる機能です。但し、この機能はシスオペ専用の命令ではなく、system/mboxに書込み許可が与えられている会員ならば利用することができます。なお、この機能はハンドル指定の手紙送信、複数の宛先列記、WHIPによる手紙送信などと混在させることができます。