Страница 1 от 3

Linux стартиращ скрипт за Counter-Strike сървъри

Публикувано на: 09 Окт 2016, 16:54
от WaLkZ
Този скрипт прави следното:

* Държи вашия сървър винаги пуснат, тоест когато "крашне" скрипта ще го дигне отново
* Конзола която е в отделна сесия и винаги можете да влезете в нея
* Имате възможност по всяко време (чрез команда) да спрете, пуснете сървъра дори и да го рестартирате
* Автоматично стартиране на сървъра всеки път щом пуснете вашата машина
* Лесно се настройва и върши много добра работа

И нека да започнем с настройките на скрипта: (Той е прикачен по-долу в поста)
1. Преди да започнем със скрипта, трябва да инсталиране едно приложение ако го нямате, със следната команда:
За Debian базираните:

Код за потвърждение: Избери целия код

apt-get install screen
За RedHat базираните

Код за потвърждение: Избери целия код

yum install screen
2. Правите файл с някакво име в папката /etc/init.d

Код за потвърждение: Избери целия код

nano /etc/init.d/classic
3. Слагате в него съдържанието и го настройвате:

Код за потвърждение: Избери целия код

TITLE='Counter-Strike Dedicated Server' - Най-добре е тук да сложите името на сървъра ви (За да не се бъркате)
SESSION='hlds' - Името на сесията, чрез която по-късно ако ви се наложи да влезнете в конзолата на сървъра
DAEMON='hlds_run' - Името на демота който ще стартирате (Както обикновено той е hlds_run)
DIR='/home/hlds' - Пътя до директорията на сървъра
USER='root' - Под какъв потребител да върви сървъра (Препоръчително е да си остане root)

# Game options
IP='127.0.0.1' - Ип-то на сървъра през което той да тръгне
PORT='27015' - Порта на сървъра
MAP='de_dust2' - Стартиращата карта (С коя карта да тръгне сървъра)
GAME='cstrike' - Коя модификация искате да пуснете (За CS - cstrike. За Half-Life - valve)
PLAYERS='21' - Колко максимални играча да има сървъра
TICRATE='600' - sys_ticrate на сървъра
PINGBOOST='2' - Буустера на сървъра възможности 1, 2 или 3
SVLAN='0' - sv_lan опцията
RCON='' - И rcon паролата (Ако не искате такава оставете това празно)
4. След като сте настроили скрипта е време да му зададем нужните права:

Код за потвърждение: Избери целия код

chmod +x името-на-файла
Пример:

Код за потвърждение: Избери целия код

chmod +x classic
5. Сега време да включим скрипта в процесите на Linux-а за Debian базирани:

Код за потвърждение: Избери целия код

update-rc.d името-на-файла defaults 99
Пример:

Код за потвърждение: Избери целия код

update-rc.d classic defaults 99
5. Сега време да включим скрипта в процесите на Linux-а за RedHat базирани:

Код за потвърждение: Избери целия код

chkconfig --level 345 името-на-файла on
Пример:

Код за потвърждение: Избери целия код

chkconfig --level 345 classic on
6. Вече скрипта е готов за работа, ето и командите за опериране с него:
6.1. Стартиране на сървъра:

Код за потвърждение: Избери целия код

/etc/init.d/classic start
6.2. Спиране на сървъра:

Код за потвърждение: Избери целия код

/etc/init.d/classic stop
6.3. Рестартиране на сървъра:

Код за потвърждение: Избери целия код

/etc/init.d/classic restart
7. Как да влезем в неговата сесия (Тоест в конзолата на сървъра)

Код за потвърждение: Избери целия код

/etc/init.d/името-на-файла watch
Пример:

Код за потвърждение: Избери целия код

/etc/init.d/classic watch
8. Как да излезем от конзолата без сървъра да спре:
8.1. Натискате едновременно комбинацията от бутони:

Код за потвърждение: Избери целия код

Ctrl + A + D
Внимание: Ако натиснете комбинацията

Код за потвърждение: Избери целия код

Ctrl + C
Сървъра ви ще спре! Тъй като по този начин вие прекратявате работата на неговата сесия.

Промени:
1. Преправяне на скрипта, за да тръгне на новия Debian Squeezy
2. Пренаписване времето за което сървъра се рестартира (Така се избягва евентуално дублиране на сесиите)
3. Добавяне на нова опция в скрипта "watch" която Ви позволява директно влизане в конзолата на сървъра
4. Премахване на HighPriority опцията, тъй като беше излишна

Автор: freedj a.k.a kostov
hlds-2.txt
(3.85 KiB) Свалено 232 пъти
hlds-2.txt
(3.85 KiB) Свалено 232 пъти

Re: Linux стартиращ скрипт за Counter-Strike сървъри

Публикувано на: 06 Ное 2016, 11:25
от mount4
Искам да попитам дали има проблем при повече от 1 сървър защото сегашния ми скрипт който използвам е бъгав:

Като напиша start при 1 ръннат сървър ми дава "HLDS is already running" и това е защото проверява дали съществува процес hlds_linux .. а той както се досетихте ---> съществува от вече ръннатия сървър.

Re: Linux стартиращ скрипт за Counter-Strike сървъри

