Как установить игровой сервер Minecraft на VDS — различия между версиями

Материал из ARK-HOSTER.RU | Документация хостинга
Перейти к: навигация, поиск
(Новая страница: «= Minecraft на VDS Linux = == 1. Подготовка системы == * Войдите в систему под учетной записью с права…»)
 
 
Строка 6: Строка 6:
 
* Убедитесь, что у вас есть доступ к серверу через SSH или консоль.
 
* Убедитесь, что у вас есть доступ к серверу через SSH или консоль.
  
== 2. Установка Java ===
+
== 2. Установка Java ==
  
 
=== Установка OpenJDK ===
 
=== Установка OpenJDK ===
  
 
1. Обновите систему:
 
1. Обновите систему:
<code>sudo apt update</code>
+
<pre>sudo apt update</pre>
  
 
2. Установите Java 17 (рекомендуется для Minecraft 1.18+):
 
2. Установите Java 17 (рекомендуется для Minecraft 1.18+):
<code>sudo apt install -y openjdk-17-jdk</code>
+
<pre>sudo apt install -y openjdk-17-jdk</pre>
  
 
3. Проверьте версию Java:
 
3. Проверьте версию Java:
<code>java -version</code>
+
<pre>java -version</pre>
  
 
=== Альтернативная установка Java ===
 
=== Альтернативная установка Java ===
  
 
1. Для старых версий Minecraft установите Java 8:
 
1. Для старых версий Minecraft установите Java 8:
<code>sudo apt install -y openjdk-8-jdk</code>
+
<pre>sudo apt install -y openjdk-8-jdk</pre>
  
 
2. Для новейших версий установите Java 21:
 
2. Для новейших версий установите Java 21:
<code>sudo apt install -y openjdk-21-jdk</code>
+
<pre>sudo apt install -y openjdk-21-jdk</pre>
  
 
3. Управление версиями Java:
 
3. Управление версиями Java:
<code>sudo update-alternatives --config java</code>
+
<pre>sudo update-alternatives --config java</pre>
  
== 3. Создание пользователя для Minecraft ===
+
== 3. Создание пользователя для Minecraft ==
  
 
=== Создание пользователя ===
 
=== Создание пользователя ===
  
 
1. Создайте пользователя для Minecraft:
 
1. Создайте пользователя для Minecraft:
<code>sudo useradd -m -s /bin/bash minecraft</code>
+
<pre>sudo useradd -m -s /bin/bash minecraft</pre>
  
 
2. Установите пароль:
 
2. Установите пароль:
<code>sudo passwd minecraft</code>
+
<pre>sudo passwd minecraft</pre>
  
 
3. Создайте директорию для сервера:
 
3. Создайте директорию для сервера:
<code>sudo mkdir -p /opt/minecraft</code>
+
<pre>sudo mkdir -p /opt/minecraft</pre>
<code>sudo chown minecraft:minecraft /opt/minecraft</code>
+
<pre>sudo chown minecraft:minecraft /opt/minecraft</pre>
  
 
4. Переключитесь на пользователя minecraft:
 
4. Переключитесь на пользователя minecraft:
<code>sudo su - minecraft</code>
+
<pre>sudo su - minecraft</pre>
  
== 4. Установка сервера Minecraft ===
+
== 4. Установка сервера Minecraft ==
  
 
=== Скачивание сервера ===
 
=== Скачивание сервера ===
  
 
1. Перейдите в директорию сервера:
 
1. Перейдите в директорию сервера:
<code>cd /opt/minecraft</code>
+
<pre>cd /opt/minecraft</pre>
  
 
2. Скачайте официальный сервер Minecraft:
 
2. Скачайте официальный сервер Minecraft:
<code>wget https://launcher.mojang.com/v1/objects/your-server-jar-file.jar</code>
+
<pre>wget https://launcher.mojang.com/v1/objects/your-server-jar-file.jar</pre>
  
 
3. Или скачайте Paper (оптимизированная версия):
 
