Решено Как запускать несколько серверов одновременно?

KillMePls

Активный участник
Пользователь
Баллы
61
Имя в Minecraft
Sebsish
Может я конечно чего-то не знаю или не понимаю, но...
Как-то же Майнплекс и Хайпуксел должны запускать сервера в случае чего.(Не в ручную же?)

Вообщем есть три сервера: Bungee, lobby, и survival.
Операционка CentOs 7 если это важно.
Сейчас чтобы запустить каждый сервер я прописываю в консоль команды:
Screen -S bungee
cd Server/
cd Bungee/
./start.sh
Вроде команд не много, но это нужно прописывать для каждого сервера. Сейчас серверов три, а если их будет 10? Да и занимает это все довольно много времени..

Можно ли сделать, чтобы все сервера запускались в своем скрине одновременно(Ну или последовательно) , с помощью .sh скрипта или чего либо другого?
Пытался что-то наколдовать сам со скриптом, но безуспешно(Не особый знаток)

P.s. Если я тупой, плиз не бейте палками)
 
Мой starter.sh
Код:
screen -d -m -S auth bash -c 'cd /home/server/auth && java -Dfile.encoding=utf-8 -Xincgc -Xms512M -Xmx512M -jar core.jar';
screen -d -m -S bungee bash -c 'cd /home/server/bungee && java -Dfile.encoding=utf-8 -Xincgc -Xms512M -Xmx1G -jar core.jar';
screen -d -m -S lobby bash -c 'cd /home/server/lobby && java -Dfile.encoding=utf-8 -Xincgc -Xms512M -Xmx1G -jar core.jar';

Для автозапуска после перезагрузки машины в файл /etc/rc.local (это в Debian, в CentOS вроде
/etc/rc.d/rc.local) добавляешь
Код:
sh /путь/к/файлу/starter.sh
 
Мой starter.sh
Код:
screen -d -m -S auth bash -c 'cd /home/server/auth && java -Dfile.encoding=utf-8 -Xincgc -Xms512M -Xmx512M -jar core.jar';
screen -d -m -S bungee bash -c 'cd /home/server/bungee && java -Dfile.encoding=utf-8 -Xincgc -Xms512M -Xmx1G -jar core.jar';
screen -d -m -S lobby bash -c 'cd /home/server/lobby && java -Dfile.encoding=utf-8 -Xincgc -Xms512M -Xmx1G -jar core.jar';

Для автозапуска после перезагрузки машины в файл /etc/rc.local (это в Debian, в CentOS вроде
/etc/rc.d/rc.local) добавляешь
Код:
sh /путь/к/файлу/starter.sh
Почему-то у меня это не работает. Пробовал всяко разно менять, но не помогает.
Если есть какой-либо текст после названия скрина(типа bash -c), то он не создается и сервер не запускается.
Если после названия ничего нету, то скрины создаются, но понятное дело пустые.
Никакой ошибки или чего-то еще нету.
 
Вроде разобрался...
У меня работает такая команда:
Код:
screen -d -m -S survival sh survival/start.sh &
(либо такая, разницы вроде нет)
Код:
screen -dmS survival sh survival/start.sh &
(Да я одним скриптом запускаю другой скрипт)
Походу screen воспринимает только одну команду после названия программы(sh, bash) и вроде даже кавычки не спасают. Скорее всего скрипт E_NeLsOn у него работает, а у меня нет потому, что ОС другая, либо версия screen другая.

Ну это так если кому понадобится. Сам я не уверен в своих словах.
 
Ну вроде самое адекватное решение будет написать простенький bash скрипт конкретно под твои задачи. Тебе же просто нужно запустить несколько серваков вместе с банджи? Возможность перезапуска нужна, например?
 
cd /home/bungee
screen -dmS bungee sh start.sh
echo "Сервер Auth-1 запущен"
sleep 3s

cd /home/filterauth
screen -dmS Auth2 sh start.sh
echo "Сервер filterauth запущен"
sleep 3s

cd /home/anarchy
screen -dmS Auth3 sh start.sh
echo "Сервер anarchy запущен"
sleep 3s
 
Назад
Верх