Копії та оновлення
Копії світу
Створити копію зараз робить її негайно. На час роботи сервер перестає зберігати світ автоматично, щоб до архіву потрапив цілий світ, а не половина одного й половина іншого.
Копії можна робити й за розкладом — раз на стільки-то хвилин, зберігати стільки-то штук — це налаштовується на вкладці Встановлення та запуск.
Відновити вибрану повертає копію на місце. Той світ, який зараз, не видаляється: він перейменовується на world_before_restore і дату. Якщо копія виявиться не тією, нічого не втрачено.
Зміна ядра
Оновити ядро сервера ставить вибрану версію, світ лишається на місці.
Створити сервер заново — те саме встановлення, але світ починається з нуля. Старий теж не видаляється: він перейменовується на world_before і дату, разом із пеклом і краєм.
Порядок кроків вибрано так, щоб невдача була нешкідливою. Файл завантажується на сам сервер, повз ваш домашній інтернет, і перевіряється за контрольною сумою. І тільки потім сервер зупиняється. Старе ядро перейменовується на своє ж ім’я з датою та .bak — повернутися можна одним рухом.
Стан служби перечитується просто перед підміною, а не береться з екрана: інакше файл можна замінити під працюючим сервером і відзвітувати про успіх, поки він крутить старий код. Сервер, який був зупинений, таким і лишиться. Якщо він не підніметься, програма так і скаже й назве файл, до якого відкочуватися.
Версія читається із самого ядра, з version.json усередині jar. Це єдина відповідь, яка не застаріває: журнал опівночі ротується і стартовий рядок втрачає, позначка від минулого встановлення бреше, якщо файл підмінили руками, — а файл завжди той, що запуститься.
Які ядра оновлюються
Mojang, Paper і Fabric. Усі троє викладають готовий файл за прямим посиланням, його можна завантажити й підмінити. У Fabric це не встановлювач, а невелика програма запуску сервера, яка дотягує решту при першому запуску; моди в теці при зміні версії завантажувача не чіпаються.
Forge — ні, і причину варто знати. Від версії 1.17 сервер Forge запускається не jar-ом, а списком аргументів, шлях до якого містить версію Forge. Оновлення змінює сам командний рядок у файлі служби, а він належить root. Річ не в складнощах з тимчасовими файлами, а в тому, що після оновлення сервер треба запускати інакше.
Сама панель
Програма сама дивиться, чи не вийшла нова версія, і показує смужку, коли вийшла, разом із тим, що в ній нового. Оновити ставить і перезапускає, Пізніше лишає все як є до наступного разу.