3. Или скачайте Paper (оптимизированная версия):
<code>wget https://api.papermc.io/v2/projects/paper/versions/1.20.4/builds/507/downloads/paper-1.20.4-507.jar</code>
+
<pre>wget https://api.papermc.io/v2/projects/paper/versions/1.20.4/builds/507/downloads/paper-1.20.4-507.jar</pre>
  
 
4. Переименуйте файл:
 
4. Переименуйте файл:
<code>mv paper-1.20.4-507.jar server.jar</code>
+
<pre>mv paper-1.20.4-507.jar server.jar</pre>
  
 
=== Первый запуск ===
 
=== Первый запуск ===
  
 
1. Создайте скрипт запуска:
 
1. Создайте скрипт запуска:
<code>nano start.sh</code>
+
<pre>nano start.sh</pre>
  
 
2. Добавьте содержимое:
 
2. Добавьте содержимое:
<code>#!/bin/bash
+
<pre>\#!/bin/bash
java -Xmx2G -Xms1G -jar server.jar nogui</code>
+
java -Xmx2G -Xms1G -jar server.jar nogui</pre>
  
 
3. Сделайте скрипт исполняемым:
 
3. Сделайте скрипт исполняемым:
<code>chmod +x start.sh</code>
+
<pre>chmod +x start.sh</pre>
  
 
4. Запустите сервер в первый раз:
 
4. Запустите сервер в первый раз:
<code>./start.sh</code>
+
<pre>./start.sh</pre>
  
 
5. Примите лицензионное соглашение:
 
5. Примите лицензионное соглашение:
<code>echo "eula=true" > eula.txt</code>
+
<pre>echo "eula=true" > eula.txt</pre>
  
== 5. Настройка сервера ===
+
== 5. Настройка сервера ==
  
 
=== Базовая конфигурация ===
 
=== Базовая конфигурация ===
  
 
1. Отредактируйте server.properties:
 
1. Отредактируйте server.properties:
<code>nano server.properties</code>
+
<pre>nano server.properties</pre>
  
 
2. Настройте основные параметры:
 
2. Настройте основные параметры:
<code>server-name=My Minecraft Server
+
<pre>server-name=My Minecraft Server
 
server-port=25565
 
server-port=25565
 
max-players=20
 
max-players=20
Строка 97: Строка 97:
 
online-mode=true
 
online-mode=true
 
white-list=false
 
white-list=false
</code>
+
</pre>
  
 
=== Настройка производительности ===
 
=== Настройка производительности ===
  
 
1. Создайте оптимизированный скрипт запуска:
 
1. Создайте оптимизированный скрипт запуска:
<code>nano start-optimized.sh</code>
+
<pre>nano start-optimized.sh</pre>
  
 
2. Добавьте содержимое:
 
2. Добавьте содержимое:
<code>#!/bin/bash
+
<pre>\#!/bin/bash
 
java -Xmx4G -Xms2G \
 
java -Xmx4G -Xms2G \
 
     -XX:+UseG1GC \
 
     -XX:+UseG1GC \
Строка 128: Строка 128:
 
     -Daikars.new.flags=true \
 
     -Daikars.new.flags=true \
 
     -jar server.jar nogui
 
     -jar server.jar nogui
</code>
+
</pre>
  
 
3. Сделайте скрипт исполняемым:
 
3. Сделайте скрипт исполняемым:
<code>chmod +x start-optimized.sh</code>
+
<pre>chmod +x start-optimized.sh</pre>
  
== 6. Установка плагинов (Paper) ===
+
== 6. Установка плагинов (Paper) ==
  
 
=== Создание директории плагинов ===
 
=== Создание директории плагинов ===
  
 
1. Создайте директорию для плагинов:
 
1. Создайте директорию для плагинов:
<code>mkdir -p plugins</code>
+
<pre>mkdir -p plugins</pre>
  
 
2. Скачайте популярные плагины:
 
