본문으로 건너뛰기
← 가이드 목록

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의 바로 가기를 넣습니다. (파일을 마우스 오른쪽 버튼으로 끌어다 놓고 "바로 가기 만들기")

이 방식은 원격 데스크톱으로 로그인해야 실행됩니다. 서버가 재부팅됐다면 한 번 접속해주세요.

참고

해결되지 않는 문제가 있다면 고객센터로 문의해주세요.