Как да направим сървър за CS 1.6 под FreeBSD/Linux

КАК ДА НАПРАВИМ СЪРВЪР ЗА CS 1.6 ПОД FreeBSD 

Изисквания: 
1. Правилно инсталирана и конфигурирана FreeBSD система. 
2. Root достъп 
3. Поддръжка на Linux емулация 
4. Минимални изисквания към хардуера – 1 GB дисково пространство, 256 MB RAM, 1 GHz CPU 

След като сте изпълнили всички горни изисквания може да започне същинската част. Силно препоръчително е да стартирате сървъра си с не привилегирован потребителски акаунт (non-root user). Създайте нов акаунт в системата чрез adduser, като на въпроса “Use password-based authentication?” отговорете с “no”, на “Lock out the account after creation?” отговорете с “yes”. По този начин добавеният потребител няма да може да се логва в системата като обикновен потребител, а ще можете да се логнете с неговия акаунт единствено през root акаунта, т.е. когато влизате ще трябва да влизате първо с вашия личен потребител, след това се логвате като root, и тогава като напишете su csserver или както се казва вашия акаунт предназначен за сървъра ще влезете като csserver. Това са съображения за сигурност. След като сте влезли като csserver отидете в неговата home директория и свалете steam клиента за Linux от тук –http://storefront.steampowered.com/downl…..supdatetool.bin . След като го свалите го направете изпълним с: 

chmod +x hldsupdatetool.bin 

и го стартирайте така: 

./hldsupdatetool.bin 
и се съгласете с “yes”, след което в home директорията на csserver ще се разархивира изпълнимият steam клиент. Стартирайте го само така: 

./steam 
за да се обнови. Ще видите нещо подобно на това: 

Checking bootstrapper version … 
Getting version 16 of Steam HLDS Update Tool 
Downloading. . . . . . . . . . 

След обновяването го стартирайте пак със: 

./steam 
за да видите начина на употреба ако не го знаете. Ако го знаете може директно след като сте го обновили да стартирате инсталацията на CS сървъра така: 

./steam –command update –game cstrike –dir /home/csserver –username acc> -password -remember_password –verify_all –retry 

или така: 

./steam –command update –game cstrike –dir /home/csserver –verify_all –retry 
(доколкото знам при по новите версии на steam не е задължително да имате steam акаунт) 

Сега си намерте временно занимание докато се свалят около 300 MB софтуер. Възможно е инсталацията да се прекъсне и ако това се получи просто стартирайте същата команда отново за да продължите от там до където сте стигнали. Когато видите съобщението “HLDS is up to date” значи инсталацията е приключила успешно. 
Сега от home директорията на csserver стартирайте сървъра така: 

./hlds_run –game cstrike +ip +map de_aztec +maxplayers 10 –nomaster –insecure –port 27015 

Ще видите нещо подобно: 

Auto detecting CPU 
Using Pentium II Optimised binary. 
Auto-restarting the server on crash 
Console initialized. 
Protocol version 47 
Exe version 1.1.2.5/Stdio (cstrike) 
Exe build: 12:05:29 Sep 30 2005 (3213) 
STEAM Auth Server 
Server IP address 22.33.44.55:27015 

Стартиран така, сървъра не работи във фонов режим (background) и вие оставате закачени към конзолата на сървъра, което значи че можете да задавате команди към сървъра, но при Ctrl+C или logout сървъра ще се спре, което едва ли искате. За да стартирате сървъра във background е необходимо да добавите знака “&” на края на командата с която го пускате. Добра идея е да си направите стартиращ скрипт в който да е цялата команда с всички параметри и от home директорията на сървъра ще можете да го пускате примерно само с ./csstart.sh . Не забравяйте че този скрипт трябва да е в директорията където се намира hlds_run и трябва да го стартирате от директорията в която се намира. Ето съдържанието на един примерен стартов скрипт: 

#!/bin/sh 
/usr/home/cs/server/hlds_run -game cstrike +map de_aztec +ip 192.168.1.100 +maxplayers 14 -nomaster -insecure -port 27015 & 

Не забравяйте да направите скрипта изпълним: 

chmod +x csstart.sh 

Кой параметър за какво служи: 

-game cstrike – задава на hlds кой от модовете да стартира 
+ip – задава на кой IP адрес да слуша сървъра (ако машината ви има само един IP адрес може да пропуснете този параметър) 
+map de_aztec – задава с коя карта да се стартира сървъра (може да посочите каквато карта искате, необходимо е само да я имате в поддиректорията cstrike/maps) 
+maxplayers 10 – задава максималния брой играчи 
-nomaster – този параметър указва на сървъра да не се свързва със steam master servers 
-insecure – указва на сървъра да се стартира с изключен VAC (Valve Anti Cheat – вградена от Valve античийт система, която е несъвместима с Cheating Death, т.е. сървъра ви може да ползва една от двете, но не и двете едновременно) 
-port 27015 – указва порта на който сървъра да слуша и приема заявки (ако искате да ползвате стандартния порт 27015 този параметър може да бъде пропуснат) 

Честито! Вече си имате собствен сървър за Counter-Strike 1.6, само че това е един гол сървър за CS, достъпен единствено от LAN-а в който се намира и без никакви допълнителни екстри като AMX mod, Cheating Death, Metamod, Statsme и други. За всеки един адон от изброените ще напиша отделни туториали.

Как да защитим Counter-Strike сървъра си от DoS атаки

Ако имате Counter-Strike сървър, е много вероятно да станете жертва на DoS атака. DoS атака означава Denial of service атака или отказ за услуга. При този вид атака атакуващия изпраща хиляди заявки за кратко време към сървъра ви, като по този начин го претоварва и го прави неспособен да приема заявки от реални клиенти. Сървъра зависва, натоварва процесора на максимум и остава така до рестарт на cs сървъра. След което, ако атакуващия е сериозно мотивиран да ви създава ядове ще атакува пак и така до безкрай..

 

За щастие обаче, има начин да се защитим от повечето атаки. Начина който открих е за linux hlds.

HLShield е малка библиотека, която се зарежда в halflife енджина и отхвърля подобни атаки. 

 

Характеристики:

-блокира почти всички DoS атаки

-блокира “born to be pig” експлойта

-блокира скриптове които се опитват да напълнят сървъра ви с фалшиви играчи

-може да премахне някой знаци от имената на играчите като “`” или “~”

-изпраща шеговито съобщение към атакуващия

-записва атаките – IP адрес на атакуващия и тип на атаката

-много лесен за инсталиране

 

Как се инсталира:

-влезте в сървъра си

-отидете в директорията където е hlds_run

-изпълнете следното:

Read more