Сборки серверов

СливПлатные

Сейчас онлайн

  • fckkluvv
  • DenPlayStar
  • KREEDCORE
  • Newriel
  • zxcKto
  • aryukashi7
  • HScats1
  • Mihalych4
  • 111eree
  • NickOre
  • kuz_danya
  • 432423
  • 3mk
  • Кот.
  • namenuker
  • leguhocu
  • LYNCH
  • Yoi0105
  • Booblick
  • chatodual
  • Segagoplay
  • FiNN
  • ssass
  • JuliGame14
  • NIС4257
  • Kra2kj
  • Taffelo
  • waedsdawzsdfwca
  • vv_vova
  • vasek123123
  • k213asd
  • Shadro
  • zdcki
  • Takymi
  • riquour
  • mehmetkozan
  • araazdoz
  • Naterno
  • erbest
  • NerFinPl
  • MxxFoxx.
  • Krintek
  • iisuperali2
  • OXIS
  • ovanahir
  • TonyBombony
  • Set
  • Vladis19k
  • xxxszaur
  • Zernovsky

Помощь Автозапуск сервера после перезагрузки VDS

  • Автор темыscarletJess
  • Дата начала
S
Привет! Подскажите пожалуйста.
Хочу сделать так что бы в случае если VDS перезагрузится, Minecraft сервер автоматически запускался.
OS: Ubuntu 22.04
 
Решение
bobobo

Автоподнятие сервера после перезагрузки:​

Скачиваешь вот этот скрипт запуска sh от Dymeth
Настраиваешь под себя...
Можешь его скачать командой wget https://gitlab.com/Dymeth/MCServerStarter/-/raw/master/start.sh
Далее работа с кроном.
вводишь crontab -e, если первый раз используешь, тебе предложат выбрать редактор.
Добавляешь туда:
Bash:
@reboot cd /путь/к/директории_сервера/ && ./start.sh
То есть ты должен понимать, что файл запуска start.sh должен находиться у тебя рядом с ядром.
/путь/к/директории_сервера/ замени на свой полный путь к папке с ядром сервера
Сохраняешь: Ctrl + O, и Enter. Ну и закрываешь редактор...
bobobo

Автоподнятие сервера после перезагрузки:​

Скачиваешь вот этот скрипт запуска sh от Dymeth
Настраиваешь под себя...
Можешь его скачать командой wget https://gitlab.com/Dymeth/MCServerStarter/-/raw/master/start.sh
Далее работа с кроном.
вводишь crontab -e, если первый раз используешь, тебе предложат выбрать редактор.
Добавляешь туда:
Bash:
@reboot cd /путь/к/директории_сервера/ && ./start.sh
То есть ты должен понимать, что файл запуска start.sh должен находиться у тебя рядом с ядром.
/путь/к/директории_сервера/ замени на свой полный путь к папке с ядром сервера
Сохраняешь: Ctrl + O, и Enter. Ну и закрываешь редактор: Ctrl + X

Копия автозапуска, для случая, если Dymeth удалит:​

Bash:
#!/bin/sh

# All system paths and filenames are case sensitive (uppercase and lowercase letters)
# Все системные пути и названия файлов чувствительны к регистру (заглавные и строчные буквы)

# *** Server app options / Параметры приложения-сервера ***

# Execution type: screen or tmux
# Тип выполнения: screen или tmux
execution_type="screen"

# To create a screen/tmux session and identify the process in top, htop, etc.
# Для создания сессии screen/tmux и идентификации процесса в top, htop и т.д.
server_name="lobby"

# Display the server console after starting the script
# Отображать ли консоль сервера сразу после запуска скрипта
auto_console_join=true

# Server app file name. If not specified, it will automatically find the jar file. Example: paper.jar
# Название файла ядра. Если не указано - найдёт jar-файл автоматически. Пример: paper.jar
jar_file=""

# Minimum amount of memory. Example: 2048M or 2G
# Минимальное количество памяти. Пример: 2048M или 2G
min_memory="1G"

# Maximum amount of memory
# Максимальное количество памяти
max_memory="5G"

# Server port. If not specified, the value from server.properties is used
# Порт сервера. Если не указан - используется значение из server.properties
server_port=""

# Whether to use a forced update of all chunks to the format of the current Minecraft-server version at startup
# Использовать ли при запуске принудительное обновление всех чанков до формата текущей версии Майнкрафт-сервера
force_chunks_upgrade=false

# *** Java options / Параметры Java ***

# Java directory (for JDK add "/bin" at the end). If not specified, the system path is used. Example: $HOME/jre-16.0.1 или $PWD/jdk-17.0.2/bin
# Директория Java (для JDK добавьте в конце "/bin"). Если не указана - используется системный путь. Пример: $HOME/jre-16.0.1 или $PWD/jdk-17.0.2/bin
java_dir=""

# Whether to enable profiling (requires more system resources). Only works with JDK
# Включить ли профилирование (требуется больше системных ресурсов). Работает только с JDK
profiling=false

