- Баллы
- 173
- Имя в Minecraft
- InterVi
Защита от падения
Задача системы в том, чтобы предотвратить падение сервера в случае если VPS или VDS вдруг перезагрузится, вывалится сам сервер или кто-то из админов напишет /stop
Первый шаг - это использование цикла при запуске севрера
sleep 10 - это таймаут перезапуска, если сервер действительно нужно остановить, то за это время можно успеть нажать CTRL+C и оборвать выполнение цикла/сессии screen
Второй шаг - скрипт автозапуска, на случай перезагрузки самого VPS/VDS
1. Идем в /usr/sbin/ и создаем там текстовый файл с уникальным именем, записав в него это:
Знаю, что многие сидят под виндами, поэтому вот как можно сделать все через консоль:
nano /usr/sbin/minestart #копируем содержимое, CTRL+O, CTRL+X
chmod +x /usr/sbin/minestart
2. Прописываем скрипт в автозагрузку:
открываем /etc/rc.local и перед exit 0 вставлям путь до скрипта, в нашем случае /usr/sbin/minestart
nano /etc/rc.local
Подробнее об автозапуске здесь.
Немного о PEX
Это тоже важно, если продаются/раздаются админки. Вот ударит кому-нибудь моча в голову и он удалит полмира, что тогда?
Нужно не поленится прописать все ручками, вот мой пример:
Немного о WorldEdit
Совсем его запретить не очень хорошо, но волшебный топорик надо органичить. Для этого заходим в папку плагина и правим config.yml, вот так:
Немного об автосохранении
Это тоже очень важно. Если сервер вывалится, будет полный вайп. Поэтому он должен регулярно выгружать изменения из оперативной памяти в файлы карты на жестком диске.
Так же важно делать бэкапы на случай поломки карты или плагинов, чтобы не приходилось делать вайп и терять игроков.
Я использую плагин AutoSaveWorld. Интервал автосохранения карты стоит 60 секунд, интервал автобэкапа - 86400 секунд (24 часа). А максимальное кол-во бэкапов - 20. Моих 20ГБ хватит и на 30-40, так что боятся не стоит.
часть config.yml
P. S.
Эту ценную информацию я не смог найти, поэтому придумал все сам. Особенно важна первая часть, подобных решений я вообще нигде не видел, а ведь это важно.
Поэтому хотелось бы видеть эту тему в важных, ну или хотя бы первый кусок где-нибудь в другой важной теме.
Если есть мысли - дополняйте. Только прошу не флудить, а то многие ценности как всегда потеряются в горе бессмыслицы и пользователи их не найдут.
Задача системы в том, чтобы предотвратить падение сервера в случае если VPS или VDS вдруг перезагрузится, вывалится сам сервер или кто-то из админов напишет /stop
Первый шаг - это использование цикла при запуске севрера
Код:
while : ; do sleep 10 && java -Xmx2000M -Xms2000M -jar /root/craftbukkit.jar nogui; done
Второй шаг - скрипт автозапуска, на случай перезагрузки самого VPS/VDS
1. Идем в /usr/sbin/ и создаем там текстовый файл с уникальным именем, записав в него это:
Код:
#!/bin/sh
screen bash -c 'while : ; do sleep 10 && java -Xmx2000M -Xms2000M -jar /root/craftbukkit.jar nogui; done'
Знаю, что многие сидят под виндами, поэтому вот как можно сделать все через консоль:
nano /usr/sbin/minestart #копируем содержимое, CTRL+O, CTRL+X
chmod +x /usr/sbin/minestart
2. Прописываем скрипт в автозагрузку:
открываем /etc/rc.local и перед exit 0 вставлям путь до скрипта, в нашем случае /usr/sbin/minestart
nano /etc/rc.local
Подробнее об автозапуске здесь.
Немного о PEX
Это тоже важно, если продаются/раздаются админки. Вот ударит кому-нибудь моча в голову и он удалит полмира, что тогда?
Нужно не поленится прописать все ручками, вот мой пример:
Код:
inheritance:
- User
- Moder
permissions:
- commandbook.*
- essentials.*
- worldedit.*
- iConimy.*
- ChestShop.*
- authme.admin.register
- anticheat.*
- clearlag.*
- mcjobs.*
- scavenger.*
- worldguard.stack
- worldguard.stack.illegitimate
- worldguard.stack.damaged
- worldguard.locate
- worldguard.fire-toggle.*
- worldguard.halt-activity
- worldguard.region.define
- worldguard.region.list
- worldguard.region.setpriority.own.*
- worldguard.region.teleport.*
- worldguard.region.setparent.own.*
- fly.*
Немного о WorldEdit
Совсем его запретить не очень хорошо, но волшебный топорик надо органичить. Для этого заходим в папку плагина и правим config.yml, вот так:
Код:
limits:
allow-extra-data-values: false
max-blocks-changed:
default: 30000
Admins: 30000
Moder: 30000
maximum: -1
Немного об автосохранении
Это тоже очень важно. Если сервер вывалится, будет полный вайп. Поэтому он должен регулярно выгружать изменения из оперативной памяти в файлы карты на жестком диске.
Так же важно делать бэкапы на случай поломки карты или плагинов, чтобы не приходилось делать вайп и терять игроков.
Я использую плагин AutoSaveWorld. Интервал автосохранения карты стоит 60 секунд, интервал автобэкапа - 86400 секунд (24 часа). А максимальное кол-во бэкапов - 20. Моих 20ГБ хватит и на 30-40, так что боятся не стоит.
часть config.yml
Код:
backup:
enabled: true
interval: 86400
MaxNumberOfBackups: 20
broadcast: true
toextfolders: false
disableintfolder: true
pluginsfolder: true
zip: false
slowbackup: true
worlds:
- '*'
warn: false
warntime:
- 0
P. S.
Эту ценную информацию я не смог найти, поэтому придумал все сам. Особенно важна первая часть, подобных решений я вообще нигде не видел, а ведь это важно.
Поэтому хотелось бы видеть эту тему в важных, ну или хотя бы первый кусок где-нибудь в другой важной теме.
Если есть мысли - дополняйте. Только прошу не флудить, а то многие ценности как всегда потеряются в горе бессмыслицы и пользователи их не найдут.