2. Скачайте популярные плагины:
<code>wget https://github.com/EssentialsX/Essentials/releases/latest/download/EssentialsX-2.20.1.jar -O plugins/EssentialsX.jar</code>
+
<pre>wget https://github.com/EssentialsX/Essentials/releases/latest/download/EssentialsX-2.20.1.jar -O plugins/EssentialsX.jar</pre>
<code>wget https://github.com/mcMMO-Dev/mcMMO/releases/latest/download/mcMMO.jar -O plugins/mcMMO.jar</code>
+
<pre>wget https://github.com/mcMMO-Dev/mcMMO/releases/latest/download/mcMMO.jar -O plugins/mcMMO.jar</pre>
  
 
3. Перезапустите сервер для загрузки плагинов:
 
3. Перезапустите сервер для загрузки плагинов:
<code>./start-optimized.sh</code>
+
<pre>./start-optimized.sh</pre>
  
 
=== Настройка EssentialsX ===
 
=== Настройка EssentialsX ===
  
 
1. Отредактируйте конфигурацию:
 
1. Отредактируйте конфигурацию:
<code>nano plugins/Essentials/config.yml</code>
+
<pre>nano plugins/Essentials/config.yml</pre>
  
 
2. Настройте основные параметры:
 
2. Настройте основные параметры:
<code>motd: "&6Добро пожаловать на сервер!"
+
<pre>motd: "&6Добро пожаловать на сервер!"
 
rules: "&cПравила сервера:"
 
rules: "&cПравила сервера:"
</code>
+
</pre>
  
== 7. Настройка systemd сервиса ===
+
== 7. Настройка systemd сервиса ==
  
 
=== Создание сервиса ===
 
=== Создание сервиса ===
  
 
1. Создайте systemd сервис:
 
1. Создайте systemd сервис:
<code>sudo nano /etc/systemd/system/minecraft.service</code>
+
<pre>sudo nano /etc/systemd/system/minecraft.service</pre>
  
 
2. Добавьте содержимое:
 
2. Добавьте содержимое:
<code>[Unit]
+
<pre>[Unit]
 
Description=Minecraft Server
 
Description=Minecraft Server
 
After=network.target
 
After=network.target
Строка 180: Строка 180:
 
[Install]
 
[Install]
 
WantedBy=multi-user.target
 
WantedBy=multi-user.target
</code>
+
</pre>
  
 
3. Перезагрузите systemd:
 
3. Перезагрузите systemd:
<code>sudo systemctl daemon-reload</code>
+
<pre>sudo systemctl daemon-reload</pre>
  
 
4. Включите и запустите сервис:
 
4. Включите и запустите сервис:
<code>sudo systemctl enable minecraft</code>
+
<pre>sudo systemctl enable minecraft</pre>
<code>sudo systemctl start minecraft</code>
+
<pre>sudo systemctl start minecraft</pre>
  
 
=== Управление сервисом ===
 
=== Управление сервисом ===
  
 
1. '''Запуск сервера''':
 
1. '''Запуск сервера''':
<code>sudo systemctl start minecraft</code>
+
<pre>sudo systemctl start minecraft</pre>
  
 
2. '''Остановка сервера''':
 
2. '''Остановка сервера''':
<code>sudo systemctl stop minecraft</code>
+
<pre>sudo systemctl stop minecraft</pre>
  
 
3. '''Перезапуск сервера''':
 
3. '''Перезапуск сервера''':
<code>sudo systemctl restart minecraft</code>
+
<pre>sudo systemctl restart minecraft</pre>
  
 
4. '''Проверка статуса''':
 
4. '''Проверка статуса''':
<code>sudo systemctl status minecraft</code>
+
<pre>sudo systemctl status minecraft</pre>
  
 
5. '''Просмотр логов''':
 
