UNRAID 서버에서 마인 크래프트 서버를 실행하려고합니다.
서버는 셸에서 실행 된 다음 입력 대기 상태로 앉아 있습니다. 중지하려면 'stop'을 입력하고 Enter 키를 누른 다음 세상을 구하고 정상적으로 종료하면 껍질로 돌아갑니다. Telneting을 통해 NAS 상자에 실행하면 모두 작동하지만 상자에서 직접 실행하고 싶습니다.
이것이 내가 처음 시도한 것입니다.
#define USER_SCRIPT_LABEL Start Minecraft server
#define USER_SCRIPT_DESCR Start minecraft server. needs sde2 mounted first
cd /mnt/disk/sde2/MCunraid
screen -d -m -S minecraft /usr/lib/java/bin/java -Xincgc -Xmx1024M -jar CraftBukkit.jar
MCunraid는 Craftbukkit.jar과 모든 월드 파일 등이있는 폴더입니다. 해당 화면을 직접 입력하면 화면이 분리되어 서버가 시작됩니다. 스크립트 내에서 해당 줄을 실행하면 화면을 설정하지 않는 것 같습니다.
서버를 중지하려면 STOP에 'type'을 입력 한 다음 Enter 키를 눌러야합니다. 내 접근 방식은
screen -S minecraft -X stuff "stop $(echo -ne '\r')"
'마인 크래프트'화면에 텍스트 중지 및 캐리지 리턴을 보냅니다. 그러나 명령 줄에 직접 입력해도 작동하지 않습니다. 그러나 'screen -r'이면 서버가 실행중인 상태에서 화면에 도달 한 다음 'stop'을 입력하면 제대로 종료됩니다.
텔넷으로 연결하고 수동으로 수행하면 서버가 제대로 실행됩니다. 원격 컴퓨터에 연결하지 않고 서버를 실행하면됩니다.
#!/bin/bash
및 set -x
스크립트의 상단에, 우리에게 스크립트의 추적 출력을 보여줍니다. 출력이 어디로 가는지 알아 보려면 unMENU 설명서를 참조해야 할 수도 있습니다.
screen
시작하지 못했다 는 것을 어떻게 알 수 있습니까? 추가 시도set -x
(바로 후 스크립트의 상단#!
선)과 스크립트를 실행할 때 추적 결과를보고한다.