1. Установка SUDO:
aptitude install sudo – устанавливаем пакет для запуска команд от имени админа
nano /etc/sudoers – находим строчку ROOT создаем под ней точно такую же, но вместе ROOT пишете ваш логин. Отредактировав файл, жмем: ctrl+x (закрыть), Y (принять изменения), enter (да, записать именно в эту папку и с таким именем). – Далее такая схема выхода из текстового редактора будет использоваться все время, запомните ее.
2. Настройка сети (под ROOT'ом)
aptitude install ifconfig pppoeconf – ставим пакеты для настройки инета
(первый для настройки сети, второй для настройки доступа в нет по логину и паролю через PPPOE, если у вас не PPPOE а VPN или другое – ищите инфу в инете)
nano /etc/network/interfaces – открываем файл настройки сетевушки (tcp/ip и прочее) внизу дописываем следующее (данные настройки справедливы ТОЛЬКО если ваша сетевуха определилась как eth0 и у вас статический внутрисетевой айпишник, про DHCP и как посмотреть имя вашей сетевушки, присовенное системой – ищите в нете):
#my net config
auto eth0
iface eth0 inet static
address xxx.xxx.xxx.xxx
netmask yyy.yyy.yyy.yyy
gateway zzz.zzz.zzz.zzz
hwaddress ether 00:AA:11:BB:22:CC
последняя строчка это мак-адрес который забит у вашего провайдера, его есть смысл прописывать если ваш родной мак отличается от него, а менять мак-адрес у провайдера долго и нудно.
nano /etc/resolv.conf – открываем файл в который добавляем адреса DNS серверов вашего провайдера:
nameserver xxx.xxx.xxx.xxx
nameserver yyy.yyy.yyy.yyy
сохраняем выходим.
pppoeconf – настраиваем подключение к инету. На все запросы я отвечал "ДА", вводил только логин и пароль и все работало. На момент запуска этой команды сетевой кабель уже должен быть подключен к компу, иначе не сработает.
Далее я рекомендую сделать полный ребут системы – так проще и не надо ничего прописывать:
(На всякий случай, вот команды работы с сетевым интерфейсом:
ifconfig – смотрит текущее состояние сети
ifconfig eth0 down – отклчить подключение по локальной сети
ifconfig eth0 up – включить подключение по локальной сети
poff dsl-provider – отключить коннект к инету (pppoe)
pon dsl-provider – включить коннект к интернету (pppoe)
/etc/init.d/networking restart – рестарт всего сетевого интерфейса )
вместо всего этого можно прописать:
reboot
Опять заходим под ROOT'ом и пингуем интернет, чтобы удостовериться что он есть:
ping ya.ru – если пинги идут то все шикарно
2.3. Настройка apt-get (под ROOT'ом)
apt-get это инсталятор ПО
nano /etc/apt/sources.list – в этом файле указаны источники инсталяционных пакетов для debian – после установки с CD-rom, там обычно все закомментировано кроме самого CD-rom.
source.list с учетом вашей территориально принадлежности:
#############################################################
################### OFFICIAL DEBIAN REPOS ###################
#############################################################
###### Debian Main Repos
deb http://ftp.ua.debian.org/debian/ lenny main contrib non-free
deb-src http://ftp.ua.debian.org/debian/ lenny main contrib non-free
###### Debian Update Repos
deb http://security.debian.org/ lenny/updates main contrib non-free
deb-src http://security.debian.org/ lenny/updates main contrib non-free
deb http://volatile.debi...debian-volatile lenny/volatile main contrib non-free
deb-src http://volatile.debi...debian-volatile lenny/volatile main contrib non-free
deb http://ftp.ua.debian.org/debian/ lenny-proposed-updates main contrib non-free
deb-src http://ftp.ua.debian.org/debian/ lenny-proposed-updates main contrib non-free
закрываем сохраняем.
apt-get update – обновляем источники нашего ПО, загружаемого из инета
после этого можно сразу установить SSH (описано ниже) и уже подключаться через putty с другого компа, чтобы не сидеть перед серваком.
3.. Установка через apt-get необходимого софта из инета (под ROOT'ом)
apt-get install mc – устанавливаем Midnight Commander он будет нашей единственной псевдо графической оболочкой
apt-get install zip – устанавливаем архиватор zip, нужен для некоторых архивов
apt-get install screen – устанавливаем утилиту которая позволить нам переключаться между основным терминалом и консолью нашего сервера в оконном режиме (что-то типа alt+tab в Windows)
apt-get install ssh – устанавливаем утилиту удаленного доступа к серверу
4. Установка FTP (под ROOT'ом)
apt-get install vsftpd – устанавливаем FTP сервер
nano /etc/vsftpd.conf – настройка FTP – надо расскомментить следующие строки:
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
сохраняемся выходим.
/etc/init.d/vsftpd restart – рестартуем FTP, чтобы изменения нашего конфиг файла вступили в силу.
mc - идем в МС, заходим в /home/ftp/ и через f7 создаем новый каталог "upload"
выделяем его, жмем f9 и заходим в меню файл, где выбираем пункт "расширенные права" назначаем владельцем СЕБЯ и группу СЕБЯ права для ДРУГИХ ставим только Х (снять R и W). Теперь в каталоге upload создаем (через F7) папку с хитроумным названием, которое очень сложно подобрать. Это делается для того чтобы без логинов и паролей через анонимуса могли фтп мог пользоваться только тот кто знает имя секретной папки.
Если кто-то левый захочет пробить ваш фтп, то он кроме папки upload ничего больше не увидит и ничего с ней не сможет сделать. Папке с хитроумным названием задайте права для других RWX – т.е. чтобы анонимус мог делать в ней все что захочет.
Теперь заходим на наш фтп (http://ftp://ip-address/upload/хитроумка) с другого компа и создаем новую папку – если получилось значит запись в каталог работает.
Теперь пробуем скопировать эту новую папку на наш комп – если получилось, то копирование из каталога тоже работает.
Удалять файлы с фтп можно только с самого сервака. это сделано в соображениях безопасности.
FTP нам нужен для обмена файлами при установке. Так же туда будет можно вешать карты и звуки для CS для быстрого скачивания, туда же часто вешается MOTD
Если вдруг вы в debian (НЕ ПОД РУТОМ) не сможете скопировать из папки upload в свою папку файлы только что залитые на FTP, выполните команду
sudo chmod =rwx –R /home/ftp/upload/хитроумка – и все получится
На всякий случай:
sudo /etc/init.d/vsftpd stop – остановка FTP
sudo /etc/init.d/vsftpd start – старт FTP
sudo /etc/init.d/vsftpd restart – рестарт FTP
если вы собираетесь кинуть на фтп папку и потом перекинуть ее на линуксе в свой каталог, то возможно вам надо будет дать себе права на доступ к этой папке:
sudo chmod =rwx –R /home/ftp/upload/хитроумка
exit – выходим из под ROOT'а
(подробнее о настройке VsFTPD тут http://www.opennet.r...erview.txt.html )
5. Установка и настройка КС-сервера
5.1 Качаем HLDS (не под ROOT'ом) а под логиным который прописали в файле nano/etc/sudoers
mkdir servers – создаем папку для наших будущих серверов
cd servers – заходим в эту папку
wget steampowered.com/download/hldsupdatetool.bin – качаем HLDSUpdateTool
chmod +x hldsupdatetool.bin – задаем для файла права на исполнение
./hldsupdatetool.bin – запускаем файл, на запрос отвечаем “yes”
mkdir hlds – создаем папку для HLDS
./steam –command update –game cstrike –dir hlds – запускаем процесс закачки сервака
(эту команду нужно повторить дважды, система попросит вас об этом)
Затем начинается закачка, ждем до 100 %
Скачали через винду все что нужно из инета и закидываем на фтп metamod, amxmodx и прочие архивы и плагины, необходимые для сервера.
sudo tar –xvvf amx.tar.gz – распаковать архив формата targ.gz
sudo unzip amx.zip – распаковать архив формата zip
так же все архивы тар.гз и zip (если он установлен) можно просматривать с помощью MC и извлекать файлы без терминала.
5.2 Добавляем server.cfg и стартуем сервер
Киньте ваш server.cfg в папку cstrike и:
./hlds_run –console –game cstrike -pingboost 2 +ip xx.xxx.xx.xx +port 27015 +maxplayers 20 +map de_dust2 +exec server.cfg
Так же почитайте где-нибудь фак по пингбусту, чтобы не использовать его необдуманно.
Смотрим на наличие ошибок, если их нет приступаем к второму этапу
5.3 Создаем скрипт запуска и прописываем его в автозагрузку.
sudo nano /servers/hlds server_start.sh – и пишем в нем:
#!/bin/sh
screen -A -m -d -S csscreen ./hlds_run -console +sv_lan 0 -game cstrike +maxplayers 20 +port 27015 +ip xx.xx.xx.xx -pingboost 3 +exec server.cfg +map de_dust2
- этим мы создали файл запуска сервера с указанными параметрами
sudo nano /bin/pub.sh – и пишем в нем:
#!/bin/bash
cd /полный/путь/к/папке/где/server_start.sh
./server_start.sh
screen -r csscreen
- этим мы создали скрипт№1 запуска нашего файлика start_server.sh
Скрипт для запуска сервера start_server.sh:
cd $GAME_PATH && screen -AmdS $SCREEN_NAME ./hlds_run +sv_lan 0 -game cstrike +ip MY_IP -master -secure +port 27016 +maxplayers 16 +map de_dust2 -heapsize 256000 $* +rcon_password MY_RCON +mapchangecfgfile server.cfg +exec listip.cfg+exec banned.cfg } stop() { PID=`ps fax | grep $SCREEN_NAME | grep SCREEN | awk '{ print $1 }'` kill $PID } restart() { stop start } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; *) echo $"Usage: $0 {start|stop|restart}" exit 1 esac exit 0
- этим мы помещаем скрипт запуска в автозагрузку и задаем в параметрах запуска: "ЗАПУСК ОТ ИМЕНИ "ИМЯ_ВАШЕЙ_УЧЕТКИ" - чтобы не запускать сервак из под рута (т.к. это не безопасно)
Если понадобится консоль сервера, то зайдя на сервак НЕ ПОД РУТОМ А ПОД СВОЕЙ УЧЕТКОЙ через putty пишем screen –ls и смотрим список запущенных скринов, а потом переключаемся на нужный скрин по имени, если скрин один, то можно просто screen –r или ctrl+A
Если в путти в МС каракули то необходимо его настроить: “PuTTY Configuration” - “Window” - “Translation” - “Received data assumed..” - UTF-8. И сохранить сессию с адресом сервера.
Для работы через screen:
screen -ls получаем список запущенных окон
screen -r чтоб подключиться к отключённому сеансу (ключи -m -d запускают сеанс в отлючённом режиме). Если у вас несколько сеансов можт понадобиться ввести номер.имя сеанса
6 Установка metamod и amxmodx
Распакуйте файл metamod_i386.so в папку /addons/metamod/dlls
Откройте /cstrike/liblist.gam с помощью текстового редактора
Замените следущую строку:
gamedll_linux "dlls/cs_i386.so"
на следующую:
gamedll_linux "addons/metamod/dlls/metamod_i386.so"
Теперь в папке метамод создайте файлик plugins.ini и добавьте в него строчку:
linux addons/amxmodx/dlls/amxmodx_mm_i386.so
то же самое для PODBOT - если вы их ставите:
linux addons/podbot/podbot_mm_i386.so