5. '''Просмотр логов''':
<code>sudo journalctl -u minecraft -f</code>
+
<pre>sudo journalctl -u minecraft -f</pre>
  
== 8. Настройка файрвола ===
+
== 8. Настройка файрвола ==
  
 
=== Настройка UFW ===
 
=== Настройка UFW ===
  
 
1. Разрешите порт Minecraft:
 
1. Разрешите порт Minecraft:
<code>sudo ufw allow 25565/tcp</code>
+
<pre>sudo ufw allow 25565/tcp</pre>
  
 
2. Проверьте статус:
 
2. Проверьте статус:
<code>sudo ufw status</code>
+
<pre>sudo ufw status</pre>
  
 
=== Настройка iptables ===
 
=== Настройка iptables ===
  
 
1. Разрешите порт через iptables:
 
1. Разрешите порт через iptables:
<code>sudo iptables -A INPUT -p tcp --dport 25565 -j ACCEPT</code>
+
<pre>sudo iptables -A INPUT -p tcp --dport 25565 -j ACCEPT</pre>
  
 
2. Сохраните правила:
 
2. Сохраните правила:
<code>sudo iptables-save > /etc/iptables/rules.v4</code>
+
<pre>sudo iptables-save > /etc/iptables/rules.v4</pre>
  
== 9. Резервное копирование ===
+
== 9. Резервное копирование ==
  
 
=== Создание скрипта бэкапа ===
 
=== Создание скрипта бэкапа ===
  
 
1. Создайте скрипт резервного копирования:
 
1. Создайте скрипт резервного копирования:
<code>sudo nano /usr/local/bin/minecraft-backup.sh</code>
+
<pre>sudo nano /usr/local/bin/minecraft-backup.sh</pre>
  
 
2. Добавьте содержимое:
 
2. Добавьте содержимое:
<code>#!/bin/bash
+
<pre>\#!/bin/bash
  
 
BACKUP_DIR="/backup/minecraft"
 
BACKUP_DIR="/backup/minecraft"
Строка 238: Строка 238:
 
DATE=$(date +%Y%m%d_%H%M%S)
 
DATE=$(date +%Y%m%d_%H%M%S)
  
# Остановка сервера
+
\# Остановка сервера
 
sudo systemctl stop minecraft
 
sudo 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 .
  
# Запуск сервера
+
\# Запуск сервера
 
sudo systemctl start minecraft
 
sudo systemctl start minecraft
  
# Удаление старых бэкапов (старше 7 дней)
+
\# Удаление старых бэкапов (старше 7 дней)
 
find $BACKUP_DIR -name "minecraft_backup_*.tar.gz" -mtime +7 -delete
 
find $BACKUP_DIR -name "minecraft_backup_*.tar.gz" -mtime +7 -delete
  
 
echo "Backup completed: minecraft_backup_$DATE.tar.gz"
 
echo "Backup completed: minecraft_backup_$DATE.tar.gz"
</code>
+
</pre>
  
 
3. Сделайте скрипт исполняемым:
 
3. Сделайте скрипт исполняемым:
<code>sudo chmod +x /usr/local/bin/minecraft-backup.sh</code>
+
<pre>sudo chmod +x /usr/local/bin/minecraft-backup.sh</pre>
  
 
4. Создайте директорию для бэкапов:
 
4. Создайте директорию для бэкапов:
<code>sudo mkdir -p /backup/minecraft</code>
+
<pre>sudo mkdir -p /backup/minecraft</pre>
  
 
=== Настройка автоматического бэкапа ===
 
=== Настройка автоматического бэкапа ===
  
 
1. Добавьте задачу в crontab:
 
1. Добавьте задачу в crontab:
<code>sudo crontab -e</code>
+
<pre>sudo crontab -e</pre>
  
 
2. Добавьте строку для ежедневного бэкапа:
 
2. Добавьте строку для ежедневного бэкапа:
<code>0 3 * * * /usr/local/bin/minecraft-backup.sh</code>
+
<pre>0 3 * * * /usr/local/bin/minecraft-backup.sh</pre>
  
