跳到主要内容
← 指南列表

在 Windows 服务器上自动运行程序

以下是让游戏服务器或机器人在 Windows 服务器上持续运行的方法。整理了关闭远程桌面窗口时的注意事项、停止后自动重新启动,以及服务器重启后自动运行等内容。

须先了解:“断开连接”和“注销”是不同的

  • 用 X 按钮关闭 远程桌面窗口时,只会断开连接,服务器中的程序会继续运行。
  • 如果在服务器中点击 开始 → 注销,您运行的程序会全部停止。

想让程序保持运行并退出时,请用窗口的 X 按钮关闭。

1. 停止后自动重新启动

创建 .bat 文件,让程序因错误停止后也能重新运行。在记事本中写入以下内容,将保存类型改为“所有文件”,保存为 start.bat。

@echo off
cd /d C:\myserver
:loop
java -Xmx4G -jar server.jar nogui
echo Server stopped. Restarting in 10 seconds...
timeout /t 10
goto loop
  • 请将 C:\myserver 改为程序所在的文件夹,将 java ... 这一行改为实际的运行命令。(例如:如果是 Node.js 机器人,则为 node index.js)
  • 如果要彻底关闭,请关闭窗口,或按 Ctrl + C 后输入 Y。

2. 服务器重启后自动启动

服务器因 Windows 更新等原因重启后,如果没有人登录,程序不会重新启动。注册到任务计划程序后,服务器开机时就会自动运行。

  1. 从“开始”菜单打开 任务计划程序。
  2. 点击右侧的 创建任务。
  3. 常规 标签页
    • 名称:容易识别的名称(例如:我的服务器)
    • 选择 不管用户是否登录都要运行
    • 勾选 使用最高权限运行
  4. 触发器 标签页 → 新建 → 开始任务:启动时 → 确定
  5. 操作 标签页 → 新建
    • 程序或脚本:上面创建的 C:\myserver\start.bat
    • 起始于:C:\myserver(请务必填写。如果留空,程序经常会找不到文件)
  6. 在 设置 标签页中,取消勾选 任务运行超过一定时间就停止的选项(默认值 3 天)。如果保持勾选,程序会在 3 天后停止。
  7. 点击确定,并输入服务器账户的密码。

用这种方式运行的程序不会在屏幕上显示窗口,而是在后台运行。可以在任务管理器的 详细信息 标签页中查找 java.exe、node.exe 等,确认是否正在运行。如果要停止,请在任务计划程序中选择该任务并点击 结束。

如果想一边看窗口一边使用

如果是需要直接看着控制台窗口输入命令的程序,请将其注册为登录时运行。

  1. Win + R → 输入 shell:startup → 确定
  2. 将 start.bat 的快捷方式放入打开的文件夹中。(用鼠标右键拖放文件,然后选择“创建快捷方式”)

这种方式需要通过远程桌面登录后才会运行。如果服务器已重启,请连接一次。

参考

如果问题仍未解决,请在 Discord 提交工单。