it-swarm-ja.com

SSH接続を閉じるときにMonoがハングアップしないようにできますか?

SSH経由で接続するヘッドレスLinuxサーバーがあります。私は最近、通常のタスクに加えて、Monoを使用してC#で記述された ゲームサーバー をホストするためにそれを使用し始めました。見事に機能します!ただし、SSHセッションから切断すると、電話が切れ、ゲームクライアントが切断されます。

ゲームサーバーを起動するには、コマンドmono KMPServer.exeを実行します。この後、サーバーソフトウェアが起動し、構成情報が表示されます。ただし、/startと入力するまで、ゲームサーバーは実行されません。

そのため、Nohupを使用できません。サーバーを起動するプロセスでは、最初にサーバーをmonoで実行し、次にサーバーと対話して「/start」コマンドを発行します。興味深いことに、私もプロセスをバックグラウンドで処理することはできません(これはMonoにとって正常ですか?)。

SSHセッションを切断したときにゲームサーバーが閉じないように実行する方法はありますか?

概要:

  • サーバーソフトウェアKerbal Space Program 用のサードパーティマルチプレイヤーサーバー(modの一部)です。
  • LinuxサーバーはArchLinuxx86_64を実行しています。
  • インストールされているMonoバージョンは3.2.3です。
6
dotVezz

スクリーンセッションを使用できるようになります。スクリーンツールに慣れていない場合は、マニュアルページを確認するか、 スクリーンコマンドの例:Linux/Unixターミナルの制御を取得 にアクセスしてください。

まず、pacman -S screenでインストールします。次に、screen mono KMPServer.exeで新しいセッションを開始し、必要なすべてを実行して、セッションをデタッチします。 Ctrl+A+D。セッションを再度アタッチする必要がある場合は、screen -xを使用してください。

6
zachzins