== 10. Мониторинг сервера ===
+
== 10. Мониторинг сервера ==
  
 
=== Создание скрипта мониторинга ===
 
=== Создание скрипта мониторинга ===
  
 
1. Создайте скрипт мониторинга:
 
1. Создайте скрипт мониторинга:
<code>sudo nano /usr/local/bin/minecraft-monitor.sh</code>
+
<pre>sudo nano /usr/local/bin/minecraft-monitor.sh</pre>
  
 
2. Добавьте содержимое:
 
2. Добавьте содержимое:
<code>#!/bin/bash
+
<pre>\#!/bin/bash
  
# Проверка статуса сервера
+
\# Проверка статуса сервера
 
if systemctl is-active --quiet minecraft; then
 
if systemctl is-active --quiet minecraft; then
 
     echo "Minecraft server is running"
 
     echo "Minecraft server is running"
Строка 294: Строка 294:
 
     echo "Minecraft server is down" | mail -s "Minecraft Alert" admin@example.com
 
     echo "Minecraft server is down" | mail -s "Minecraft Alert" admin@example.com
 
fi
 
fi
</code>
+
</pre>
  
 
3. Сделайте скрипт исполняемым:
 
3. Сделайте скрипт исполняемым:
<code>sudo chmod +x /usr/local/bin/minecraft-monitor.sh</code>
+
<pre>sudo chmod +x /usr/local/bin/minecraft-monitor.sh</pre>
  
 
=== Настройка мониторинга ===
 
=== Настройка мониторинга ===
  
 
1. Добавьте задачу мониторинга в crontab:
 
1. Добавьте задачу мониторинга в crontab:
<code># Проверка каждые 5 минут
+
<pre>\# Проверка каждые 5 минут
 
*/5 * * * * /usr/local/bin/minecraft-monitor.sh
 
*/5 * * * * /usr/local/bin/minecraft-monitor.sh
</code>
+
</pre>
  
== 11. Устранение неполадок ===
+
== 11. Устранение неполадок ==
  
 
=== Частые проблемы ===
 
=== Частые проблемы ===
  
 
1. '''Сервер не запускается''':
 
1. '''Сервер не запускается''':
* Проверьте версию Java: <code>java -version</code>
+
* Проверьте версию Java: <pre>java -version</pre>
* Проверьте права доступа: <code>ls -la /opt/minecraft</code>
+
* Проверьте права доступа: <pre>ls -la /opt/minecraft</pre>
* Проверьте логи: <code>sudo journalctl -u minecraft</code>
+
* Проверьте логи: <pre>sudo journalctl -u minecraft</pre>
  
 
2. '''Высокое использование памяти''':
 
2. '''Высокое использование памяти''':
Строка 321: Строка 321:
  
 
3. '''Игроки не могут подключиться''':
 
3. '''Игроки не могут подключиться''':
* Проверьте файрвол: <code>sudo ufw status</code>
+
* Проверьте файрвол: <pre>sudo ufw status</pre>
* Проверьте порт: <code>sudo netstat -tlnp | grep :25565</code>
+
* Проверьте порт: <pre>sudo netstat -tlnp | grep :25565</pre>
 
* Проверьте настройки server.properties
 
* Проверьте настройки server.properties
  
Строка 328: Строка 328:
  
 
1. Проверьте статус сервиса:
 
1. Проверьте статус сервиса:
<code>sudo systemctl status minecraft</code>
+
<pre>sudo systemctl status minecraft</pre>
  
 
2. Проверьте использование ресурсов:
 
2. Проверьте использование ресурсов:
<code>htop</code>
+
<pre>htop</pre>
<code>free -h</code>
+
<pre>free -h</pre>
<code>df -h</code>
+
<pre>df -h</pre>
  
 
3. Проверьте логи сервера:
 
