Авто обновление сервера

ololosh

Участник
Сообщения
134
Реакции
7
Доброго времени суток Администраторы серверов. Прошу вашей помощи. Скажу сразу что пользовался поиском на вашем сайте. Переходил по этой и по этой ссылке.

В общем ничего не могу разобрать. Ребята помогите плиз!

Система Linux Debian. У меня есть папка в /home/user/steam
В этой папке к примеру есть апдейтер updatetf2.sh с содержимым

C-подобный:
./steamcmd.sh +login anonymous +force_install_dir ./tf2/ +app_update 232250 validate +quit

Сам файл запускающий сервер находится в /home/user/steam/tf2 (куда и собственно качается сам сервер)

Сам запускающий файл starttf2.sh выглядит внутри так

C-подобный:
#!/bin/sh
while true
do
screen -AmS myserver2 ./srcds_run -console -game tf +map ctf_2fort +ip 192.168.0.104 +hostport 27016 +clientport 27005 +maxplayers 32 -exec server.cfg
sleep 1
done

Подскажите по возможности по наглядней что нужно сделать. Что дописать в starttf2.sh или что то куда то ещё. Если можно вас попросить то напишите целиком "то что должно получится" Огромно вам буду благодарен! А то каждый день ребутать сервак чтоб его обновлять надоело уже!
 

TolikCorp

Участник
Сообщения
874
Реакции
334
./steamcmd.sh +login anonymous +force_install_dir /home/user/steam/tf2 +app_update 232250 +quit
 
Последнее редактирование:

EaglEs

Гуру пробития усилений
Сообщения
930
Реакции
198
./steamcmd.sh +login anonymous +force_install_dir force_install_dir /home/user/steam/tf2 +app_update 232250 +quit
Выделенное лишнее вроде бы.

Добавлено через 1 минуту
Немного не понял. Где + к примеру дописывать? И здесь же просто директория для скачивания!
Ну это тебе скрипт обновления сервера дали...
 
Последнее редактирование:

ololosh

Участник
Сообщения
134
Реакции
7
Выделенное лишнее вроде бы.

Добавлено через 1 минуту

Ну это тебе скрипт обновления сервера дали...


Так же это скрипт и есть обновление самого сервака, только с полной директорией. А мне нужно понять как сделать автообновление. Чтоб к примеру то ли сервак сам получал информацию что вышло обновление, толь как то рестартился, с начало обновлялся а потом запускался сам скрипт запуска
 

The Night Fury

Участник
Сообщения
1,300
Реакции
1,395
В бинарях TF2 есть параметр "-autoupdate". Он требует настройки ещё двух параметров. Каких — точно не скажу, но если захочешь — добавь параметр и посмотри на запросы от консоли.
 

TolikCorp

Участник
Сообщения
874
Реакции
334
Меня одного смутил запуск миллиона серверов?
#!/bin/sh
while true
do
screen -AmS myserver2 ./srcds_run -console -game tf +map ctf_2fort +ip 192.168.0.104 +hostport 27016 +clientport 27005 +maxplayers 32 -exec server.cfg
sleep 1
done

Цикл то бесконечный...
 

ololosh

Участник
Сообщения
134
Реакции
7
Меня одного смутил запуск миллиона серверов?
#!/bin/sh
while true
do
screen -AmS myserver2 ./srcds_run -console -game tf +map ctf_2fort +ip 192.168.0.104 +hostport 27016 +clientport 27005 +maxplayers 32 -exec server.cfg
sleep 1
done

Цикл то бесконечный...

Мне помогли его сделать. Чтоб сервер когда падал сам перезапускался.

The Night Fury Ну подскажи, ну помоги.
 

TolikCorp

Участник
Сообщения
874
Реакции
334
при вызове этого файла ты получишь бесконечное число скринов с серверами

Добавлено через 1 минуту
Чтобы не заморачиваться с созданием скрипта обновления, вот деревянный метод:
PHP:
#!/bin/sh
while true
do
/home/user/steam/steamcmd.sh +login anonymous +force_install_dir /home/user/steam/tf2 +app_update 232250 +quit
/home/user/steam/tf2/srcds_run -console -game tf +map ctf_2fort +ip 192.168.0.104 +hostport 27016 +clientport 27005 +maxplayers 32 -exec server.cfg
sleep 1
done
 
Последнее редактирование:
  • Мне нравится
Реакции: TWRP

ololosh

Участник
Сообщения
134
Реакции
7
А потом как? Если выйдут обновления? Ребутать выходит скрипт?
 

MFS

Участник
Сообщения
1,533
Реакции
787
Добавляешь команду в crontab по команде "crontab -e"

awk ищет по имени screen

Например в 6 утра убивается screen сервера (с именем TF01), и потом обновляется и запускается через update_tf01_1.sh

0 6 * * * kill `ps -ef | awk '! /awk/ && /TF01/ {print $2}'`; cd /home/xyz/steam_pipe; ./update_tf01_1.sh > /dev/null



steam_pipe/update_tf01_1.sh
./steamcmd.sh +runscript update_tf01.txt
cd /home/xyz/steam_pipe/tf01
./run1.sh


steam_pipe/update_tf01.sh

./steamcmd.sh +quit
./steamcmd.sh +login anonymous +force_install_dir ./tf01/ +app_update 232250 validate +quit


steam_pipe/update_tf01.txt
@ShutdownOnFailedCommand 1
@NoPromptForPassword 0
login anonymous
force_install_dir ./tf01
app_update 232250 validate
quit


steam_pipe/tf01/run1.sh
#!/bin/sh
cd /home/xyz/steam_pipe/tf01/
screen -A -m -d -S TF01 ./srcds_run -console -game tf -port 27026 +map ctf_2fort +sv_lan 0 +ip ваше_ип +maxplayers 26 -nohltv -steamport 28015
 

BatyaMedic

Участник
Сообщения
766
Реакции
127

ololosh

Участник
Сообщения
134
Реакции
7
Добавляешь команду в crontab по команде "crontab -e"

awk ищет по имени screen

Например в 6 утра убивается screen сервера (с именем TF01), и потом обновляется и запускается через update_tf01_1.sh

0 6 * * * kill `ps -ef | awk '! /awk/ && /TF01/ {print $2}'`; cd /home/xyz/steam_pipe; ./update_tf01_1.sh > /dev/null



steam_pipe/update_tf01_1.sh
./steamcmd.sh +runscript update_tf01.txt
cd /home/xyz/steam_pipe/tf01
./run1.sh

А в случае падения или ддоса как он подниматся будет?

steam_pipe/update_tf01.sh

./steamcmd.sh +quit
./steamcmd.sh +login anonymous +force_install_dir ./tf01/ +app_update 232250 validate +quit


steam_pipe/update_tf01.txt
@ShutdownOnFailedCommand 1
@NoPromptForPassword 0
login anonymous
force_install_dir ./tf01
app_update 232250 validate
quit


steam_pipe/tf01/run1.sh
#!/bin/sh
cd /home/xyz/steam_pipe/tf01/
screen -A -m -d -S TF01 ./srcds_run -console -game tf -port 27026 +map ctf_2fort +sv_lan 0 +ip ваше_ип +maxplayers 26 -nohltv -steamport 28015

А в случае падения или ддоса как он подниматся будет?
 
Сверху Снизу