Установка и настройка Minecraft сервера Vanilla: различия между версиями
Admin (обсуждение | вклад) Нет описания правки |
Починка разметки: ссылки и жирный шрифт из Markdown, лишние обратные косые черты в коде, заголовки — проверка вики 13.11.2026 |
||
| Строка 97: | Строка 97: | ||
2. Настройте основные параметры: | 2. Настройте основные параметры: | ||
<pre> | <pre># Основные настройки | ||
server-name=Minecraft Server | server-name=Minecraft Server | ||
motd=Добро пожаловать на наш сервер! | motd=Добро пожаловать на наш сервер! | ||
| Строка 104: | Строка 104: | ||
white-list=false | white-list=false | ||
# Настройки мира | |||
level-name=world | level-name=world | ||
level-type=minecraft\:normal | level-type=minecraft\:normal | ||
| Строка 110: | Строка 110: | ||
generate-structures=true | generate-structures=true | ||
# Настройки игроков | |||
max-players=20 | max-players=20 | ||
view-distance=10 | view-distance=10 | ||
simulation-distance=10 | simulation-distance=10 | ||
# Настройки производительности | |||
difficulty=normal | difficulty=normal | ||
hardcore=false | hardcore=false | ||
| Строка 122: | Строка 122: | ||
allow-flight=false | allow-flight=false | ||
# Настройки чата | |||
enable-command-block=false | enable-command-block=false | ||
enable-jmx-monitoring=false | enable-jmx-monitoring=false | ||
| Строка 128: | Строка 128: | ||
enable-rcon=false | enable-rcon=false | ||
# Настройки сети | |||
network-compression-threshold=256 | network-compression-threshold=256 | ||
max-tick-time=60000 | max-tick-time=60000 | ||
| Строка 174: | Строка 174: | ||
2. Добавьте содержимое: | 2. Добавьте содержимое: | ||
<pre> | <pre>#!/bin/bash | ||
# Настройки сервера | |||
SERVER_DIR="/opt/minecraft" | SERVER_DIR="/opt/minecraft" | ||
JAR_FILE="minecraft_server.jar" | JAR_FILE="minecraft_server.jar" | ||
| Строка 183: | Строка 183: | ||
SCREEN_NAME="minecraft" | SCREEN_NAME="minecraft" | ||
# Переход в директорию сервера | |||
cd $SERVER_DIR | cd $SERVER_DIR | ||
# Проверка запущенного сервера | |||
if screen -list | grep -q "$SCREEN_NAME"; then | if screen -list | grep -q "$SCREEN_NAME"; then | ||
echo "Сервер уже запущен!" | echo "Сервер уже запущен!" | ||
| Строка 192: | Строка 192: | ||
fi | fi | ||
# Запуск сервера | |||
echo "Запуск Minecraft сервера..." | echo "Запуск Minecraft сервера..." | ||
screen -dmS $SCREEN_NAME java -Xms$MIN_RAM -Xmx$MAX_RAM -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar $JAR_FILE nogui | screen -dmS $SCREEN_NAME java -Xms$MIN_RAM -Xmx$MAX_RAM -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar $JAR_FILE nogui | ||
| Строка 209: | Строка 209: | ||
2. Добавьте содержимое: | 2. Добавьте содержимое: | ||
<pre> | <pre>#!/bin/bash | ||
SCREEN_NAME="minecraft" | SCREEN_NAME="minecraft" | ||
# Проверка запущенного сервера | |||
if ! screen -list | grep -q "$SCREEN_NAME"; then | if ! screen -list | grep -q "$SCREEN_NAME"; then | ||
echo "Сервер не запущен!" | echo "Сервер не запущен!" | ||
| Строка 221: | Строка 221: | ||
echo "Остановка Minecraft сервера..." | echo "Остановка Minecraft сервера..." | ||
# Отправка команды остановки | |||
screen -S $SCREEN_NAME -X stuff "stop$(printf \\r)" | screen -S $SCREEN_NAME -X stuff "stop$(printf \\r)" | ||
# Ожидание остановки | |||
sleep 10 | sleep 10 | ||
# Принудительная остановка если нужно | |||
if screen -list | grep -q "$SCREEN_NAME"; then | if screen -list | grep -q "$SCREEN_NAME"; then | ||
echo "Принудительная остановка сервера..." | echo "Принудительная остановка сервера..." | ||
| Строка 314: | Строка 314: | ||
2. Добавьте содержимое: | 2. Добавьте содержимое: | ||
<pre> | <pre>#!/bin/bash | ||
# Проверка статуса сервера | |||
if ! systemctl is-active --quiet minecraft; then | if ! systemctl is-active --quiet minecraft; then | ||
echo "Minecraft сервер не запущен!" | mail -s "Minecraft Alert" admin@example.com | echo "Minecraft сервер не запущен!" | mail -s "Minecraft Alert" admin@example.com | ||
fi | fi | ||
# Проверка использования памяти | |||
MEMORY_USAGE=$(ps aux | grep minecraft_server.jar | grep -v grep | awk '{print $4}') | MEMORY_USAGE=$(ps aux | grep minecraft_server.jar | grep -v grep | awk '{print $4}') | ||
if [ ! -z "$MEMORY_USAGE" ] && [ $(echo "$MEMORY_USAGE > 80" | bc) -eq 1 ]; then | if [ ! -z "$MEMORY_USAGE" ] && [ $(echo "$MEMORY_USAGE > 80" | bc) -eq 1 ]; then | ||
| Строка 327: | Строка 327: | ||
fi | fi | ||
# Проверка доступности порта | |||
if ! nc -z localhost 25565; then | if ! nc -z localhost 25565; then | ||
echo "Minecraft сервер не отвечает на порту 25565!" | mail -s "Minecraft Alert" admin@example.com | echo "Minecraft сервер не отвечает на порту 25565!" | mail -s "Minecraft Alert" admin@example.com | ||
fi | fi | ||
# Проверка использования диска | |||
DISK_USAGE=$(df /opt/minecraft | tail -1 | awk '{print $5}' | sed 's/%//') | DISK_USAGE=$(df /opt/minecraft | tail -1 | awk '{print $5}' | sed 's/%//') | ||
if [ $DISK_USAGE -gt 80 ]; then | if [ $DISK_USAGE -gt 80 ]; then | ||
| Строка 356: | Строка 356: | ||
2. Добавьте содержимое: | 2. Добавьте содержимое: | ||
<pre> | <pre>#!/bin/bash | ||
BACKUP_DIR="/backup/minecraft" | BACKUP_DIR="/backup/minecraft" | ||
| Строка 362: | Строка 362: | ||
SERVER_DIR="/opt/minecraft" | SERVER_DIR="/opt/minecraft" | ||
# Создание директории для бэкапа | |||
mkdir -p $BACKUP_DIR | mkdir -p $BACKUP_DIR | ||
# Остановка сервера для бэкапа | |||
systemctl stop minecraft | systemctl stop minecraft | ||
# Создание архива | |||
tar -czf $BACKUP_DIR/minecraft-backup-$DATE.tar.gz -C $SERVER_DIR . | tar -czf $BACKUP_DIR/minecraft-backup-$DATE.tar.gz -C $SERVER_DIR . | ||
# Запуск сервера | |||
systemctl start minecraft | systemctl start minecraft | ||
# Удаление старых бэкапов (старше 7 дней) | |||
find $BACKUP_DIR -name "minecraft-backup-*" -mtime +7 -delete | find $BACKUP_DIR -name "minecraft-backup-*" -mtime +7 -delete | ||
| Строка 431: | Строка 431: | ||
Minecraft сервер (Vanilla) успешно установлен и настроен! Теперь у вас есть полнофункциональный сервер с возможностями мониторинга, резервного копирования и автоматического управления. | Minecraft сервер (Vanilla) успешно установлен и настроен! Теперь у вас есть полнофункциональный сервер с возможностями мониторинга, резервного копирования и автоматического управления. | ||
'''Для размещения ваших Minecraft серверов на надежном хостинге рекомендуем воспользоваться услугами [ | '''Для размещения ваших Minecraft серверов на надежном хостинге рекомендуем воспользоваться услугами [https://ark-hoster.ru ARK-HOSTER.RU]:''' | ||
* '''[ | * '''[https://ark-hoster.ru/dedicated/ Выделенные серверы]''' - для высоконагруженных Minecraft серверов | ||
* '''[ | * '''[https://ark-hoster.ru/vpsgame/ VPS/VDS серверы]''' - для небольших и средних серверов | ||
Наши специалисты помогут с настройкой Minecraft серверов и оптимизацией производительности! | Наши специалисты помогут с настройкой Minecraft серверов и оптимизацией производительности! | ||
Текущая версия от 08:12, 14 ноября 2026
Установка и настройка Minecraft сервера (Vanilla)
1. Подготовка системы
- Войдите в систему под учетной записью с правами root или пользователя с правами sudo.
- Убедитесь, что у вас есть доступ к серверу через SSH или консоль.
- Рекомендуется использовать Ubuntu 24.04 LTS для стабильной работы.
2. Установка Java
Обновление системы
1. Обновите систему:
sudo apt update
sudo apt upgrade -y
2. Установите необходимые пакеты:
sudo apt install -y wget curl unzip screen htop
Установка OpenJDK
1. Установите OpenJDK 21 (рекомендуется для Minecraft 1.20+):
sudo apt install -y openjdk-21-jdk
2. Проверьте версию Java:
java --version
3. Установите альтернативную версию Java (если нужно):
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-21-openjdk-amd64/bin/java 1
Настройка переменных окружения
1. Настройте JAVA_HOME:
echo 'export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64' >> ~/.bashrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
2. Примените изменения:
source ~/.bashrc
3. Проверьте настройки:
echo $JAVA_HOME
3. Создание пользователя для Minecraft
Создание пользователя
1. Создайте пользователя minecraft:
sudo useradd -m -s /bin/bash minecraft
2. Установите пароль:
sudo passwd minecraft
3. Добавьте пользователя в группу sudo (опционально):
sudo usermod -aG sudo minecraft
Настройка директорий
1. Создайте директорию для сервера:
sudo mkdir -p /opt/minecraft
2. Установите права доступа:
sudo chown -R minecraft:minecraft /opt/minecraft
3. Переключитесь на пользователя minecraft:
sudo su - minecraft
4. Скачивание и установка сервера
Скачивание сервера
1. Перейдите в директорию сервера:
cd /opt/minecraft
2. Скачайте последнюю версию сервера:
wget https://launcher.mojang.com/v1/objects/8c3115e0ed1dfd6aeb6fecdd61636aa7184c6170/server.jar
3. Переименуйте файл:
mv server.jar minecraft_server.jar
Первый запуск
1. Запустите сервер в первый раз:
java -Xmx2G -Xms2G -jar minecraft_server.jar nogui
2. Примите лицензионное соглашение:
echo "eula=true" > eula.txt
3. Остановите сервер:
pkill java
5. Настройка конфигурации сервера
Базовая конфигурация
1. Отредактируйте server.properties:
nano server.properties
2. Настройте основные параметры:
# Основные настройки server-name=Minecraft Server motd=Добро пожаловать на наш сервер! server-port=25565 online-mode=true white-list=false # Настройки мира level-name=world level-type=minecraft\:normal level-seed= generate-structures=true # Настройки игроков max-players=20 view-distance=10 simulation-distance=10 # Настройки производительности difficulty=normal hardcore=false pvp=true allow-nether=true allow-flight=false # Настройки чата enable-command-block=false enable-jmx-monitoring=false enable-query=false enable-rcon=false # Настройки сети network-compression-threshold=256 max-tick-time=60000
Настройка операторов
1. Создайте файл ops.json:
nano ops.json
2. Добавьте операторов:
[
{
"uuid": "00000000-0000-0000-0000-000000000000",
"name": "admin",
"level": 4,
"bypassesPlayerLimit": false
}
]
Настройка белого списка
1. Включите белый список:
echo "white-list=true" >> server.properties
2. Добавьте игроков в белый список:
nano whitelist.json
3. Добавьте игроков:
[
{
"uuid": "00000000-0000-0000-0000-000000000000",
"name": "player1"
}
]
6. Создание скрипта запуска
Создание скрипта
1. Создайте скрипт запуска:
nano start.sh
2. Добавьте содержимое:
#!/bin/bash
# Настройки сервера
SERVER_DIR="/opt/minecraft"
JAR_FILE="minecraft_server.jar"
MIN_RAM="2G"
MAX_RAM="4G"
SCREEN_NAME="minecraft"
# Переход в директорию сервера
cd $SERVER_DIR
# Проверка запущенного сервера
if screen -list | grep -q "$SCREEN_NAME"; then
echo "Сервер уже запущен!"
exit 1
fi
# Запуск сервера
echo "Запуск Minecraft сервера..."
screen -dmS $SCREEN_NAME java -Xms$MIN_RAM -Xmx$MAX_RAM -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar $JAR_FILE nogui
echo "Сервер запущен в screen сессии: $SCREEN_NAME"
echo "Для подключения к консоли используйте: screen -r $SCREEN_NAME"
3. Сделайте скрипт исполняемым:
chmod +x start.sh
Создание скрипта остановки
1. Создайте скрипт остановки:
nano stop.sh
2. Добавьте содержимое:
#!/bin/bash
SCREEN_NAME="minecraft"
# Проверка запущенного сервера
if ! screen -list | grep -q "$SCREEN_NAME"; then
echo "Сервер не запущен!"
exit 1
fi
echo "Остановка Minecraft сервера..."
# Отправка команды остановки
screen -S $SCREEN_NAME -X stuff "stop$(printf \\r)"
# Ожидание остановки
sleep 10
# Принудительная остановка если нужно
if screen -list | grep -q "$SCREEN_NAME"; then
echo "Принудительная остановка сервера..."
screen -S $SCREEN_NAME -X quit
fi
echo "Сервер остановлен"
3. Сделайте скрипт исполняемым:
chmod +x stop.sh
7. Настройка systemd сервиса
Создание сервиса
1. Выйдите из пользователя minecraft:
exit
2. Создайте systemd сервис:
sudo nano /etc/systemd/system/minecraft.service
3. Добавьте конфигурацию:
[Unit] Description=Minecraft Server After=network.target [Service] Type=simple User=minecraft Group=minecraft WorkingDirectory=/opt/minecraft ExecStart=/usr/bin/java -Xms2G -Xmx4G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar minecraft_server.jar nogui ExecStop=/bin/kill -15 $MAINPID Restart=always RestartSec=10 [Install] WantedBy=multi-user.target
Запуск сервиса
1. Перезагрузите systemd:
sudo systemctl daemon-reload
2. Включите автозапуск:
sudo systemctl enable minecraft
3. Запустите сервис:
sudo systemctl start minecraft
4. Проверьте статус:
sudo systemctl status minecraft
8. Настройка файрвола
Настройка UFW
1. Установите UFW:
sudo apt install -y ufw
2. Настройте правила:
sudo ufw allow 22/tcp
sudo ufw allow 25565/tcp
sudo ufw enable
3. Проверьте статус:
sudo ufw status
Настройка iptables
1. Настройте iptables:
sudo iptables -A INPUT -p tcp --dport 25565 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
2. Сохраните правила:
sudo iptables-save > /etc/iptables/rules.v4
9. Настройка мониторинга
Создание скрипта мониторинга
1. Создайте скрипт мониторинга:
sudo nano /usr/local/bin/minecraft-monitor.sh
2. Добавьте содержимое:
#!/bin/bash
# Проверка статуса сервера
if ! systemctl is-active --quiet minecraft; then
echo "Minecraft сервер не запущен!" | mail -s "Minecraft Alert" admin@example.com
fi
# Проверка использования памяти
MEMORY_USAGE=$(ps aux | grep minecraft_server.jar | grep -v grep | awk '{print $4}')
if [ ! -z "$MEMORY_USAGE" ] && [ $(echo "$MEMORY_USAGE > 80" | bc) -eq 1 ]; then
echo "Высокое использование памяти: ${MEMORY_USAGE}%" | mail -s "Minecraft Alert" admin@example.com
fi
# Проверка доступности порта
if ! nc -z localhost 25565; then
echo "Minecraft сервер не отвечает на порту 25565!" | mail -s "Minecraft Alert" admin@example.com
fi
# Проверка использования диска
DISK_USAGE=$(df /opt/minecraft | tail -1 | awk '{print $5}' | sed 's/%//')
if [ $DISK_USAGE -gt 80 ]; then
echo "Высокое использование диска: ${DISK_USAGE}%" | mail -s "Minecraft Alert" admin@example.com
fi
3. Сделайте скрипт исполняемым:
sudo chmod +x /usr/local/bin/minecraft-monitor.sh
4. Добавьте в crontab:
sudo crontab -e
5. Добавьте задачу:
*/5 * * * * /usr/local/bin/minecraft-monitor.sh
10. Резервное копирование
Создание скрипта резервного копирования
1. Создайте скрипт резервного копирования:
sudo nano /usr/local/bin/minecraft-backup.sh
2. Добавьте содержимое:
#!/bin/bash BACKUP_DIR="/backup/minecraft" DATE=$(date +%Y%m%d_%H%M%S) SERVER_DIR="/opt/minecraft" # Создание директории для бэкапа mkdir -p $BACKUP_DIR # Остановка сервера для бэкапа systemctl stop minecraft # Создание архива tar -czf $BACKUP_DIR/minecraft-backup-$DATE.tar.gz -C $SERVER_DIR . # Запуск сервера systemctl start minecraft # Удаление старых бэкапов (старше 7 дней) find $BACKUP_DIR -name "minecraft-backup-*" -mtime +7 -delete echo "Minecraft backup completed: $DATE"
3. Сделайте скрипт исполняемым:
sudo chmod +x /usr/local/bin/minecraft-backup.sh
4. Добавьте в crontab:
sudo crontab -e
5. Добавьте задачу:
0 3 * * * /usr/local/bin/minecraft-backup.sh
11. Устранение неполадок
Частые проблемы
1. Сервер не запускается:
- Проверьте статус:
sudo systemctl status minecraft
- Проверьте логи:
sudo journalctl -u minecraft
- Проверьте права доступа к файлам
2. Проблемы с производительностью:
- Увеличьте выделенную память
- Оптимизируйте JVM параметры
- Проверьте использование ресурсов
3. Проблемы с подключением:
- Проверьте файрвол
- Проверьте настройки портов
- Проверьте сетевую связность
Диагностика
1. Проверка статуса сервера:
sudo systemctl status minecraft
2. Проверка логов:
sudo journalctl -u minecraft -f
3. Проверка портов:
sudo netstat -tlnp | grep :25565
4. Проверка использования ресурсов:
htop
free -h
df -h
5. Тестирование подключения:
telnet localhost 25565
Заключение
Minecraft сервер (Vanilla) успешно установлен и настроен! Теперь у вас есть полнофункциональный сервер с возможностями мониторинга, резервного копирования и автоматического управления.
Для размещения ваших Minecraft серверов на надежном хостинге рекомендуем воспользоваться услугами ARK-HOSTER.RU:
- Выделенные серверы - для высоконагруженных Minecraft серверов
- VPS/VDS серверы - для небольших и средних серверов
Наши специалисты помогут с настройкой Minecraft серверов и оптимизацией производительности!