3. Проверьте логи сервера:
<code>tail -f /opt/minecraft/logs/latest.log</code>
+
<pre>tail -f /opt/minecraft/logs/latest.log</pre>
  
== 12. Дополнительные настройки ===
+
== 12. Дополнительные настройки ==
  
 
=== Установка RCON ===
 
=== Установка RCON ===
  
 
1. Включите RCON в server.properties:
 
1. Включите RCON в server.properties:
<code>enable-rcon=true
+
<pre>enable-rcon=true
 
rcon.port=25575
 
rcon.port=25575
 
rcon.password=your_password
 
rcon.password=your_password
</code>
+
</pre>
  
 
2. Используйте RCON для управления:
 
2. Используйте RCON для управления:
<code>mcrcon -H localhost -P 25575 -p your_password "list"</code>
+
<pre>mcrcon -H localhost -P 25575 -p your_password "list"</pre>
  
 
=== Настройка автоматического перезапуска ===
 
=== Настройка автоматического перезапуска ===
  
 
1. Создайте скрипт автоматического перезапуска:
 
1. Создайте скрипт автоматического перезапуска:
<code>sudo nano /usr/local/bin/minecraft-restart.sh</code>
+
<pre>sudo nano /usr/local/bin/minecraft-restart.sh</pre>
  
 
2. Добавьте содержимое:
 
2. Добавьте содержимое:
<code>#!/bin/bash
+
<pre>\#!/bin/bash
  
# Остановка сервера
+
\# Остановка сервера
 
sudo systemctl stop minecraft
 
sudo systemctl stop minecraft
  
# Ожидание
+
\# Ожидание
 
sleep 10
 
sleep 10
  
# Запуск сервера
+
\# Запуск сервера
 
sudo systemctl start minecraft
 
sudo systemctl start minecraft
  
 
echo "Minecraft server restarted at $(date)"
 
echo "Minecraft server restarted at $(date)"
</code>
+
</pre>
  
 
3. Добавьте в crontab для ежедневного перезапуска:
 
3. Добавьте в crontab для ежедневного перезапуска:
<code>0 6 * * * /usr/local/bin/minecraft-restart.sh
+
<pre>0 6 * * * /usr/local/bin/minecraft-restart.sh
</code>
+
</pre>
  
 
== Заключение ==
 
== Заключение ==

Текущая версия на 10:29, 15 октября 2025

Содержание

Minecraft на VDS Linux

1. Подготовка системы

  • Войдите в систему под учетной записью с правами root или пользователя с правами sudo.
  • Убедитесь, что у вас есть доступ к серверу через SSH или консоль.

2. Установка Java

Установка OpenJDK

1. Обновите систему:

sudo apt update

2. Установите Java 17 (рекомендуется для Minecraft 1.18+):

sudo apt install -y openjdk-17-jdk

3. Проверьте версию Java:

java -version

Альтернативная установка Java

1. Для старых версий Minecraft установите Java 8:

sudo apt install -y openjdk-8-jdk

2. Для новейших версий установите Java 21:

sudo apt install -y openjdk-21-jdk

3. Управление версиями Java:

sudo update-alternatives --config java

3. Создание пользователя для Minecraft

Создание пользователя

1. Создайте пользователя для Minecraft:

sudo useradd -m -s /bin/bash minecraft

2. Установите пароль:

sudo passwd minecraft

3. Создайте директорию для сервера:

sudo mkdir -p /opt/minecraft
sudo chown minecraft:minecraft /opt/minecraft

4. Переключитесь на пользователя minecraft:

sudo su - minecraft

4. Установка сервера Minecraft

Скачивание сервера

1. Перейдите в директорию сервера:

cd /opt/minecraft

2. Скачайте официальный сервер Minecraft:

wget https://launcher.mojang.com/v1/objects/your-server-jar-file.jar

3. Или скачайте Paper (оптимизированная версия):

