Хостинг игровых серверов
-
Поднимаем не большой хостинг игровых серверов у себя дома.
Требование:
* Прямые руки * Желание * Знание стандартных команд Ubuntu * Лишняя машина ( Не советую делать на своем домашнем компьютере) * Диск с Ubuntu Server 10.04
Что получим:
* Приличный домашний игровой хостинг * Стабильный сервер * Панель управления серверами * Работающий сайт
[spoiler=Моя текстовая версия(писал для себя в виде шпаргалки)]
- В /etc/hosts прописываем соответствие имени узла и IP-адреса. Например:
$ sudo nano /etc/hosts
192.168.0.200 web.server.com web
============================================================================== - Обновление списка пакетов и затем – полностью – систему:
$ sudo apt-get update
$ sudo apt-get upgrade
============================================================================== - Установка SSH и апдейтер времени
$ sudo apt-get install openssh-server ntp ntpdate
============================================================================== - Ставим пакеты для MySQL:
$ sudo apt-get install mysql-server mysql-client
Пароль для администратора баз данных
$ sudo mysqladmin -u root password пароль
============================================================================== - Установка веб-сервера Apache :
$ sudo apt-get install apache2
============================================================================== - Установка php:
$ sudo apt-get install php5 libapache2-mod-php5 php5-mysql
==============================================================================
Список всех доступных модулей PHP:
$ sudo a2enmod
============================================================================== - Установка браузера:
sudo apt-get install links2
============================================================================== - Проверка работы apache2:
http://localhost
==============================================================================
Задать домен для apache2
/etc/apache2/conf.d/fqdn.
$ sudo nano etc/apache2/conf.d/fqdn
ServerName web.server.com
============================================================================== - Настройки для PHP.ini
$ sudo nano /etc/php5/apache2/php.ini
==============================================================================
Создание места под сайты:
Добавить в apache2.conf строку:
UserDir public_html
И подгрузить модуль userdir:
$ sudo a2enmod userdir
Далее создать директорию в домашнем каталоге:
mkdir -m 755 ~/public_html
===============================================================================
sudo apt-get install phpmyadmin
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d
sudo apache2ctl restart
===============================================================================
Установка FTP:
sudo apt-get install proftpd[/spoiler]
P.S Кто не понял LAMP нужен чтобы можно было поднять сайт,поставить amxbans,psyhostats и др.
Защищаем машину от не большого ддоса:
sudo apt-get install libapache2-mod-evasive - Ставим мод для индейца
Создаем файл: "mod-evasive.conf"
sudo nano /etc/apache2/mods-available/mod-evasive.conf - Открываем файл
[spoiler=Дописываем:]DOSHashTableSize 4096
DOSPageCount 5
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10[/spoiler]Сохраняем и закрываем.
Подключаем модуль:
sudo a2enmod mod-evasive
Перезагружаем индейца^
sudo /etc/init.d/apache2 restartСтандартные команды Ubuntu:
cd .. - перейти в домашний каталог cd /.../.../ - перейти в директорию mkdir - создать дирректорию rm -r - удалить директорию rm - удалить файл rmdir - удалить пустую директорию sudo - выполнить операцию с правами рута nano /.../... - открыть файл в блокноте
Работа с FTP:
Качаем proftpd:
sudo apt-get install proftpd
Ставим у себя на дом.компьютере FileZilla
Подключаемся: Хост - локальный IP адрес машины,Логин и пароль - Ваши логин и пароль в системе Ubuntu[spoiler=Установка CS сервера на Ubuntu:]* Создаем директорию
sudo mkdir /opt/gameserver/- Идем в директорию
cd /opt/gameserver/ - Скачиваем hldsupdatetool.bin
sudo wget http://storefront.steampowered.com/download/hldsupdatetool.bin - Даем права на запуск
sudo chmod +x hldsupdatetool.bin - Запускаем сам файл
sudo ./hldsupdatetool.bin
Для тех у кого -bash hldsupdatetool.bin : No such file or directory выполняем apt-get install ia32-libs - Соглашаемся с лицензией
- Даем права на запуск файлу steam
sudo chmod +x steam - Обновляем кэш
sudo ./steam -command update - Скачиваем сервер
sudo ./steam -command update -game cstrike -dir /opt/gameserver/cs - Запускаем сервер
sudo /hlds_run -game cstrike -nomaster +ip ваш IP адрес +maxplayers 32 +port 27015 +map de_dust2 > /dev/null 2>&1 & - Ставим дпрото
- Запускаем с дпрото
sudo ./hlds_run -binary ./hlds_i686 -game cstrike -nomaster +ip ваш IP адрес +maxplayers 32 +port 27015 +map de_dust2 > /dev/null 2>&1 &[/spoiler]
Настройка IPtables:
если новое соединение на 27015 порт на внешнем интерфейсе идем в цепочку LIMIT
-A INPUT -p tcp -m tcp -m state -i eth0 --dport 27015 --state NEW -j LIMIT
Если соединений меньше 10/сек пропускаем
-A LIMIT -m limit --limit 10/second -j ACCEPT
иначе отбрасываем
-A LIMIT -j DROP
Также,если атака идет на сайт,можно защитить с помощью .htaccess запретив IP адреса из логов
Не откажусь от +
Делаем постоянный IP
- В /etc/hosts прописываем соответствие имени узла и IP-адреса. Например:
-
у меня друг так делал. но я как понемаю там ип часто меняется и вечером серв не работает.:(:
-
173779066, Купи у провайдера статический IP или пиши в ЛС скажу как сделать постоянный
-
у меня динамический :(:
деньги не охота тратить да и если есть программа которая делает статический IP? скиньте мне
Добавлено через 05:32 мин.
www.no-ip.com подойдет? -
kovalruslan97, Добавил видео
-
Ап
-
Мне как то пох у меня сервер на хосте
-
-
ЭнЭлО, ты екал? зачем статический ип брать к те обращатся? если он первого чсла будет постаянный!!!
-
smail xD, Ты понял,что ты написал???