Публикувано на: 15 Ное 2016, 06:24
от mount4
Този скрипт не работи добре. Аз даже го преработих малко. Ето моята версия: http://bans.mnml-mn.ml/hlds1.txt
Това което промених е: използване на "su" вместо "sudo" при run-ването на самия сървър. (Не всички системи имат инсталирано "судо")

Забелязах че сред параметрите го има този "-pidfile" който не е за цс 1.6 а за новия цс.
Справка: https://developer.valvesoftware.com/wik ... ne_Options

Първото ми лошо впечатление: пиша старт и сървъра тръгва много бавно.

Последното: като напиша стоп и сървъра неспира дори след 15 минути.
Пише това пък реално сървъра си работи:

Код за потвърждение: Избери целия код

Stopping Rehlds 1
Killing process ID 10837
Removing Rehlds 1 screen pid file
Removing Rehlds 1 pid file
Rehlds 1 stopped.
едит: пробвах пак "стоп" функцията и този път сработи.

Re: Linux стартиращ скрипт за Counter-Strike сървъри

Публикувано на: 05 Яну 2017, 18:08
от cgozzie
Не ми разрешава да копирам файла в указаната дериктория защо..от точка 2.

3. Слагате в него съдържанието и го настройвате:

Код за потвърждение: Избери целия код

TITLE='Counter-Strike Dedicated Server' - Най-добре е тук да сложите името на сървъра ви (За да не се бъркате)
SESSION='hlds' - Името на сесията, чрез която по-късно ако ви се наложи да влезнете в конзолата на сървъра
DAEMON='hlds_run' - Името на демота който ще стартирате (Както обикновено той е hlds_run)
DIR='/home/hlds' - Пътя до директорията на сървъра
USER='root' - Под какъв потребител да върви сървъра (Препоръчително е да си остане root)

# Game options
IP='127.0.0.1' - Ип-то на сървъра през което той да тръгне
PORT='27015' - Порта на сървъра
MAP='de_dust2' - Стартиращата карта (С коя карта да тръгне сървъра)
GAME='cstrike' - Коя модификация искате да пуснете (За CS - cstrike. За Half-Life - valve)
PLAYERS='21' - Колко максимални играча да има сървъра
TICRATE='600' - sys_ticrate на сървъра
PINGBOOST='2' - Буустера на сървъра възможности 1, 2 или 3
SVLAN='0' - sv_lan опцията
RCON='' - И rcon паролата (Ако не искате такава оставете това празно)


Дава ми и това от точка 1.
cgozzie@dragomir:~$ apt-get install screen
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
cgozzie@dragomir:~$

Със Ubuntu 16.04.1 LTS ползвам.

Re: Linux стартиращ скрипт за Counter-Strike сървъри

Публикувано на: 05 Яну 2017, 22:40
от hackera457

Код за потвърждение: Избери целия код

cgozzie@dragomir:~$ apt-get install screen
--->

Код за потвърждение: Избери целия код

cgozzie@dragomir:~$ sudo apt-get install screen
Добави "sudo" за да инсталираш като root

Re: Linux стартиращ скрипт за Counter-Strike сървъри

Публикувано на: 05 Яну 2017, 23:14
от cgozzie
cgozzie@dragomir:~$ cgozzie@dragomir:~$ sudo apt-get install screen
cgozzie@dragomir:~$: command not found
cgozzie@dragomir:~$

cgozzie@dragomir:~$ sudo apt-get install screen
[sudo] password for cgozzie:

Каквато и команда дапиша в терминала постояно ми иска парола..
Изображение

Re: Linux стартиращ скрипт за Counter-Strike сървъри

Публикувано на: 06 Яну 2017, 01:17
от talibana
Вкарай главната парола за sudo su,няма как да минеш без роот паролата.

Re: Linux стартиращ скрипт за Counter-Strike сървъри

Публикувано на: 06 Яну 2017, 13:00
от cgozzie
Мда тва с паролата стана но да се върна малко по-горе в поста ми.Не ми дава да сложа къвто и да е файл в тази папка.

Изображение

С тази команда инсталира некви неща но ноли се иска файловия скрипт да е в etc/init.d ръчно не ми дава да го създам кажете как да го сложа за да мога да продължа по урока както сте го дали.
Изображение

Re: Linux стартиращ скрипт за Counter-Strike сървъри

Публикувано на: 06 Яну 2017, 14:45
от Buzdrev
Пишеш в конзолата sudo nautilus
след което ще ти се отвори нов файлов мениджър в който ще можеш да променяш тези неща, които не си можел в обикновения.

Re: Linux стартиращ скрипт за Counter-Strike сървъри

Публикувано на: 06 Яну 2017, 15:25
от cgozzie
Да стана благодаря но пак съм на камък..Направих файла сложих го в папката както е в урока.Стигнах до тази команда update-rc.d classic defaults 99 и ми изписва това в терминала..
root@dragomir:/home/cgozzie# chmod +x classic
root@dragomir:/home/cgozzie# update-rc.d classic defaults 99
insserv: warning: script 'classic' missing LSB tags and overrides
root@dragomir:/home/cgozzie#

Сега зе че стигнах уж до самото пускане на сървъра обаче нищо не тръгва..
root@dragomir:/home/cgozzie# update-rc.d classic defaults 99
root@dragomir:/home/cgozzie# /etc/init.d/classic start
root@dragomir:/home/cgozzie#