wget https://api.papermc.io/v2/projects/paper/versions/1.20.4/builds/507/downloads/paper-1.20.4-507.jar

4. Переименуйте файл:

mv paper-1.20.4-507.jar server.jar

Первый запуск

1. Создайте скрипт запуска:

nano start.sh

2. Добавьте содержимое:

\#!/bin/bash
java -Xmx2G -Xms1G -jar server.jar nogui

3. Сделайте скрипт исполняемым:

chmod +x start.sh

4. Запустите сервер в первый раз:

./start.sh

5. Примите лицензионное соглашение:

echo "eula=true" > eula.txt

5. Настройка сервера

Базовая конфигурация

1. Отредактируйте server.properties:

nano server.properties

2. Настройте основные параметры:

server-name=My Minecraft Server
server-port=25565
max-players=20
difficulty=normal
gamemode=survival
motd=A Minecraft Server
online-mode=true
white-list=false

Настройка производительности

1. Создайте оптимизированный скрипт запуска:

nano start-optimized.sh

2. Добавьте содержимое:

\#!/bin/bash
java -Xmx4G -Xms2G \
     -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 server.jar nogui

3. Сделайте скрипт исполняемым:

chmod +x start-optimized.sh

6. Установка плагинов (Paper)

Создание директории плагинов

1. Создайте директорию для плагинов:

mkdir -p plugins

2. Скачайте популярные плагины:

wget https://github.com/EssentialsX/Essentials/releases/latest/download/EssentialsX-2.20.1.jar -O plugins/EssentialsX.jar
wget https://github.com/mcMMO-Dev/mcMMO/releases/latest/download/mcMMO.jar -O plugins/mcMMO.jar

3. Перезапустите сервер для загрузки плагинов:

./start-optimized.sh

Настройка EssentialsX

1. Отредактируйте конфигурацию:

nano plugins/Essentials/config.yml

2. Настройте основные параметры:

motd: "&6Добро пожаловать на сервер!"
rules: "&cПравила сервера:"

7. Настройка systemd сервиса

Создание сервиса

1. Создайте systemd сервис:

sudo nano /etc/systemd/system/minecraft.service

2. Добавьте содержимое:

[Unit]
Description=Minecraft Server
After=network.target

[Service]
Type=simple
User=minecraft
Group=minecraft
WorkingDirectory=/opt/minecraft
ExecStart=/opt/minecraft/start-optimized.sh
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

3. Перезагрузите systemd:

sudo systemctl daemon-reload

4. Включите и запустите сервис:

sudo systemctl enable minecraft
sudo systemctl start minecraft

Управление сервисом

1. Запуск сервера:

sudo systemctl start minecraft

2. Остановка сервера:

sudo systemctl stop minecraft

3. Перезапуск сервера:

sudo systemctl restart minecraft

4. Проверка статуса:

sudo systemctl status minecraft

5. Просмотр логов:

sudo journalctl -u minecraft -f

8. Настройка файрвола

Настройка UFW

1. Разрешите порт Minecraft:

sudo ufw allow 25565/tcp

2. Проверьте статус:

sudo ufw status

Настройка iptables

1. Разрешите порт через iptables:

sudo iptables -A INPUT -p tcp --dport 25565 -j ACCEPT

2. Сохраните правила:

sudo iptables-save > /etc/iptables/rules.v4

9. Резервное копирование

Создание скрипта бэкапа

1. Создайте скрипт резервного копирования:

sudo nano /usr/local/bin/minecraft-backup.sh

2. Добавьте содержимое:

\#!/bin/bash

BACKUP_DIR="/backup/minecraft"
SERVER_DIR="/opt/minecraft"
DATE=$(date +%Y%m%d_%H%M%S)

\# Остановка сервера
sudo systemctl stop minecraft

\# Создание архива
tar -czf $BACKUP_DIR/minecraft_backup_$DATE.tar.gz -C $SERVER_DIR .

