Я намагаюся запустити сервер minecraft на своєму сервері unRAID.
Сервер буде працювати в оболонці, а потім сидіти там і чекати введення. Щоб зупинити це, мені потрібно набрати "стоп" і натиснути клавішу Enter, і тоді це врятує світ і витончено вийде, і я знову в оболонці. Це все працює, якщо я запускаю його через telnetting у вікно 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 і натиснути клавішу Enter. Мій підхід був
screen -S minecraft -X stuff "stop $(echo -ne '\r')"
щоб надіслати на екран "minecraft" зупинку тексту та повернення вагона. Але це не працює, навіть якщо я набираю його безпосередньо в командному рядку. Але якщо я 'screen -r' я можу потрапити на екран із запущеним сервером, тоді введіть 'stop' і він справно закриється.
Сервер працює добре, якщо я ввожу телнет і роблю це вручну, просто потрібно запустити його, не підключаючись до віддаленого комп'ютера.
#!/bin/bash
і set -x
у верхній частині сценарію, і показати нам висновок трасування з сценарію. Можливо, вам доведеться переглянути документацію unMENU, щоб дізнатися, куди йде цей вихід.
screen
не вдалося почати? Спробуйте додатиset -x
вгорі сценарію (відразу після#!
рядка) та повідомте про вихід трасування під час запуску сценарію.