我有一台无头 Linux 服务器,我通过 SSH 连接它。最近,除了常规任务外,我还开始使用它来托管一个用 Mono 用 C# 编写的 [游戏服务器][1]。它的性能令人钦佩!但是,如果我断开 SSH 会话,它就会挂断,游戏客户端也会断开连接。
要启动游戏服务器,我运行命令mono KMPServer.exe
。此后,服务器软件启动并显示配置信息 - 但是,直到我输入游戏服务器才会运行/start
。
我无法使用nohup
,因为启动服务器的过程首先需要使用 mono 运行它,然后与它交互以发出“ /start
”命令。有趣的是,我也无法让该过程在后台运行(这对于 Mono 来说正常吗?)。
有没有什么方法可以运行它,以防止当我断开 SSH 会话时游戏服务器关闭?
概括:
- 服务器软件(已删除死链接)是第三方多人服务器(mod的一部分)坎巴拉太空计划。
- Linux 服务器正在运行 Arch Linux x86_64。
- 安装的Mono版本是3.2.3
答案1
听起来你应该能够使用屏幕会话。如果你不熟悉屏幕工具,请查看手册页或访问Screen 命令示例:获取 Linux / Unix 终端的控制权。
首先,使用 安装pacman -S screen
。然后使用 启动一个新会话screen mono KMPServer.exe
,执行所有需要执行的操作,然后使用Ctrl+ A+分离会话D。如果需要再次附加会话,请使用screen -x
。