\# Запуск сервера
sudo systemctl start minecraft

\# Удаление старых бэкапов (старше 7 дней)
find $BACKUP_DIR -name "minecraft_backup_*.tar.gz" -mtime +7 -delete

echo "Backup completed: minecraft_backup_$DATE.tar.gz"

3. Сделайте скрипт исполняемым:

sudo chmod +x /usr/local/bin/minecraft-backup.sh

4. Создайте директорию для бэкапов:

sudo mkdir -p /backup/minecraft

Настройка автоматического бэкапа

1. Добавьте задачу в crontab:

sudo crontab -e

2. Добавьте строку для ежедневного бэкапа:

0 3 * * * /usr/local/bin/minecraft-backup.sh

10. Мониторинг сервера

Создание скрипта мониторинга

1. Создайте скрипт мониторинга:

sudo nano /usr/local/bin/minecraft-monitor.sh

2. Добавьте содержимое:

\#!/bin/bash

\# Проверка статуса сервера
if systemctl is-active --quiet minecraft; then
    echo "Minecraft server is running"
    
    # Проверка использования памяти
    MEMORY=$(ps aux | grep java | grep minecraft | awk '{print $6}')
    echo "Memory usage: $MEMORY KB"
    
    # Проверка подключений
    CONNECTIONS=$(netstat -an | grep :25565 | wc -l)
    echo "Active connections: $CONNECTIONS"
    
else
    echo "Minecraft server is not running"
    # Отправка уведомления
    echo "Minecraft server is down" | mail -s "Minecraft Alert" admin@example.com
fi

3. Сделайте скрипт исполняемым:

sudo chmod +x /usr/local/bin/minecraft-monitor.sh

Настройка мониторинга

1. Добавьте задачу мониторинга в crontab:

\# Проверка каждые 5 минут
*/5 * * * * /usr/local/bin/minecraft-monitor.sh

11. Устранение неполадок

Частые проблемы

1. Сервер не запускается:

  • Проверьте версию Java:
    java -version
  • Проверьте права доступа:
    ls -la /opt/minecraft
  • Проверьте логи:
    sudo journalctl -u minecraft

2. Высокое использование памяти:

  • Уменьшите параметры -Xmx и -Xms
  • Используйте оптимизированные настройки JVM
  • Установите плагины для оптимизации

3. Игроки не могут подключиться:

  • Проверьте файрвол:
    sudo ufw status
  • Проверьте порт:
    sudo netstat -tlnp | grep :25565
  • Проверьте настройки server.properties

Диагностика

1. Проверьте статус сервиса:

sudo systemctl status minecraft

2. Проверьте использование ресурсов:

htop
free -h
df -h

3. Проверьте логи сервера:

tail -f /opt/minecraft/logs/latest.log

12. Дополнительные настройки

Установка RCON

1. Включите RCON в server.properties:

enable-rcon=true
rcon.port=25575
rcon.password=your_password

2. Используйте RCON для управления:

mcrcon -H localhost -P 25575 -p your_password "list"

Настройка автоматического перезапуска

1. Создайте скрипт автоматического перезапуска:

sudo nano /usr/local/bin/minecraft-restart.sh

2. Добавьте содержимое:

\#!/bin/bash

\# Остановка сервера
sudo systemctl stop minecraft

\# Ожидание
sleep 10

\# Запуск сервера
sudo systemctl start minecraft

echo "Minecraft server restarted at $(date)"

3. Добавьте в crontab для ежедневного перезапуска:

0 6 * * * /usr/local/bin/minecraft-restart.sh

Заключение

Minecraft сервер успешно установлен и настроен на VDS! Теперь вы можете играть со своими друзьями.

Для размещения ваших Minecraft серверов на надежном хостинге рекомендуем воспользоваться услугами [ARK-HOSTER.RU](https://ark-hoster.ru):

Наши специалисты помогут с настройкой Minecraft и оптимизацией производительности вашего сервера!