0

对不起,这个非常模棱两可的问题,我真的不知道如何措辞,但希望我能在这里给你更多的细节。

我正在开发一个项目,用户可以登录网站并预订服务器以在特定时间内运行游戏。时间到了,服务器停止运行,服务器上的玩家被踢出。网站部分不是问题,我在 PHP 中执行此操作,一切正常。它有一个日历系统来预订服务器,并且可以根据用户的需要生成配置文件。

我的问题是我应该使用什么在正确的时间使用这些配置文件在 linux 机器上运行特定的游戏服务器?我已经使用 bash 脚本和 cron 来完成这项工作,但它看起来很不优雅。它实际上使用 FTP 连接到网站,因此它可以下载所有必要的配置文件并将它们放在该游戏和时间的文件夹中。我想知道是否有更好的方法来做到这一点。也许用 C 写一个程序,但我不知道如何去做。

(我不是要求有人牵着我的手告诉我“在这里写这段代码”,只是一些解决这个问题的更好方法的想法)

非常感谢你们!

编辑:网络服务器是完全不同的机器。我理论上希望拥有一个以上的游戏服务器,每个游戏服务器都“连接”(目前是 FTP)到网络服务器,获取一个文件,说明它在特定时间必须做什么并下载任何相关文件然后断开连接。

4

2 回答 2

0

您需要一个分布式任务调度程序。有了它,您可以:

  1. 计划命令“X”在某个时间运行。
  2. 指定机器(或要求它从可用机器池中选择一台机器)

当用户选择游戏服务器和时间时,Web 服务器将通过命令行或 Web 服务向该调度程序发送请求。

你可以看看:http ://www.acelet.com/super/SuperWatchdog/index.html

编辑 :

另一种选择:http://jobscheduler.sourceforge.net/

于 2011-10-13T13:26:44.390 回答
0

我认为at比 cron 更适合运行一次性作业。

为了更好地下载文件等,您应该提供有关设置的更多详细信息(例如,网站和游戏服务器,它们是在同一台机器上吗?还是在同一网络上?等等等等。

于 2011-10-13T12:29:34.117 回答