Настройка Minecraft сервера с модами Forge-Fabric — различия между версиями
Admin (обсуждение | вклад) (Новая страница: «= Настройка Minecraft сервера с модами (Forge/Fabric) = == 1. Подготовка системы == * Войдите в систему…») |
Admin (обсуждение | вклад) |
||
Строка 7: | Строка 7: | ||
* Рекомендуется использовать Ubuntu 24.04 LTS для стабильной работы. | * Рекомендуется использовать Ubuntu 24.04 LTS для стабильной работы. | ||
− | == 2. Установка Java | + | == 2. Установка Java == |
=== Обновление системы === | === Обновление системы === | ||
1. Обновите систему: | 1. Обновите систему: | ||
− | < | + | <pre>sudo apt update</pre> |
− | < | + | <pre>sudo apt upgrade -y</pre> |
2. Установите необходимые пакеты: | 2. Установите необходимые пакеты: | ||
− | < | + | <pre>sudo apt install -y wget curl unzip screen htop</pre> |
=== Установка OpenJDK === | === Установка OpenJDK === | ||
1. Установите OpenJDK 21 (рекомендуется для модов): | 1. Установите OpenJDK 21 (рекомендуется для модов): | ||
− | < | + | <pre>sudo apt install -y openjdk-21-jdk</pre> |
2. Проверьте версию Java: | 2. Проверьте версию Java: | ||
− | < | + | <pre>java --version</pre> |
3. Установите альтернативную версию Java: | 3. Установите альтернативную версию Java: | ||
− | < | + | <pre>sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-21-openjdk-amd64/bin/java 1</pre> |
=== Настройка переменных окружения === | === Настройка переменных окружения === | ||
1. Настройте JAVA_HOME: | 1. Настройте JAVA_HOME: | ||
− | < | + | <pre>echo 'export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64' >> ~/.bashrc</pre> |
− | < | + | <pre>echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc</pre> |
2. Примените изменения: | 2. Примените изменения: | ||
− | < | + | <pre>source ~/.bashrc</pre> |
− | == 3. Создание пользователя для Minecraft | + | == 3. Создание пользователя для Minecraft == |
=== Создание пользователя === | === Создание пользователя === | ||
1. Создайте пользователя minecraft: | 1. Создайте пользователя minecraft: | ||
− | < | + | <pre>sudo useradd -m -s /bin/bash minecraft</pre> |
2. Установите пароль: | 2. Установите пароль: | ||
− | < | + | <pre>sudo passwd minecraft</pre> |
3. Добавьте пользователя в группу sudo: | 3. Добавьте пользователя в группу sudo: | ||
− | < | + | <pre>sudo usermod -aG sudo minecraft</pre> |
=== Настройка директорий === | === Настройка директорий === | ||
1. Создайте директории для серверов: | 1. Создайте директории для серверов: | ||
− | < | + | <pre>sudo mkdir -p /opt/minecraft/forge</pre> |
− | < | + | <pre>sudo mkdir -p /opt/minecraft/fabric</pre> |
2. Установите права доступа: | 2. Установите права доступа: | ||
− | < | + | <pre>sudo chown -R minecraft:minecraft /opt/minecraft</pre> |
3. Переключитесь на пользователя minecraft: | 3. Переключитесь на пользователя minecraft: | ||
− | < | + | <pre>sudo su - minecraft</pre> |
− | == 4. Установка Forge сервера | + | == 4. Установка Forge сервера == |
=== Скачивание Forge === | === Скачивание Forge === | ||
1. Перейдите в директорию Forge: | 1. Перейдите в директорию Forge: | ||
− | < | + | <pre>cd /opt/minecraft/forge</pre> |
2. Скачайте Forge installer (замените версию на актуальную): | 2. Скачайте Forge installer (замените версию на актуальную): | ||
− | < | + | <pre>wget https://maven.minecraftforge.net/net/minecraftforge/forge/1.20.1-47.2.0/forge-1.20.1-47.2.0-installer.jar</pre> |
3. Запустите установщик: | 3. Запустите установщик: | ||
− | < | + | <pre>java -jar forge-1.20.1-47.2.0-installer.jar --installServer</pre> |
4. Удалите установщик: | 4. Удалите установщик: | ||
− | < | + | <pre>rm forge-1.20.1-47.2.0-installer.jar</pre> |
=== Настройка Forge сервера === | === Настройка Forge сервера === | ||
1. Примите лицензионное соглашение: | 1. Примите лицензионное соглашение: | ||
− | < | + | <pre>echo "eula=true" > eula.txt</pre> |
2. Создайте скрипт запуска: | 2. Создайте скрипт запуска: | ||
− | < | + | <pre>nano start-forge.sh</pre> |
3. Добавьте содержимое: | 3. Добавьте содержимое: | ||
− | < | + | <pre>\#!/bin/bash |
− | # Настройки сервера | + | \# Настройки сервера |
SERVER_DIR="/opt/minecraft/forge" | SERVER_DIR="/opt/minecraft/forge" | ||
MIN_RAM="4G" | MIN_RAM="4G" | ||
Строка 96: | Строка 96: | ||
SCREEN_NAME="minecraft-forge" | SCREEN_NAME="minecraft-forge" | ||
− | # Переход в директорию сервера | + | \# Переход в директорию сервера |
cd $SERVER_DIR | cd $SERVER_DIR | ||
− | # Проверка запущенного сервера | + | \# Проверка запущенного сервера |
if screen -list | grep -q "$SCREEN_NAME"; then | if screen -list | grep -q "$SCREEN_NAME"; then | ||
echo "Forge сервер уже запущен!" | echo "Forge сервер уже запущен!" | ||
Строка 105: | Строка 105: | ||
fi | fi | ||
− | # Запуск сервера | + | \# Запуск сервера |
echo "Запуск Minecraft Forge сервера..." | echo "Запуск Minecraft Forge сервера..." | ||
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 forge-1.20.1-47.2.0.jar 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 forge-1.20.1-47.2.0.jar nogui | ||
Строка 111: | Строка 111: | ||
echo "Forge сервер запущен в screen сессии: $SCREEN_NAME" | echo "Forge сервер запущен в screen сессии: $SCREEN_NAME" | ||
echo "Для подключения к консоли используйте: screen -r $SCREEN_NAME" | echo "Для подключения к консоли используйте: screen -r $SCREEN_NAME" | ||
− | </ | + | </pre> |
4. Сделайте скрипт исполняемым: | 4. Сделайте скрипт исполняемым: | ||
− | < | + | <pre>chmod +x start-forge.sh</pre> |
− | == 5. Установка Fabric сервера | + | == 5. Установка Fabric сервера == |
=== Скачивание Fabric === | === Скачивание Fabric === | ||
1. Перейдите в директорию Fabric: | 1. Перейдите в директорию Fabric: | ||
− | < | + | <pre>cd /opt/minecraft/fabric</pre> |
2. Скачайте Fabric installer: | 2. Скачайте Fabric installer: | ||
− | < | + | <pre>wget https://maven.fabricmc.net/net/fabricmc/fabric-installer/1.0.0/fabric-installer-1.0.0.jar</pre> |
3. Скачайте Minecraft server jar: | 3. Скачайте Minecraft server jar: | ||
− | < | + | <pre>wget https://launcher.mojang.com/v1/objects/8c3115e0ed1dfd6aeb6fecdd61636aa7184c6170/server.jar</pre> |
4. Запустите Fabric installer: | 4. Запустите Fabric installer: | ||
− | < | + | <pre>java -jar fabric-installer-1.0.0.jar server -mcversion 1.20.1 -loader 0.14.22 -downloadMinecraft</pre> |
5. Удалите установщик: | 5. Удалите установщик: | ||
− | < | + | <pre>rm fabric-installer-1.0.0.jar</pre> |
=== Настройка Fabric сервера === | === Настройка Fabric сервера === | ||
1. Примите лицензионное соглашение: | 1. Примите лицензионное соглашение: | ||
− | < | + | <pre>echo "eula=true" > eula.txt</pre> |
2. Создайте скрипт запуска: | 2. Создайте скрипт запуска: | ||
− | < | + | <pre>nano start-fabric.sh</pre> |
3. Добавьте содержимое: | 3. Добавьте содержимое: | ||
− | < | + | <pre>\#!/bin/bash |
− | # Настройки сервера | + | \# Настройки сервера |
SERVER_DIR="/opt/minecraft/fabric" | SERVER_DIR="/opt/minecraft/fabric" | ||
MIN_RAM="4G" | MIN_RAM="4G" | ||
Строка 152: | Строка 152: | ||
SCREEN_NAME="minecraft-fabric" | SCREEN_NAME="minecraft-fabric" | ||
− | # Переход в директорию сервера | + | \# Переход в директорию сервера |
cd $SERVER_DIR | cd $SERVER_DIR | ||
− | # Проверка запущенного сервера | + | \# Проверка запущенного сервера |
if screen -list | grep -q "$SCREEN_NAME"; then | if screen -list | grep -q "$SCREEN_NAME"; then | ||
echo "Fabric сервер уже запущен!" | echo "Fabric сервер уже запущен!" | ||
Строка 161: | Строка 161: | ||
fi | fi | ||
− | # Запуск сервера | + | \# Запуск сервера |
echo "Запуск Minecraft Fabric сервера..." | echo "Запуск Minecraft Fabric сервера..." | ||
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 fabric-server-launch.jar 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 fabric-server-launch.jar nogui | ||
Строка 167: | Строка 167: | ||
echo "Fabric сервер запущен в screen сессии: $SCREEN_NAME" | echo "Fabric сервер запущен в screen сессии: $SCREEN_NAME" | ||
echo "Для подключения к консоли используйте: screen -r $SCREEN_NAME" | echo "Для подключения к консоли используйте: screen -r $SCREEN_NAME" | ||
− | </ | + | </pre> |
4. Сделайте скрипт исполняемым: | 4. Сделайте скрипт исполняемым: | ||
− | < | + | <pre>chmod +x start-fabric.sh</pre> |
− | == 6. Установка модов | + | == 6. Установка модов == |
=== Установка модов для Forge === | === Установка модов для Forge === | ||
1. Создайте директорию для модов: | 1. Создайте директорию для модов: | ||
− | < | + | <pre>mkdir -p /opt/minecraft/forge/mods</pre> |
2. Скачайте популярные моды (примеры): | 2. Скачайте популярные моды (примеры): | ||
− | < | + | <pre>cd /opt/minecraft/forge/mods</pre> |
3. '''Установка JEI (Just Enough Items)''': | 3. '''Установка JEI (Just Enough Items)''': | ||
− | < | + | <pre>wget https://mediafilez.forgecdn.net/files/4727/0/jei-1.20.1-forge-12.4.0.16.jar</pre> |
4. '''Установка Applied Energistics 2''': | 4. '''Установка Applied Energistics 2''': | ||
− | < | + | <pre>wget https://mediafilez.forgecdn.net/files/4726/0/appliedenergistics2-forge-15.0.0.jar</pre> |
5. '''Установка Thermal Expansion''': | 5. '''Установка Thermal Expansion''': | ||
− | < | + | <pre>wget https://mediafilez.forgecdn.net/files/4725/0/thermal_expansion-1.20.1-10.3.0.1.jar</pre> |
=== Установка модов для Fabric === | === Установка модов для Fabric === | ||
1. Создайте директорию для модов: | 1. Создайте директорию для модов: | ||
− | < | + | <pre>mkdir -p /opt/minecraft/fabric/mods</pre> |
2. Скачайте популярные моды (примеры): | 2. Скачайте популярные моды (примеры): | ||
− | < | + | <pre>cd /opt/minecraft/fabric/mods</pre> |
3. '''Установка JEI (Just Enough Items)''': | 3. '''Установка JEI (Just Enough Items)''': | ||
− | < | + | <pre>wget https://mediafilez.forgecdn.net/files/4727/0/jei-1.20.1-fabric-12.4.0.16.jar</pre> |
4. '''Установка Applied Energistics 2''': | 4. '''Установка Applied Energistics 2''': | ||
− | < | + | <pre>wget https://mediafilez.forgecdn.net/files/4726/0/appliedenergistics2-fabric-15.0.0.jar</pre> |
5. '''Установка Tech Reborn''': | 5. '''Установка Tech Reborn''': | ||
− | < | + | <pre>wget https://mediafilez.forgecdn.net/files/4724/0/TechReborn-5.7.0.jar</pre> |
− | == 7. Настройка конфигурации модов | + | == 7. Настройка конфигурации модов == |
=== Настройка Forge модов === | === Настройка Forge модов === | ||
1. Запустите Forge сервер один раз для создания конфигурационных файлов: | 1. Запустите Forge сервер один раз для создания конфигурационных файлов: | ||
− | < | + | <pre>cd /opt/minecraft/forge</pre> |
− | < | + | <pre>./start-forge.sh</pre> |
2. Остановите сервер через несколько секунд: | 2. Остановите сервер через несколько секунд: | ||
− | < | + | <pre>screen -S minecraft-forge -X stuff "stop$(printf \\r)"</pre> |
3. Настройте конфигурацию модов: | 3. Настройте конфигурацию модов: | ||
− | < | + | <pre>nano /opt/minecraft/forge/config/jei/jei-client.toml</pre> |
4. Настройте основные параметры: | 4. Настройте основные параметры: | ||
− | < | + | <pre>\# JEI Configuration |
[advanced] | [advanced] | ||
searchMode = "require_cheat_mode" | searchMode = "require_cheat_mode" | ||
Строка 232: | Строка 232: | ||
searchTextColor = 0xFFFFFF | searchTextColor = 0xFFFFFF | ||
searchHighlightColor = 0xFFFF00 | searchHighlightColor = 0xFFFF00 | ||
− | </ | + | </pre> |
=== Настройка Fabric модов === | === Настройка Fabric модов === | ||
1. Запустите Fabric сервер один раз для создания конфигурационных файлов: | 1. Запустите Fabric сервер один раз для создания конфигурационных файлов: | ||
− | < | + | <pre>cd /opt/minecraft/fabric</pre> |
− | < | + | <pre>./start-fabric.sh</pre> |
2. Остановите сервер через несколько секунд: | 2. Остановите сервер через несколько секунд: | ||
− | < | + | <pre>screen -S minecraft-fabric -X stuff "stop$(printf \\r)"</pre> |
3. Настройте конфигурацию модов: | 3. Настройте конфигурацию модов: | ||
− | < | + | <pre>nano /opt/minecraft/fabric/config/jei/jei-client.toml</pre> |
− | == 8. Настройка systemd сервисов | + | == 8. Настройка systemd сервисов == |
=== Создание сервиса для Forge === | === Создание сервиса для Forge === | ||
1. Выйдите из пользователя minecraft: | 1. Выйдите из пользователя minecraft: | ||
− | < | + | <pre>exit</pre> |
2. Создайте systemd сервис для Forge: | 2. Создайте systemd сервис для Forge: | ||
− | < | + | <pre>sudo nano /etc/systemd/system/minecraft-forge.service</pre> |
3. Добавьте конфигурацию: | 3. Добавьте конфигурацию: | ||
− | < | + | <pre>[Unit] |
Description=Minecraft Forge Server | Description=Minecraft Forge Server | ||
After=network.target | After=network.target | ||
Строка 273: | Строка 273: | ||
[Install] | [Install] | ||
WantedBy=multi-user.target | WantedBy=multi-user.target | ||
− | </ | + | </pre> |
=== Создание сервиса для Fabric === | === Создание сервиса для Fabric === | ||
1. Создайте systemd сервис для Fabric: | 1. Создайте systemd сервис для Fabric: | ||
− | < | + | <pre>sudo nano /etc/systemd/system/minecraft-fabric.service</pre> |
2. Добавьте конфигурацию: | 2. Добавьте конфигурацию: | ||
− | < | + | <pre>[Unit] |
Description=Minecraft Fabric Server | Description=Minecraft Fabric Server | ||
After=network.target | After=network.target | ||
Строка 297: | Строка 297: | ||
[Install] | [Install] | ||
WantedBy=multi-user.target | WantedBy=multi-user.target | ||
− | </ | + | </pre> |
=== Запуск сервисов === | === Запуск сервисов === | ||
1. Перезагрузите systemd: | 1. Перезагрузите systemd: | ||
− | < | + | <pre>sudo systemctl daemon-reload</pre> |
2. Включите автозапуск: | 2. Включите автозапуск: | ||
− | < | + | <pre>sudo systemctl enable minecraft-forge</pre> |
− | < | + | <pre>sudo systemctl enable minecraft-fabric</pre> |
3. Запустите нужный сервис: | 3. Запустите нужный сервис: | ||
− | < | + | <pre>sudo systemctl start minecraft-forge</pre> |
# или | # или | ||
− | < | + | <pre>sudo systemctl start minecraft-fabric</pre> |
4. Проверьте статус: | 4. Проверьте статус: | ||
− | < | + | <pre>sudo systemctl status minecraft-forge</pre> |
− | < | + | <pre>sudo systemctl status minecraft-fabric</pre> |
− | == 9. Настройка файрвола | + | == 9. Настройка файрвола == |
=== Настройка UFW === | === Настройка UFW === | ||
1. Установите UFW: | 1. Установите UFW: | ||
− | < | + | <pre>sudo apt install -y ufw</pre> |
2. Настройте правила: | 2. Настройте правила: | ||
− | < | + | <pre>sudo ufw allow 22/tcp</pre> |
− | < | + | <pre>sudo ufw allow 25565/tcp</pre> |
− | < | + | <pre>sudo ufw enable</pre> |
3. Проверьте статус: | 3. Проверьте статус: | ||
− | < | + | <pre>sudo ufw status</pre> |
− | == 10. Мониторинг и диагностика | + | == 10. Мониторинг и диагностика == |
=== Создание скрипта мониторинга === | === Создание скрипта мониторинга === | ||
1. Создайте скрипт мониторинга: | 1. Создайте скрипт мониторинга: | ||
− | < | + | <pre>sudo nano /usr/local/bin/minecraft-mods-monitor.sh</pre> |
2. Добавьте содержимое: | 2. Добавьте содержимое: | ||
− | < | + | <pre>\#!/bin/bash |
− | # Проверка статуса Forge сервера | + | \# Проверка статуса Forge сервера |
if ! systemctl is-active --quiet minecraft-forge; then | if ! systemctl is-active --quiet minecraft-forge; then | ||
echo "Minecraft Forge сервер не запущен!" | mail -s "Minecraft Alert" admin@example.com | echo "Minecraft Forge сервер не запущен!" | mail -s "Minecraft Alert" admin@example.com | ||
fi | fi | ||
− | # Проверка статуса Fabric сервера | + | \# Проверка статуса Fabric сервера |
if ! systemctl is-active --quiet minecraft-fabric; then | if ! systemctl is-active --quiet minecraft-fabric; then | ||
echo "Minecraft Fabric сервер не запущен!" | mail -s "Minecraft Alert" admin@example.com | echo "Minecraft Fabric сервер не запущен!" | mail -s "Minecraft Alert" admin@example.com | ||
fi | fi | ||
− | # Проверка использования памяти | + | \# Проверка использования памяти |
MEMORY_USAGE=$(ps aux | grep -E "(forge|fabric)" | grep -v grep | awk '{print $4}' | head -1) | MEMORY_USAGE=$(ps aux | grep -E "(forge|fabric)" | grep -v grep | awk '{print $4}' | head -1) | ||
if [ ! -z "$MEMORY_USAGE" ] && [ $(echo "$MEMORY_USAGE > 80" | bc) -eq 1 ]; then | if [ ! -z "$MEMORY_USAGE" ] && [ $(echo "$MEMORY_USAGE > 80" | bc) -eq 1 ]; then | ||
Строка 358: | Строка 358: | ||
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 | ||
− | </ | + | </pre> |
3. Сделайте скрипт исполняемым: | 3. Сделайте скрипт исполняемым: | ||
− | < | + | <pre>sudo chmod +x /usr/local/bin/minecraft-mods-monitor.sh</pre> |
4. Добавьте в crontab: | 4. Добавьте в crontab: | ||
− | < | + | <pre>sudo crontab -e</pre> |
5. Добавьте задачу: | 5. Добавьте задачу: | ||
− | < | + | <pre>*/5 * * * * /usr/local/bin/minecraft-mods-monitor.sh</pre> |
− | == 11. Резервное копирование | + | == 11. Резервное копирование == |
=== Создание скрипта резервного копирования === | === Создание скрипта резервного копирования === | ||
1. Создайте скрипт резервного копирования: | 1. Создайте скрипт резервного копирования: | ||
− | < | + | <pre>sudo nano /usr/local/bin/minecraft-mods-backup.sh</pre> |
2. Добавьте содержимое: | 2. Добавьте содержимое: | ||
− | < | + | <pre>\#!/bin/bash |
BACKUP_DIR="/backup/minecraft-mods" | BACKUP_DIR="/backup/minecraft-mods" | ||
DATE=$(date +%Y%m%d_%H%M%S) | DATE=$(date +%Y%m%d_%H%M%S) | ||
− | # Создание директории для бэкапа | + | \# Создание директории для бэкапа |
mkdir -p $BACKUP_DIR | mkdir -p $BACKUP_DIR | ||
− | # Остановка серверов для бэкапа | + | \# Остановка серверов для бэкапа |
systemctl stop minecraft-forge | systemctl stop minecraft-forge | ||
systemctl stop minecraft-fabric | systemctl stop minecraft-fabric | ||
− | # Создание архива Forge | + | \# Создание архива Forge |
if [ -d "/opt/minecraft/forge" ]; then | if [ -d "/opt/minecraft/forge" ]; then | ||
tar -czf $BACKUP_DIR/forge-backup-$DATE.tar.gz -C /opt/minecraft forge | tar -czf $BACKUP_DIR/forge-backup-$DATE.tar.gz -C /opt/minecraft forge | ||
fi | fi | ||
− | # Создание архива Fabric | + | \# Создание архива Fabric |
if [ -d "/opt/minecraft/fabric" ]; then | if [ -d "/opt/minecraft/fabric" ]; then | ||
tar -czf $BACKUP_DIR/fabric-backup-$DATE.tar.gz -C /opt/minecraft fabric | tar -czf $BACKUP_DIR/fabric-backup-$DATE.tar.gz -C /opt/minecraft fabric | ||
fi | fi | ||
− | # Запуск серверов | + | \# Запуск серверов |
systemctl start minecraft-forge | systemctl start minecraft-forge | ||
systemctl start minecraft-fabric | systemctl start minecraft-fabric | ||
− | # Удаление старых бэкапов (старше 7 дней) | + | \# Удаление старых бэкапов (старше 7 дней) |
find $BACKUP_DIR -name "*-backup-*" -mtime +7 -delete | find $BACKUP_DIR -name "*-backup-*" -mtime +7 -delete | ||
echo "Minecraft mods backup completed: $DATE" | echo "Minecraft mods backup completed: $DATE" | ||
− | </ | + | </pre> |
3. Сделайте скрипт исполняемым: | 3. Сделайте скрипт исполняемым: | ||
− | < | + | <pre>sudo chmod +x /usr/local/bin/minecraft-mods-backup.sh</pre> |
4. Добавьте в crontab: | 4. Добавьте в crontab: | ||
− | < | + | <pre>sudo crontab -e</pre> |
5. Добавьте задачу: | 5. Добавьте задачу: | ||
− | < | + | <pre>0 3 * * * /usr/local/bin/minecraft-mods-backup.sh</pre> |
− | == 12. Устранение неполадок | + | == 12. Устранение неполадок == |
=== Частые проблемы === | === Частые проблемы === | ||
Строка 444: | Строка 444: | ||
1. '''Проверка статуса серверов''': | 1. '''Проверка статуса серверов''': | ||
− | < | + | <pre>sudo systemctl status minecraft-forge</pre> |
− | < | + | <pre>sudo systemctl status minecraft-fabric</pre> |
2. '''Проверка логов''': | 2. '''Проверка логов''': | ||
− | < | + | <pre>sudo journalctl -u minecraft-forge -f</pre> |
− | < | + | <pre>sudo journalctl -u minecraft-fabric -f</pre> |
3. '''Проверка модов''': | 3. '''Проверка модов''': | ||
− | < | + | <pre>ls -la /opt/minecraft/forge/mods/</pre> |
− | < | + | <pre>ls -la /opt/minecraft/fabric/mods/</pre> |
4. '''Проверка конфигурации''': | 4. '''Проверка конфигурации''': | ||
− | < | + | <pre>ls -la /opt/minecraft/forge/config/</pre> |
− | < | + | <pre>ls -la /opt/minecraft/fabric/config/</pre> |
== Заключение == | == Заключение == |
Текущая версия на 10:34, 15 октября 2025
Содержание
- 1 Настройка Minecraft сервера с модами (Forge/Fabric)
- 1.1 1. Подготовка системы
- 1.2 2. Установка Java
- 1.3 3. Создание пользователя для Minecraft
- 1.4 4. Установка Forge сервера
- 1.5 5. Установка Fabric сервера
- 1.6 6. Установка модов
- 1.7 7. Настройка конфигурации модов
- 1.8 8. Настройка systemd сервисов
- 1.9 9. Настройка файрвола
- 1.10 10. Мониторинг и диагностика
- 1.11 11. Резервное копирование
- 1.12 12. Устранение неполадок
- 1.13 Заключение
Настройка Minecraft сервера с модами (Forge/Fabric)
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 (рекомендуется для модов):
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. Создание пользователя для 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/forge
sudo mkdir -p /opt/minecraft/fabric
2. Установите права доступа:
sudo chown -R minecraft:minecraft /opt/minecraft
3. Переключитесь на пользователя minecraft:
sudo su - minecraft
4. Установка Forge сервера
Скачивание Forge
1. Перейдите в директорию Forge:
cd /opt/minecraft/forge
2. Скачайте Forge installer (замените версию на актуальную):
wget https://maven.minecraftforge.net/net/minecraftforge/forge/1.20.1-47.2.0/forge-1.20.1-47.2.0-installer.jar
3. Запустите установщик:
java -jar forge-1.20.1-47.2.0-installer.jar --installServer
4. Удалите установщик:
rm forge-1.20.1-47.2.0-installer.jar
Настройка Forge сервера
1. Примите лицензионное соглашение:
echo "eula=true" > eula.txt
2. Создайте скрипт запуска:
nano start-forge.sh
3. Добавьте содержимое:
\#!/bin/bash \# Настройки сервера SERVER_DIR="/opt/minecraft/forge" MIN_RAM="4G" MAX_RAM="8G" SCREEN_NAME="minecraft-forge" \# Переход в директорию сервера cd $SERVER_DIR \# Проверка запущенного сервера if screen -list | grep -q "$SCREEN_NAME"; then echo "Forge сервер уже запущен!" exit 1 fi \# Запуск сервера echo "Запуск Minecraft Forge сервера..." 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 forge-1.20.1-47.2.0.jar nogui echo "Forge сервер запущен в screen сессии: $SCREEN_NAME" echo "Для подключения к консоли используйте: screen -r $SCREEN_NAME"
4. Сделайте скрипт исполняемым:
chmod +x start-forge.sh
5. Установка Fabric сервера
Скачивание Fabric
1. Перейдите в директорию Fabric:
cd /opt/minecraft/fabric
2. Скачайте Fabric installer:
wget https://maven.fabricmc.net/net/fabricmc/fabric-installer/1.0.0/fabric-installer-1.0.0.jar
3. Скачайте Minecraft server jar:
wget https://launcher.mojang.com/v1/objects/8c3115e0ed1dfd6aeb6fecdd61636aa7184c6170/server.jar
4. Запустите Fabric installer:
java -jar fabric-installer-1.0.0.jar server -mcversion 1.20.1 -loader 0.14.22 -downloadMinecraft
5. Удалите установщик:
rm fabric-installer-1.0.0.jar
Настройка Fabric сервера
1. Примите лицензионное соглашение:
echo "eula=true" > eula.txt
2. Создайте скрипт запуска:
nano start-fabric.sh
3. Добавьте содержимое:
\#!/bin/bash \# Настройки сервера SERVER_DIR="/opt/minecraft/fabric" MIN_RAM="4G" MAX_RAM="8G" SCREEN_NAME="minecraft-fabric" \# Переход в директорию сервера cd $SERVER_DIR \# Проверка запущенного сервера if screen -list | grep -q "$SCREEN_NAME"; then echo "Fabric сервер уже запущен!" exit 1 fi \# Запуск сервера echo "Запуск Minecraft Fabric сервера..." 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 fabric-server-launch.jar nogui echo "Fabric сервер запущен в screen сессии: $SCREEN_NAME" echo "Для подключения к консоли используйте: screen -r $SCREEN_NAME"
4. Сделайте скрипт исполняемым:
chmod +x start-fabric.sh
6. Установка модов
Установка модов для Forge
1. Создайте директорию для модов:
mkdir -p /opt/minecraft/forge/mods
2. Скачайте популярные моды (примеры):
cd /opt/minecraft/forge/mods
3. Установка JEI (Just Enough Items):
wget https://mediafilez.forgecdn.net/files/4727/0/jei-1.20.1-forge-12.4.0.16.jar
4. Установка Applied Energistics 2:
wget https://mediafilez.forgecdn.net/files/4726/0/appliedenergistics2-forge-15.0.0.jar
5. Установка Thermal Expansion:
wget https://mediafilez.forgecdn.net/files/4725/0/thermal_expansion-1.20.1-10.3.0.1.jar
Установка модов для Fabric
1. Создайте директорию для модов:
mkdir -p /opt/minecraft/fabric/mods
2. Скачайте популярные моды (примеры):
cd /opt/minecraft/fabric/mods
3. Установка JEI (Just Enough Items):
wget https://mediafilez.forgecdn.net/files/4727/0/jei-1.20.1-fabric-12.4.0.16.jar
4. Установка Applied Energistics 2:
wget https://mediafilez.forgecdn.net/files/4726/0/appliedenergistics2-fabric-15.0.0.jar
5. Установка Tech Reborn:
wget https://mediafilez.forgecdn.net/files/4724/0/TechReborn-5.7.0.jar
7. Настройка конфигурации модов
Настройка Forge модов
1. Запустите Forge сервер один раз для создания конфигурационных файлов:
cd /opt/minecraft/forge
./start-forge.sh
2. Остановите сервер через несколько секунд:
screen -S minecraft-forge -X stuff "stop$(printf \\r)"
3. Настройте конфигурацию модов:
nano /opt/minecraft/forge/config/jei/jei-client.toml
4. Настройте основные параметры:
\# JEI Configuration [advanced] searchMode = "require_cheat_mode" maxRecipeGuiHeight = 300 maxRecipeGuiWidth = 400 [colors] searchTextColor = 0xFFFFFF searchHighlightColor = 0xFFFF00
Настройка Fabric модов
1. Запустите Fabric сервер один раз для создания конфигурационных файлов:
cd /opt/minecraft/fabric
./start-fabric.sh
2. Остановите сервер через несколько секунд:
screen -S minecraft-fabric -X stuff "stop$(printf \\r)"
3. Настройте конфигурацию модов:
nano /opt/minecraft/fabric/config/jei/jei-client.toml
8. Настройка systemd сервисов
Создание сервиса для Forge
1. Выйдите из пользователя minecraft:
exit
2. Создайте systemd сервис для Forge:
sudo nano /etc/systemd/system/minecraft-forge.service
3. Добавьте конфигурацию:
[Unit] Description=Minecraft Forge Server After=network.target [Service] Type=simple User=minecraft Group=minecraft WorkingDirectory=/opt/minecraft/forge ExecStart=/usr/bin/java -Xms4G -Xmx8G -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 forge-1.20.1-47.2.0.jar nogui ExecStop=/bin/kill -15 $MAINPID Restart=always RestartSec=10 [Install] WantedBy=multi-user.target
Создание сервиса для Fabric
1. Создайте systemd сервис для Fabric:
sudo nano /etc/systemd/system/minecraft-fabric.service
2. Добавьте конфигурацию:
[Unit] Description=Minecraft Fabric Server After=network.target [Service] Type=simple User=minecraft Group=minecraft WorkingDirectory=/opt/minecraft/fabric ExecStart=/usr/bin/java -Xms4G -Xmx8G -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 fabric-server-launch.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-forge
sudo systemctl enable minecraft-fabric
3. Запустите нужный сервис:
sudo systemctl start minecraft-forge
- или
sudo systemctl start minecraft-fabric
4. Проверьте статус:
sudo systemctl status minecraft-forge
sudo systemctl status minecraft-fabric
9. Настройка файрвола
Настройка 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
10. Мониторинг и диагностика
Создание скрипта мониторинга
1. Создайте скрипт мониторинга:
sudo nano /usr/local/bin/minecraft-mods-monitor.sh
2. Добавьте содержимое:
\#!/bin/bash \# Проверка статуса Forge сервера if ! systemctl is-active --quiet minecraft-forge; then echo "Minecraft Forge сервер не запущен!" | mail -s "Minecraft Alert" admin@example.com fi \# Проверка статуса Fabric сервера if ! systemctl is-active --quiet minecraft-fabric; then echo "Minecraft Fabric сервер не запущен!" | mail -s "Minecraft Alert" admin@example.com fi \# Проверка использования памяти MEMORY_USAGE=$(ps aux | grep -E "(forge|fabric)" | grep -v grep | awk '{print $4}' | head -1) 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
3. Сделайте скрипт исполняемым:
sudo chmod +x /usr/local/bin/minecraft-mods-monitor.sh
4. Добавьте в crontab:
sudo crontab -e
5. Добавьте задачу:
*/5 * * * * /usr/local/bin/minecraft-mods-monitor.sh
11. Резервное копирование
Создание скрипта резервного копирования
1. Создайте скрипт резервного копирования:
sudo nano /usr/local/bin/minecraft-mods-backup.sh
2. Добавьте содержимое:
\#!/bin/bash BACKUP_DIR="/backup/minecraft-mods" DATE=$(date +%Y%m%d_%H%M%S) \# Создание директории для бэкапа mkdir -p $BACKUP_DIR \# Остановка серверов для бэкапа systemctl stop minecraft-forge systemctl stop minecraft-fabric \# Создание архива Forge if [ -d "/opt/minecraft/forge" ]; then tar -czf $BACKUP_DIR/forge-backup-$DATE.tar.gz -C /opt/minecraft forge fi \# Создание архива Fabric if [ -d "/opt/minecraft/fabric" ]; then tar -czf $BACKUP_DIR/fabric-backup-$DATE.tar.gz -C /opt/minecraft fabric fi \# Запуск серверов systemctl start minecraft-forge systemctl start minecraft-fabric \# Удаление старых бэкапов (старше 7 дней) find $BACKUP_DIR -name "*-backup-*" -mtime +7 -delete echo "Minecraft mods backup completed: $DATE"
3. Сделайте скрипт исполняемым:
sudo chmod +x /usr/local/bin/minecraft-mods-backup.sh
4. Добавьте в crontab:
sudo crontab -e
5. Добавьте задачу:
0 3 * * * /usr/local/bin/minecraft-mods-backup.sh
12. Устранение неполадок
Частые проблемы
1. Моды не загружаются:
- Проверьте совместимость версий модов
- Проверьте зависимости модов
- Проверьте логи сервера
2. Проблемы с производительностью:
- Увеличьте выделенную память
- Оптимизируйте JVM параметры
- Проверьте конфликтующие моды
3. Сервер не запускается:
- Проверьте целостность файлов модов
- Проверьте конфигурацию модов
- Проверьте логи сервера
Диагностика
1. Проверка статуса серверов:
sudo systemctl status minecraft-forge
sudo systemctl status minecraft-fabric
2. Проверка логов:
sudo journalctl -u minecraft-forge -f
sudo journalctl -u minecraft-fabric -f
3. Проверка модов:
ls -la /opt/minecraft/forge/mods/
ls -la /opt/minecraft/fabric/mods/
4. Проверка конфигурации:
ls -la /opt/minecraft/forge/config/
ls -la /opt/minecraft/fabric/config/
Заключение
Minecraft серверы с модами (Forge/Fabric) успешно установлены и настроены! Теперь у вас есть полнофункциональные серверы с поддержкой модов, мониторингом и резервным копированием.
Для размещения ваших Minecraft серверов с модами на надежном хостинге рекомендуем воспользоваться услугами [ARK-HOSTER.RU](https://ark-hoster.ru):
- [Выделенные серверы](https://ark-hoster.ru/dedicated/) - для высоконагруженных серверов с модами
- [VPS/VDS серверы](https://ark-hoster.ru/vpsgame/) - для небольших и средних серверов
Наши специалисты помогут с настройкой Minecraft серверов с модами и оптимизацией производительности!