Как возобновлять процесс при падении?
Можно с помощью systemd (имхо, самое верное). Можно внешний watchdog написать, можно по крону раз в минуту проверять есть ли процесс, и если его нет, то стартовать.
Гуглите "systemd minecraft", там прямо готовые конфиги есть, под ваши хотелки.
Используйте systemd!  Пишете простой файл-сервис, в котором определяете и пользователся, и каталог, еще можно и в cgroups все это загнать, и отдельный каталог сделать.
Создаете файл /lib/systemd/system/minecraft.service[Unit]
Description=Gunicorn Site
#Requires=gunicorn.socket
After=network.target

[Service]
User=www-data
Group=www-data
WorkingDirectory=/opt/gunicorn
ExecStart=/opt/venv/bin/gunicorn -w 4 --bind localhost:8000 wsgi:app
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
PrivateTmp=no

[Install]
WantedBy=multi-user.target
В ExecStart прописываете свое /usr/bin/java ....User и Group - пользователь и группа
Далееsystemctl start minecraft
systemctl enable minecraft
systemctl status minecraft
systemctl stop minecraft
systemctl disable minecraft
За чтением документации по systemd - сюда
https://www.freedesktop.org/software/systemd/man/s...
https://habrahabr.ru/post/275645/
https://habrahabr.ru/company/southbridge/blog/255845/