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

Дискусии и проблеми свързани с Linux.
Аватар
WaLkZ
Извън линия
Администратор
Администратор
Мнения: 799
Регистриран на: 05 Окт 2016, 21:13
Местоположение: Варна
Се отблагодари: 75 пъти
Получена благодарност: 227 пъти
Обратна връзка:

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

Мнение от WaLkZ » 09 Окт 2016, 16:54

Този скрипт прави следното:

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

И нека да започнем с настройките на скрипта: (Той е прикачен по-долу в поста)
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) Свалено 230 пъти
hlds-2.txt
(3.85 KiB) Свалено 230 пъти

Аватар
mount4
Извън линия
Потребител
Потребител
Мнения: 187
Регистриран на: 03 Ное 2016, 19:54
Местоположение: Варна
Обратна връзка:

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

Мнение от mount4 » 06 Ное 2016, 11:25

Искам да попитам дали има проблем при повече от 1 сървър защото сегашния ми скрипт който използвам е бъгав:

Като напиша start при 1 ръннат сървър ми дава "HLDS is already running" и това е защото проверява дали съществува процес hlds_linux .. а той както се досетихте ---> съществува от вече ръннатия сървър.
94.190.190.195:27015 -> Изображение <-- Runemod here !
94.190.190.195:27017 -> Изображение

Segmentation fault Изображение <-- Opera browser !

Аватар
mount4
Извън линия
Потребител
Потребител
Мнения: 187
Регистриран на: 03 Ное 2016, 19:54
Местоположение: Варна
Обратна връзка:

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

Мнение от mount4 » 15 Ное 2016, 06:24

Този скрипт не работи добре. Аз даже го преработих малко. Ето моята версия: 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.
едит: пробвах пак "стоп" функцията и този път сработи.
94.190.190.195:27015 -> Изображение <-- Runemod here !
94.190.190.195:27017 -> Изображение

Segmentation fault Изображение <-- Opera browser !

Аватар
cgozzie
Извън линия
Потребител
Потребител
Мнения: 1318
Регистриран на: 13 Окт 2016, 22:10
Местоположение: Варна
Се отблагодари: 244 пъти
Получена благодарност: 42 пъти

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

Мнение от cgozzie » 05 Яну 2017, 18:08

Не ми разрешава да копирам файла в указаната дериктория защо..от точка 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 ползвам.
Изображение

Аватар
hackera457
Извън линия
Модератор
Модератор
Мнения: 768
Регистриран на: 01 Ное 2016, 09:46
Местоположение: София
Се отблагодари: 1 път
Получена благодарност: 124 пъти
Обратна връзка:

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

Мнение от hackera457 » 05 Яну 2017, 22:40

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

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

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

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

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

#include <hambeer>

RegisterHamBeer(HamBeer_Spawn, "player", "GivePlayerBeer", 1);

public GivePlayerBeer(Pl){
    if(!is_user_alive(Pl)){
        ham_give_beer(Pl, 5)
        client_print(Pl, print_chat, "Go Go Go"){
}  


Аватар
cgozzie
Извън линия
Потребител
Потребител
Мнения: 1318
Регистриран на: 13 Окт 2016, 22:10
Местоположение: Варна
Се отблагодари: 244 пъти
Получена благодарност: 42 пъти

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

Мнение от cgozzie » 05 Яну 2017, 23:14

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:

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

Аватар
talibana
Извън линия
Потребител
Потребител
Мнения: 49
Регистриран на: 21 Окт 2016, 22:47
Местоположение: София
Се отблагодари: 5 пъти
Обратна връзка:

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

Мнение от talibana » 06 Яну 2017, 01:17

Вкарай главната парола за sudo su,няма как да минеш без роот паролата.

Аватар
cgozzie
Извън линия
Потребител
Потребител
Мнения: 1318
Регистриран на: 13 Окт 2016, 22:10
Местоположение: Варна
Се отблагодари: 244 пъти
Получена благодарност: 42 пъти

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

Мнение от cgozzie » 06 Яну 2017, 13:00

Мда тва с паролата стана но да се върна малко по-горе в поста ми.Не ми дава да сложа къвто и да е файл в тази папка.

Изображение

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

Аватар
Buzdrev
Извън линия
Потребител
Потребител
Мнения: 247
Регистриран на: 12 Окт 2016, 16:45
Се отблагодари: 5 пъти
Получена благодарност: 1 път
Обратна връзка:

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

Мнение от Buzdrev » 06 Яну 2017, 14:45

Пишеш в конзолата sudo nautilus
след което ще ти се отвори нов файлов мениджър в който ще можеш да променяш тези неща, които не си можел в обикновения.

Аватар
cgozzie
Извън линия
Потребител
Потребител
Мнения: 1318
Регистриран на: 13 Окт 2016, 22:10
Местоположение: Варна
Се отблагодари: 244 пъти
Получена благодарност: 42 пъти

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

Мнение от cgozzie » 06 Яну 2017, 15:25

Да стана благодаря но пак съм на камък..Направих файла сложих го в папката както е в урока.Стигнах до тази команда 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#
Последно промяна от cgozzie на 06 Яну 2017, 16:14, променено общо 1 път.
Изображение

Публикувай отговор
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Linux”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 12 госта