no-steam |v.34| Zombiemod [B/IKCM] RUS http://forum.vlksm.in/ |
|
Сервер Counter-Strike:Source на VDS http://forum.vlksm.in/viewtopic.php?f=20&t=4320 |
Страница 1 из 1 |
Автор: | TPOLI,KUU[B/IKCM] [ 11 июн 2017, 14:52 ] |
Заголовок сообщения: | Сервер Counter-Strike:Source на VDS |
В этой статье я расскажу как сделать игровой сервер Counter-Strike:Source от 96 рублей в месяц. VDS/VPS
Скрытый текст
могу порекомендовать три хостинга:
time-host.net - сам им пользуюсь skyhost.ru - минимальный тариф всего 96 рублей ihor.ru - К достоинствам первого можно отнести возможность апгрейда (добавить места на HDD, ОЗУ, ядро) без смены тарифа и возможность выбора 32-х разрядного линукса при установке без лишних телодвижений. На текущий момент рекомендовал бы третий, сервер в минимальной комплектации 100 рублей и довольно стабильный Реализацию обязательно выбираем KVM. Так и шустрее и официально разрешено запускать на ней игровой сервер. В качестве ОС рекомендую использовать ubuntu 12.04 или 14.04 32-х разрядную. Внимание: на 64-разрядной оси запустить сервер удастся, но придется долго возиться (устанавливать дополнительные библиотеки) и работать он будет некорректно (для полноценного запуска придется из консоли сервера карту запускать и, например, на ЗМ-е не работает пофайловый конфиг). Вдобавок вебморду сорсбана и сайт хлстат также гораздо проще установить на 32-х разрядную ОС. Пошаговая инструкция установки ubuntu server 32-bit доступна здесь Также, если есть необходимость в сайте, форуме, сорсбане, hlstat, сервера быстрой закачки карт и т.п, рекомендую для этого использовать отдельный VDS, чтобы не нагружать тот, на котором будет установлен игровой сервер. Для игрового сервера человек на 20 вполне достаточно минимального тарифа (1 ядро, 500 МБ ОЗУ). ************************************************************ Добавление пользователя VDS (обязательно!)
Скрытый текст
Итак, мы получили заветный пароль от учетной записи суперпользователя и ip-адрес нашего VDS. Теперь нам понадобится программа для доступа на VDS по SSH: putty. В поле "имя хоста" вбиваем ip-адрес и жмем "соединиться". Теперь необходимо залогиниться. набираем логин root, жмем клавишу ввод. Теперь необходимо ввести пароль, предоставленный хостером. (Внимание: пароль при вводе не отображается). Жмем ввод.
Теперь необходимо создать нового пользователя. Работать из под рута - дурной тон. Код: adduser username , где username имя нового пользователяДалее необходимо задать пароль, все остальное можно оставить по умолчанию, просто жмем ввод Также необходимо предоставить новому пользователю права на выполнение команд с правами суперпользователя Код: nano /etc/sudoers в открывшемся файле под строку: Код: root ALL=(ALL:ALL) ALL добавляем Код: username ALL=(ALL:ALL) ALL , где username - имя нашего нового пользователя.! Вставлять текст из буфера обмена можно правой кнопкой мыши. Когда привели файл к нужному виду, жмем CTRL + X, подтверждаем изменения кнопкой "y" и жмем ввод Все, работа из под rootа окончена, набираем: Код: logout и снова подключаемся используя только что созданную учетную запись
************************************************************ Поднимаем FTP сервер
Скрытый текст
Для закачки сервера можно конечно использовать утилиту wget, но удобнее делать это через FTP
Установка: Код: sudo apt-get update sudo apt-get install vsftpd Конфиг по умолчанию находится в файле /etc/vsftpd.conf Открываем: Код: sudo nano /etc/vsftpd.conf Основные настройки (можете просто заменить содержимой конфига на нижеприведенный текст): Код: listen=NO anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES pam_service_name=vsftpd rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable=NO После изменения конфигурации необходимо перезапустить фтп-сервер: Код: sudo service vsftpd restart Теперь можно скачать фтп-клиент и подключиться к серверу используя наш ip-адрес и учетную запись, которую мы создали в предыдущем пункте. ************************************************************ Загрузка игрового сервера на VDS
Скрытый текст
В домашней дирректории (в той, в которой вы оказываетесь после логина) создаем папку для сервера:
Код: mkdir css cd css mkdir server Далее, либо переходим в папку сервера и закачиваем сервер через wget Код: cd server wget ссылка_на_сервер либо закачиваем его через FTP Ссылку на сервер приводить не буду. Ищите в гугле. Вам нужна linux версия, желательно с установленным эмулятором стимайди (чтобы пускало с пираток) Официальную выерсию Вы можете скачать по инструкции Выделенный сервер Counter-Strike:Source (официальная версия) ************************************************************ Запуск сервера
Скрытый текст
Запускать сервер мы будем через скрипт.
Переходим в корневую директорию сервера Код: cd /home/username/css/server , где username - созданный во втором пункте пользовательСоздаем или приводим к нужному нам виду (если он уже был в скаченном вами сервере) скрипт Код: nano start.sh вставляем следующий текст: Код: #!/bin/sh echo "CSS server" ./srcds_run -console -game cstrike -localcser -nomaster -insecure +maxplayers 20 +map стартовая_карта +fps_max 0 -tickrate 66 -ip айпи_вдс -port 27015 +sv_lan 0 параметры запуска можете изменить по вкусу. Сохраняем. Делаем необходимые файлы исполняемыми Код: chmod +x srcds_amd srcds_i486 srcds_i686 srcds_run start.sh steam Для запуска нам понадобится утилита screen Проверяем установлена ли она: Код: screen -v Если нет - устанавливаем: Код: sudo apt-get install screen Теперь можно запустить сервер Код: screen -AmdS servak ./start.sh для открытия консоли сервера используем команду Код: screen -r servak для выхода из консоли: CTRL+A+D (будьте внимательны: CTRL+C остановит сервер) ************************************************************ Раскрутка
Скрытый текст
В обязательном порядке стоит добавить сервер сюда: http://css.setti.info/#addserver . Это необходимо, чтобы сервер отображался в игре на вкладке "интернет".
В какие-либо платные раскрутки лично я не верю. Лучший способ раскрутки - самому постоянно находиться на сервере, а еще лучше с друзьями. И на первых порах желательно ограничить объем скачиваемого контента (скины, музыка и прочее), т.к. мало кому интересно заходить на полупустой сервер, а еще менее интересно ждать пока закачается весь этот хлам. ************************************************************ FastDownload (быстрая закачка карт)
Скрытый текст
Для того, чтобы карты быстро скачивались, нам понадобиться web-сервер. Лучше ставить его на отдельный VDS (чтобы там же крутился сайт, стата, сорсбан и прочее, если ничего такого не планируется то можно и на основной поставить).
Для установки вводим: Код: sudo apt-get install lamp-server^ phpmyadmin В процессе установки потребуется задать пароль к phpmyadmin (веб-интерфейс для работы с mysql базой данных) Все, теперь файлы и папки, закинутые в дирректорию /var/www/html/ будут доступны через браузер по ip-адресу вашего VDS (либо по доменному имени, если вы указали для него этот адрес) Рекомендую также установить ftp-сервер на VDS с веб-сервером, для удобства. И не забудьте права на директорию передать основному пользователю: Код: sudo chown -R username:username /var/www/html , где username - имя вашего пользователя.Теперь в данной директории можно создать папку fastdownload и туда загрузить через ftp загружаемый контент, т.е. целиком папку maps и при необходимости models, materials, sound (для этих папок достаточно только те файлы, которых нет в клиенте по умолчанию, т.е. которые вы добавляли на сервер - скины, звуки и т.д. - с сохранением пути как на сервере). Важно: все файлы необходимо заархивировать в bz2-архив (отдельно каждый файл), т.е. в конечном итоге из карта.bsp должен получиться файл карта.bsp.bz2. Я сначала на компе их архивирую, потом закачиваю на веб-сервер (привык). Вы можете сначала закачать, потом заархивировать все одной командой: Код: find /var/www/html/fastdownload/ -exec bzip2 {} \; Теперь необходимо внести изменения в server.cfg, добавить следующие строки: Код: net_maxfilesize 200 sv_downloadurl "ip-адрес/fastdownload" sv_allowupload 1 sv_allowdownload 1 Все, теперь после смены карты нестандартные скины, карты и т.п. будут скачиваться быстро ************************************************************ Автоматическая запись демок и удаление старых демок и логов
Скрытый текст
Чтобы включить автозапись SourceTV на вашем сервере, добавьте эти строчки в ваш autoexec.cfg:
Код: tv_enable 1 tv_autorecord 1 tv_maxclients 0 При желании, если на VDS с игровым сервером установлен web-сервер, можно сделать демки доступными для скачивания. Для этого в крон добавляем задание для переноса их на вебсервер: Код: sudo nano /etc/crontab в открывшийся файл добавляем: Код: 3 * * * * username cd /путь/cstrike/ && mv *.dem /var/www/html/fastdownload/demki 5 3 * * * username find /var/www/html/fastdownload/demki -type f -mtime +10 -delete 15 3 * * * username find /путь/cstrike/logs/ -type f -mtime +10 -delete 25 3 * * * username find /var/www/html/fastdownload/demki -type f -size -1000k -delete Поясню: первая строка ровно в 3 минуты каждого часа переносит демки из корневой папки сервера на web-сервер; вторая строка удаляет демки старше 10 дней ежедневно в 3:05; третья строка удаляет логи старше 10 дней ежедневно в 3:15; четвертая строка ежедневно в 3:25 удаляет демки размером меньше 1 МБ (это актуально, если на сервере установлен плагин autochangemap, меняющий карту каждые 5 мин при пустом сервере) Не забудьте вместо username указать имя вашего пользователя, а вместо путь указать полный путь к папке cstrike (та в которой папка maps) ************************************************************ Установка LAMP (веб-сервер для сайта, hlstat и прочего)
Скрытый текст
Запускаем установку:
Код: sudo apt-get install lamp-server^ phpmyadmin В процессе необходимо будет задать пароль для суперпользователя БД и указать сервер, для которого нужно сконфигурировать phpmyadmin (пробелом звездочку напротив Апача поставить надо). Также нужно будет ввести пароль от суперпользователя phpmyadmin. По окончании процесса набираем ip-адрес сервера в адресной строке браузера и любуемся стартовой страницей apache ************************************************************ Установка HLstatsX:CE
Скрытый текст
Переходим в директорию веб-сервера (по умолчанию находится по пути /var/www):
Код: cd /var/www Делаем нашего пользователя владельцем папки html: Код: sudo chown user:user html Переходим в нее: Код: cd html Создаем папку hlstat (название можете задать любое) и переходим в нее: Код: mkdir hlstat && cd hlstat Утилитой wget скачиваем дистрибутив hlstatsx. Необходимую Вам версию Вы можете найти в интернете. В нашем примере использован дистрибутив hlxce_1_6_19. При необходимости извлекаем дистрибутив из архива. В нашем случае отсутствовала программа unzip: Код: sudo apt-get install unzip Код: unzip hlxce_1_6_19.zip Удаляем лишнее: Код: rm -r amxmodx heatmaps CREATORS hlxce_1_6_19.zip IMAGES LICENSE README Содержимое папки sourcemod копируем в соответствующую директорию игрового сервера. Далее открываем браузер и вводим в адресную строку ip_сервера/phpmyadmin Используем логин root и введенный при установке веб-сервера (предыдущий пункт) пароль. Создаем новую БД и пользователя этой БД. Импортируем в эту базу дамп install.sql из папки sql Затем перемещаем папку scripts в нашу домашнюю директорию: Код: mv scripts ~/hlstat_scripts В итоге должна остаться всего одна директория: web Перемещаем ее содержимое в текущую папку (/var/www/html/hlstat): Код: mv web/* ./ и удаляем опустевшую папку web: Код: rm -r web Открываем конфигурационный файл веб-части hlstat: Код: nano config.php Указываем реквизиты подключения к нашей БД, правя строки: Код: // DB_USER - The username to connect to the database as define("DB_USER", "hlstat"); // DB_PASS - The password for DB_USER define("DB_PASS", "[b]********[/b]"); // DB_NAME - The name of the database define("DB_NAME", "hlstat"); (вместо ******** необходимо подставить пароль к БД) Переходим к нашей папке со скриптами: Код: cd ~/hlstat_scripts/ Открываем конфигурационный файл hlstats.conf: Код: nano hlstats.conf И редактируем реквизиты подключения к БД: Код: DBHost "localhost" (вместо [b]********[/b] необходимо подставить пароль к БД) # DBUsername - User to connect to the database as. DBUsername "hlstat" # DBPassword - Password for the database user. DBPassword "*********" # DBName - Name of the database to use. DBName "hlstat" Переходим в директорию GeoLiteCity: Код: cd GeoLiteCity и запускаем скрипт обновления геоинформации: Код: ./install_binary.sh После успешного выполнения в директории должен появиться файл GeoLiteCity.dat Далее открываем планировщик Crontab: Код: crontab -e и добавляем задания: Код: */5 * * * * cd /home/user/hlstat_scripts && ./run_hlstats start 10 0 * * * cd /home/user/hlstat_scripts && ./hlstats-awards.pl 15 1 * * 1 cd /home/user/hlstat_scripts/GeoLiteCity && ./install_binary.sh 43 0 * * * cd /home/user/hlstat_scripts && ./run_hlstats restart 15 2 * * * find /home/user/hlstat_scripts/logs -type f -mtime +10 -delete Первая строка каждые 5 минут запускает наш скрипт (если он запущен ничего не делает). Вторая строка ежедневно в 00 часов 10 минут обновляет информацию об ежедневных наградах. Третья строка раз в неделю обновляет файл геоинформации. Четвертая строка раз в день перезапускает наш скрипт (в отличие от первой строки происходит именно перезапуск, а не запуск в случае остановки) Пятая строка ежедневно удаляет логи, которые старше 10 дней Для корректного распознавания стран возможно потребуется установить модуль Geo::IP::PurePerl Код: sudo apt-get install make Запускаем cpan: Код: sudo cpan и в его консоли выполняем: Код: install Geo::IP::PurePerl Возвращаемся в директорию веб-части: Код: cd /var/www/html/hlstat/ и удаляем папку updater Код: rm -r updater Далее в браузере открываем ссылку http://ip_сервера/hlstat/hlstats.php?mode=admin Логинимся, используя логин admin и пароль 123456 Первым делом создаем нового пользователя, после чего удаляем пользователя admin. Открываем конфигурационный файл игрового сервера и добавляем строки: Код: log on sv_logbans 1 sv_logecho 1 sv_logfile 1 sv_log_onefile 0 mp_logdetail 3 logaddress_delall logaddress_add ip_сайта:27500 Теперь в админке веб-интерфейса добавляем сервер, отключаем отображение GoogleMap (если у Вас нет платного API), настраиваем статистику под себя (Гугл переводчик в помощь) ************************************************************ Позже дополню статью, так как осветил не все, что хотел. Но вышеупомянутого вполне достаточно, чтобы запустить сервер на VDS. Если заметите ошибку, что-то не получится или возникнут вопросы, пишите - постараюсь ответить |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |