unity
Участник
- Сообщения
- 242
- Реакции
- 133
Большинство используют обновление серверов по крону и некоторые плагинами. У SteamCMD есть нативный способ обновление серверов без крона и сторонних плагинов. Многие об этом знают или слышали, но мало кто знает, как правильно настроить, а если и настроили, но не обновляется - возвращаются опять по старинке обновлять по крону, так и не попытавшись разобраться.
Требование:
Переименованный файл steam.sh закинуть в туже папку /steamcmd и выставить права файла 700
в папке /steamcmd/linux32/ сделать копию файла steamcmd и переименовать его в steam
переименованный файл steam закинуть в туже папку /steamcmd/linux32/ и выставить права файла 700
В папке /steamcmd/ создать файл с любым именем. На пример у меня update_aim.txt В текстовом файле вставляем содержимое:
Прошу заметить:
force_install_dir ../aimserv // Имя папки сервера у вас своё
Создать файл с любым именем в корень папки сервера. с расширением .sh (Это важно!) и выставить права файла 700 На пример у меня /home/unity/aimserv/aimstart.sh
Cкопируйте у меня содержимое и отредактируйте под себя и вставьте его в созданный файл с расширением .sh
Прошу заметить:
В server.cfg или конфиг режима вставить переменную sv_hibernate_when_empty 1 // Если у вас присутствует в конфиге эта переменная, но стоит значение 0, автоматическое обновление не сработает и будет каждые 10 секунд сервер уходить в краш, когда выйдет обновление. Убедитесь, что переменная sv_hibernate_when_empty ни в каких конфигах больше не повторяется с другим значением.
Когда выходит обновление - игроков сообщает, что сервер через 10 секунд перезагрузится для обновление. Если нет игроков, то сервер сразу уходит на перезагрузку для обновления.
Вот и всё! Если что то не понятно - задавайте вопросы в комментариях! Отвечу всем. )
Не забудьте удалить свои кроны на автоматическое обновления по времени! в crontab
Требование:
- linux
- vps/vds
- SteamCMD
Переименованный файл steam.sh закинуть в туже папку /steamcmd и выставить права файла 700
в папке /steamcmd/linux32/ сделать копию файла steamcmd и переименовать его в steam
переименованный файл steam закинуть в туже папку /steamcmd/linux32/ и выставить права файла 700
В папке /steamcmd/ создать файл с любым именем. На пример у меня update_aim.txt В текстовом файле вставляем содержимое:
@ShutdownOnFailedCommand 1
@NoPromptForPassword 1
login anonymous
force_install_dir ../aimserv
app_update 740
quit
@NoPromptForPassword 1
login anonymous
force_install_dir ../aimserv
app_update 740
quit
Прошу заметить:
force_install_dir ../aimserv // Имя папки сервера у вас своё
Создать файл с любым именем в корень папки сервера. с расширением .sh (Это важно!) и выставить права файла 700 На пример у меня /home/unity/aimserv/aimstart.sh
Cкопируйте у меня содержимое и отредактируйте под себя и вставьте его в созданный файл с расширением .sh
screen -A -m -d -S aimserv /home/unity/aimserv/srcds_run -autoupdate -steam_dir /home/unity/steamcmd/ -steamcmd_script /home/unity/steamcmd/update_aim.txt -game csgo -console -usercon +net_public_adr 0.0.0.0 +ip 0.0.0.0 -maxplayers_override 24 -tickrate 128 -port 27037 +tv_port 37037 +game_type 0 +game_mode 0 +host_workshop_collection 485684628 +workshop_start_map 2240626180 -secure +sv_lan 0 -condebug -debug +clientport 47037
Прошу заметить:
- screen -A -m -d -S aimserv // aimserv - Это папка сервера, У вас своё имя
- /home/unity/aimserv/srcds_run // У вас свой путь к файлу srcds_run
- -autoupdate // Запускает автоматическое обновление
- -steam_dir /home/unity/steamcmd/ // у вас свой путь к папке steamcmd
- -steamcmd_script /home/unity/steamcmd/update_aim.txt // у вас свой путь к файлу со своим именем, в котором есть содержимое для авторизауии SteaCMD
В server.cfg или конфиг режима вставить переменную sv_hibernate_when_empty 1 // Если у вас присутствует в конфиге эта переменная, но стоит значение 0, автоматическое обновление не сработает и будет каждые 10 секунд сервер уходить в краш, когда выйдет обновление. Убедитесь, что переменная sv_hibernate_when_empty ни в каких конфигах больше не повторяется с другим значением.
Когда выходит обновление - игроков сообщает, что сервер через 10 секунд перезагрузится для обновление. Если нет игроков, то сервер сразу уходит на перезагрузку для обновления.
Вот и всё! Если что то не понятно - задавайте вопросы в комментариях! Отвечу всем. )
Не забудьте удалить свои кроны на автоматическое обновления по времени! в crontab
Последнее редактирование: