レガシークライアント設定
HandyCafeは、古いV3およびV4クライアントのインストールと並行して実行され、中断することはありません。レガシークライアントの設定ページは、ランタイムプロトコルを制御します。これは、V3およびV4クライアントが元のポートでこのサーバーに接続できるようにするネットワークリスナーです。
古いインストールからのデータインポートは、独自の設定ページで管理される別の作業です。データ移行をご覧ください。この2つの機能は独立しています。ランタイムサポートは、データを移行せずに動作します。移行はランタイムサポートなしで動作します。また、これらを一緒に使用することもできます。
ランタイムプロトコルのセクション
レガシークライアントサポートを有効化
セクション上部にある全体トグルです。オンにすると、サーバーは 3 つのネットワークリスナーを起動します。
- 設定済みのマルチキャストグループを待ち受ける UDP リスナー。
UDP port + 2で待ち受ける TCP コマンドリスナー。UDP port + 7で待ち受ける TCP ファイル転送リスナー。
トグルをオフにすると、3 つのリスナーはすべて原子的に停止します。無効化した状態でポート番号やエンコーディングを変更し、再度有効化して反映できます。
設定項目
| 項目 | 既定値 | 説明 |
|---|---|---|
| 認証キー | HANDYCAFE | 共有の 10 文字キーです。受信・送信するすべてのフレームにこの文字列が含まれます。一致しないフレームは破棄されます。すべてのレガシークライアントで同じキーを使う必要があります。 |
| UDP マルチキャスト IP | 230.4.4.46 | クライアント発見のビーコンと UDP ベースのコマンド配信に使うマルチキャストグループです。多くのレガシークライアントビルドでハードコードされています。 |
| サーバー UDP ポート | 710 | サーバーがクライアントのビーコンとコマンドを受け付ける UDP ポートです。レガシークライアントはこのポートへ送信します。 |
| クライアント UDP ポート | 711 | レガシークライアントが待ち受ける UDP ポートです。サーバーは検出済みクライアント IP に対し、このポートへユニキャストの管理コマンドを送ります。 |
| エンコーディング | cp1254 | ワイヤ形式の文字列フィールドに使う文字エンコーディングです。トルコ向けインストールでは cp1254、西欧向けでは cp1252 を使います。不明な値は cp1254 にフォールバックし、サーバーログに警告を残します。 |
| サーバーバージョン | 3.4.01 | すべての UDP ビーコンでブロードキャストされるバージョン文字列です。レガシークライアントの中には、認識できないバージョンのフレームを拒否するものがあります。元のサーバーのバージョン文字列に合わせてください。 |
| プロトコルバリアント | STE | 使用するワイヤ形式を選びます。下のバリアント比較を参照してください。 |
| 無通信タイムアウト | 10 | 秒単位の MAC ごとのウォッチドッグです。この時間内にクライアントから通信が来ないと、オフラインとして扱われます。2〜3 秒ごとにビーコンを送るレガシークライアントには 10 秒程度が適しています。 |
由来するポート
フォームの下には、由来する TCP ポートを示す読み取り専用の行が表示されます。
TCP Command Port: 712 File Transfer Port: 717
これらのポートは UDP サーバーポートから計算されます。個別には設定しません。Server UDP Port を別の値に変更すると、由来ポートも連動して変わります。
プロトコルバリアント
Protocol Variant フィールドでは、サーバーが使うワイヤ形式を選択します。レガシーサーバーがどのビルドで作られたかに合うバリアントを選んでください。
| バリアント | 使いどころ |
|---|---|
| STE(Smart/Turbo Edition) | 現代のレガシーコードベースです。フレーム構造に 70 バイトの license-info プレフィックスを追加します。フレームサイズは 1337 バイトです。レガシー環境が Smart または Turbo Edition を使っていた場合に選びます。 |
| Standard | 標準のベースライン版レガシービルドです。license-info プレフィックスなしで、フレームサイズは 1267 バイトです。ライセンス登録のない Standard Edition だった場合にのみ選んでください。 |
誤ったバリアントを選ぶと、フレームが破棄されたり読み違えられたりします。症状としては、クライアントがオンラインに見えてもすべてのコマンドを無視する、またはコマンドデータが 70 バイトずれてしまう、などがあります。
モダンクライアントとの共存
レガシーポート(710、711、712、717)は、モダンな HandyCafe プロトコルポート(TCP 5001、5002、5003、UDP 5004)とは完全に分離されています。2 つのプロトコルスタックは同時に動作しても衝突しません。同じ LAN 上で古いクライアントと新しいクライアントを混在させ、同じ Admin Panel から管理できます。
変更の適用
ランタイムプロトコルセクション内のすべての項目は、ページ下部の共通 Save ボタンで保存されます。保存時、サーバーは次を行います。
- 動作中なら 3 つのレガシーリスナーを停止します。
- 認証キーを検証します(空であってはいけません)。
- 更新済みの値から新しいリスナー設定を構築します。
- リスナーを同時に再起動します。
- 3 つすべてが再びオンラインになったら通知を出します。
ポートが別プロセスで既に使用中の場合は、サーバーがエラーを返し、トグルはオフに戻ります。netstat でファイアウォールと他のサービスを確認し、空いているポート範囲を選んでください。
Database Migration
HandyCafe 3.xまたは4.xインストールからのデータインポートは、もはやこのページで行われません。HandyCafe Legacyソースの下、EveryCafeとPancafeインポーターとともにデータ移行設定ページに移動しました。
そのページでは、旧インストールの検出、インポートされる内容、ソースファイルの読み取り専用保証、インポートの再実行および取り消しについて説明しています。ステップバイステップの手順については、レガシーインストールからの移行方法を参照してください。
ヒント
- 移行を始める前に、レガシーサーバーを停止してください。レガシー側がまだデータベースへ書き込んでいると、古いデータや途中のデータを読む可能性があります。
- 最初の移行の前に、エンコーディング項目をレガシーのロケールに合わせてください。取り込み後に変更しても、すでに壊れた名前は直りません。
- 必ず最初にテスト移行を行ってください。「Last Counts」の件数を確認し、メンバーや取引の行をいくつか目視で確認してから本運用へ進みましょう。
- 移行後の移行期間は、ランタイムサポートを有効にしてレガシークライアントを接続したままにしてください。新しいサーバーが旧サーバーと同じように動くことを確認してから、旧サーバーを廃止できます。
- Server UDP Port を変更したら、由来するコマンドポートとファイル転送ポートも連動して変わることを忘れないでください。ファイアウォールルールもそれに合わせて更新が必要です。