# Whether to prevent errors like <<module java.base does not "opens java.lang" to unnamed module>>
# Предотвращать ли ошибки вида <<module java.base does not "opens java.lang" to unnamed module>>
fix_java_12_issues=true

# The host and port of the debug agent. If not specified, debugging is disabled. Example: 0.0.0.0:22222
# Хост и порт агента отладки. Если не указано - отладка отключена. Пример: 0.0.0.0:22222
debug_agent_address=""

# Log4j options file with .xml extension. If not specified, default settings are used. Example: log4j2.xml
# Файл параметров log4j с расширением .xml. Если не указано - используются настройки по-умолчанию. Пример: log4j2.xml
log4j_config=""



# *** Anything below is not recommended to be modified ***
# *** Всё, что ниже, менять не рекомендуется ***

# Source / Источник: https://mcflags.emc.gs
aikar_jvm_flags="-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"
jvm_flags="-server -Dfile.encoding=UTF-8"
app_flags="nogui"
display_start_command=false
process_hint="${server_name}"
script_name=$(basename "$0")

if [ "$jar_file" = "" ]; then
    for file in *.jar; do
        [ -f "$file" ] || break
        if [ "$jar_file" != "" ]; then
            echo "Multiple jar-files found: $jar_file and $file. Please specify jar_file option in $script_name"
            exit
        fi
        jar_file=$file
    done
    if [ "$jar_file" = "" ]; then
        echo "Jar-file not found. Please specify jar_file option in $script_name"
        exit
    fi
    echo "Using jar-file $jar_file"
fi

if [ "$1" != "deep" ]; then
    if [ "$execution_type" = "screen" ]; then
        screen -A -m -d -S ${server_name} bash "${script_name}" deep
        [ "$auto_console_join" = true ] && sleep 0.2 && screen -x ${server_name}
    elif [ "$execution_type" = "tmux" ]; then
        tmux new -d -s ${server_name}
        sleep 0.2
        tmux send-keys -t ${server_name} "bash \"${script_name}\" deep" Enter
        [ "$auto_console_join" = true ] && sleep 0.2 && tmux attach -t ${server_name}
    else
        echo "Wrong execution_type: $execution_type"
    fi
    exit
fi

#!/bin/bash

[ "$java_dir" != "" ] && java_dir="${java_dir}/"
java_binary="${java_dir}java"

jvm_flags+=" ${aikar_jvm_flags}"
if [ "$profiling" = true ]; then
    process_hint+="-profiling"
    jvm_flags="${jvm_flags// -XX:+PerfDisableSharedMem/}"
    jvm_flags+=" -Xshare:off"
fi
process_hint="$USER.${process_hint}"

add_opens_packages=()
add_modules_list=(
    "jdk.incubator.vector"
)

if [ "$fix_java_12_issues" = true ]; then
    add_opens_packages+=(
        "java.base/java.lang"
        "java.base/java.lang.reflect"
        "java.base/java.lang.invoke"
        "java.base/java.security"
    )
fi

for package in "${add_opens_packages[@]}"; do
    jvm_flags+=" --add-opens ${package}=ALL-UNNAMED"
done

for module_index in "${!add_modules_list[@]}"; do
    if [ "$module_index" = 0 ]; then
        jvm_flags+=" --add-modules="
    else
        jvm_flags+=","
    fi
    jvm_flags+="${add_modules_list[$module_index]}"
done

[ "$debug_agent_address" != "" ] && jvm_flags+=" -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=${debug_agent_address}"
[ "$log4j_config" != "" ] && jvm_flags+=" -Dlog4j.configurationFile=${log4j_config}"

[ "$server_port" != "" ] && app_flags+=" -port ${server_port}"
[ "$force_chunks_upgrade" = true ] && app_flags+=" --forceUpgrade"

start_command="${java_binary} -D_server=${process_hint} -Xms${min_memory} -Xmx${max_memory} ${jvm_flags} -jar ${jar_file} ${app_flags}"

if [ "$display_start_command" = true ]; then
    echo "Start command: $start_command"
fi

while true
do
    eval "${start_command}"
    echo "Server $server_name stopped. Rebooting in:"
    for seconds_left in {3..1}
    do
        echo "$seconds_left..."
        sleep 1
    done
done

# Author / Автор: dymeth.ru
 
Решение
Morozzovvv
Здарова, Я установил себе этот скрипт, но у меня перезагрузка уходит в вечный цикл, сколько бы Я не пробовал.
Даже если Я напишу команду рестарт то сервак останавливается, и не могу поднять сервер пока сам дедик не перезапущу :(
 
Morozzovvv
@Morozzovvv,
после ребута сервак офается, и когда пишу даже sh start.sh в результате старта сервера пишет FAILED BIND TO PORT хотя порт то открытый, и сервак отключён, фиксится это тем что Я перезапускаю вдс сервер и только после этого могу стартануть сервер
 
ВерхНиз