Трудность заключается не в самой передаче команд, а в обработке нештатных ситуаций. Важно знать результат выполнения команды и верно обработать хотя бы наиболее вероятные варианты.
Наличие запущенного процесса сервера Майнкрафта или существование сессии screen проверить не сложно. Но как понять, что сервер принял команду и верно выполнил её, а например, не повис или не сообщил об ошибке? Как это обычно решается на игровых серверах?