BBS と EnigmaBBS とは?
BBS とは、複数のユーザが遠隔地のネットワークからコンピュータにアクセスするためのプログラム群です。これらのコンピュータには、しばしば、システムオペレータが自分のBBSの特徴を強調するために作ったプログラムが入っています。例えば、1990年代のほとんどのBBSマシンは、そのサーバー独自のゲームを提供していた。
EnigmaBBS は、伝統的な BBS ソフトウェアを現代的にアレンジしたものです。90年代のBBSの経験を、現代のコーディング標準と技術で再現することを目的としています。また、EnigmaBBS は WebSocket や SSH など、BBS を簡単にホストして利用するための機能を多数備えています。 EnigmaBBS は、従来の BBS とは異なり、FidoNET を介して他の同様のサービスと容易にコミュニケーションできるプラットフォームを提供します。このアプローチにより、他のサーバと明示的に接続することなく、シームレスに対話することができます。 最後に、EnigmaBBS は DoorParty, Exodus, CombatNet を通じてサードパーティ製のドアゲームを完全にサポートしていますので、ゲームのロードはその特定のゲーム用のドロップファイルを提供するのと同じくらい簡単です。EnigmaBBS を友人や家族のための専用の BBS ゲームサーバーにすることも可能です。EnigmaBBS のインストール
- BBS サーバー用に別のユーザーアカウントを作成し、個人的なファイルへのアクセスができないようにします。まずは、以下のコマンドを実行してください。
sudo useradd -s /bin/bash -d /home/enigma -m -G sudo enigma
sudo passwd enigma
-
su enigma
を実行して、新しいユーザアカウントに切り替えます。
-
- EnigmaBBS インストールスクリプトをダウンロードする: BBS のコピーを作成するために必要なすべてのツールを取得し、コンパイルし、インストールするオールインワンスクリプトです。以下のコマンドを実行します。
sudo apt install curl git make gcc g++ python p7zip lhasa arj lrzsz python-is-python3
wget https://raw.githubusercontent.com/NuSkooler/enigma-bbs/master/misc/install.sh
- ターミナルで以下のコマンドを実行し、スクリプトの実行ビットを有効にして、シェルから実行します。
chmod +x ./install.sh
./install.sh
- EnigmaBBS はまず、NodeJS をコンパイルするために必要なすべてのパッケージをダウンロードします。そこから、BBSのソフトウェアをインストールするために必要なパッケージをすべてダウンロードします。
EnigmaBBS の設定を生成する
次に、新しいターミナルウィンドウを開いて、今インストールしたすべてのプログラムをマシンが検出することを確認します。
- Ubuntu を使用しているので、現在のターミナルウィンドウで “New Tab” ボタンを押しました。
2. EnigmaBBS のルートディレクトリに移動します。このフォルダには、BBSサーバーのすべてのファイルや詳細が格納されています。以下のコマンドを実行してアクセスします。
cd /home/$USER/enigma-bbs
設定ファイルの新規作成
- この中に入ったら、今度はこのコマンドで BBS サーバの設定ファイルを作成します。
./oputil.js config new
2. EnigmaBBS は設定ファイルをどこに置くか尋ねてきます。ほとんどの場合、ここで Enter
を押すだけで、すべての設定ファイルがデフォルトのディレクトリにあることが確認できます。
4. 最初のメッセージ会議には、フォーラムサイトのカテゴリに似た名前をつけます。ここでは、Enter
を2回押して、デフォルトの “Local “という名前を使用しました。
5. スクリプトは、最初のメッセージエリアの名前を尋ねるでしょう。メッセージ会議と同様に、これはあなたのBBSのメッセージをさらに分類するためのものです。もう一度、Enter
を2回押して、デフォルトの値を使用します。
新しい BBS の接続と使用
基本的な設定が終わったら、EnigmaBBS のサーバーを立ち上げることができます。他のウェブサーバーと違って、BBSのインスタンスを動かすのは信じられないほど簡単です。
-
- 次のコマンドを実行します。
./main.js
- これで EnigmaBBS が起動し、あなたのローカルネットワークに公開されます。しかし、接続するには telnet クライアントか SSH を使う必要があります。私たちは前者を使いました。
3. EnigmaBBS の起動と同様に、telnet による接続も非常に簡単です。Ubuntu には BBS と互換性のある telnet クライアントが最初から入っているからです。ローカルなインスタンスに接続するためには、たった一つのコマンドを実行するだけです。
telnet ローカルホスト 8888
- 接続が完了すると、EnigmaBBS は3つのオプションとともにスプラッシュスクリーンを表示します。「ログイン” “適用” “ログアウト” の3つのオプションとともにスプラッシュスクリーンが表示されます。
Sysop ユーザーの作成
EnigmaBBS はデフォルトで、サーバーの最初のユーザーアカウントを Sysop ユーザーとして予約します。
- 管理者アカウントを作成するには、スプラッシュ画面で “Apply “を選択します。
2. ユーザー名など、自分に関する情報を入力します。ユーザー名は “ramcesr “を使用しました。
3. 注意すべき点は、このページのほとんどのフィールドに実際の情報を入力する必要がないことで す。例えば、存在しない電子メールを入力しても、EnigmaBBS はアカウントを作成します。これは、BBS に連絡先を残したくない場合に役立ちます。最初のメッセージを送る、読む
EnigmaBBS はすぐにあなたのアカウントのメインメニューにリダイレクトします。
ここで、あなたの BBS インスタンスの様々な機能を利用することができます。- M
を押し、次に
P` を押して、EnigmaBBS に新しいメッセージポストを作成することを伝えます。 -
- 次の画面で
Enter
を押し、メッセージの件名を書きます。ここでは “Hello world!” と書きました。
- 次の画面で
3. 3. もう一度Enter
を押して、メッセージの本文を書きます。
4. 4. Esc
を押し、“Save “を押して、BBSにメッセージを送信します。
5. EnigmaBBS でのメッセージの閲覧も比較的簡単です。メインメニューで M
を押し、次に L
を押すと、現在のメッセージ会議にあるすべての新着メッセージがリストアップされます。
別の BBS と通信する
上で述べたように、EnigmaBBS は他の BBS サーバーとシームレスに通信することも可能です。これは特に、BBS インスタンスに付加的な活動を導入したい場合に便利です。
- EnigmaBBS のインスタンスを
Ctrl
+C
を押すか、ターミナルウィンドウを閉じるかして、電源を切ります。 -
- サーバーの設定ファイルを編集します。この HJSON ファイルは、EnigmaBBS のルートディレクトリの “config” フォルダの下にあります。
nano /home/$USER/enigma-bbs/config/config.hjson
- chatServers” オプションを見つけます。これは EnigmaBBS のマルチリレーチャット機能を制御するものです。このオプションは
/
を押しながら “chatServers” とタイプして探してください。
を参照してください。 4. enabled” の値を “false” から “true” に変更します。
を実行します。 5. 5. このファイルを保存して、EnigmaBBS を再起動します。-
- メインメニューで MRC と入力し、
Enter
を押して、マルチリレーチャットにアクセスします。
- メインメニューで MRC と入力し、
-
- EnigmaBBS が他の BBS サーバーとのチャットルームに接続するための新しいウィンドウがロードされます。
ウェブコンテンツサーバの作成
EnigmaBBS はメッセージを送る以外にも、非常に柔軟なソフトウェアであり、拡張することでやりたいことが何でもできます。たとえば、BBS にあるすべてのメッセージやファイルを表示するコンテンツサーバを作ることができます。
- サーバーの “config.hjson “ファイルを開いてください。
2. contentServer “関数を探します。このブロックには、Webベースのコンテンツポータルを作成するために必要なすべての設定が含まれています。Vim で /
を押し、“contentServer” と入力すると、そのセクションにジャンプします。
よくある質問
EnigmaBBS のインストールスクリプトが動作しません。
これは、あなたのシステムで別のシェルを使っていることが原因である可能性が高いです。EnigmaBBS のインストールスクリプトは、デフォルトでは Bash を使って必要なプログラムをコンパイルしています。このスクリプトは、インストールを正しく行うために Bash 固有の関数に依存しています。この問題を解決する一つの方法は、現在のターミナルから /bin/bash
を実行して、Bashシェルを実行することです。これを実行すると、画面のプロンプトが変わり、現在Bashを使用していることがわかります。そこから、インストールスクリプトを再度実行することができます。
EnigmaBBS は MODULE_NOT_FOUND エラーを報告します。
これは、EnigmaBBSが期待するライブラリのバージョンと、あなたのコンピュータで見つけられるライブラリのバージョンに差がある場合に起こります。
これを修正するには、3つのことをする必要があります。まず、rm -rf /home/$USER/enigma-bbs/node-modules
を実行して、EnigmaBBS がコンパイルしたばかりのオブジェクトを全て削除してください。
curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -`.
適切なバージョンの NodeJS をインストールし、EnigmaBBS 用のオブジェクトをすべて再構築します。 sudo apt install nodejs && nvm install v14.19.3 && npm install && npm rebuild`.EnigmaBBS のデフォルトポートを変更することはできますか?
多くの Linux ディストリビューションでは、デフォルトの telnet ポートを無効にして、そのポート経由のトラフィックを許可しないため、BBS サーバは telnet 接続に 8888 ポートを使用します。それでも、“config.hjson” ファイル中のいくつかの設定を変更することで、EnigmaBBS が使用するポートを変更することができます。
loginServers” の下にある port:
変数を探し、あなたのシステムで実行中のサービスと衝突しない任意の数値に変更します。