Авторизация Регистрация Забыли пароль?
Реклама

Статьи
Наш игровой сервер
Наши сервисы
Мониторинг серверов
Информация
Нам интересно знать
Популярные теги
Популярные материалы
    Партнеры
    Счетчики
    Вы находитесь:

    Категория: Статьи / Linux

    Создание Steam-сервера на Linux Debian/Ubuntu.

    Автор: -=DaTeX=-

    Дата: 7 февраля 2010

    Просмотров: 15 343

    Комментариев: 4

    Создание Steam-сервера на Linux Debian/Ubuntu.

    Вот я набрался опыта (может и небольшого) в создании сервера на Линуксе и теперь расскажу вам, как это делать.

    Сам процесс установки ОС я не буду говорить, ищите сами, но скажу: в этом нет ничего сложного, просто будет слегка непривычно. Но все же не каждому дано работать с Линуксом. если Вы сомневаетесь, что сможете работать с этой ОС, то можете на виндовс установить VMware Workstation, а на VMware Workstation - установить Линукс.

    Мы будем рассматривать пример Ubuntu. Напоминаю, что Debian является "основателем" этой оси, и существенной разницы между ними нет. Лично я использую Ubuntu 9.10.

    Итак, начнём!

    Установка платформы сервера и запуск


    Практически все это время мы будем работать с командной строкой Линукса.

    Открываем "Терминал" ("Приложения" - "Стандартные" - "Терминал").

    Сначала создадим папку, например hlds, где будет наш сервер (обычно ее создают в домашней папке пользователя (в Линуксе другая структура папок)) и заодно перейдём в нее:
    1) mkdir /home/datex/hlds/
    2) cd /home/datex/hlds/

    mkdir - make directory (создать папку)
    cd - change directory (сменить локацию - тобиш перейти в указанную папку)
    datex - имя пользователя
    Имейте ввиду, что в Линуксе имеет значение регистр, по-этому советую всегда использовать маленькие буквы в названии файлов и папок, дабы не запутаться.

    теперь необходимо скачать Linux HLDSUpdateTool:
    wget https://storefront.steampowered.com/download/hldsupdatetool.bin

    wget - "достать из WWW"

    Если Вы сделали правильно, то увидите в консоли следующее:
    --08:57:14-- https://storefront.steampowered.com/download/hldsupdatetool.bin
    => `hldsupdatetool.bin'
    Resolving storefront.steampowered.com... 87.248.207.164, 87.248.207.168
    Connecting to storefront.steampowered.com|87.248.207.164|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 3 513 408 (3.4M) [application/octet-stream]

    100%[========================>] 3 513 408 31.71K/s ETA 00:0014

    08:59:25 (26.10 KB/s) - `hldsupdatetool.bin' saved [3513408/3513408]


    Поставим права доступа:
    chmod +x hldsupdatetool.bin


    Запускаем hldsupdatetool.bin:
    ./hldsupdatetool.bin

    ./ - так сказать, "запуск"
    После старта файл Вас спросит о лицензионном соглашении, введите "yes"
    После этого можно удалить ненужные файлы:
    rm ./hldsupdatetool.bin && rm ./readme.txt

    rm - remove (удалить)

    В папке должен появиться файл steam, запустим его:
    ./steam

    И должны увидеть следующее:
    Checking bootstrapper version ...
    Getting version 34 of Steam HLDS Update Tool
    Downloading. . . . . . . . . . .
    Steam Linux Client updated, please retry the command


    Теперь запустим еще раз только с переменными:
    time ./steam -command update -game "cstrike" -dir /home/datex/hlds/

    time - показывает время загрузки файлов, в этой операции не обязателен, но так будет легче узнать, сколько вы уже скачали.
    Операция займёт около 20-40 минут и будет выглядеть так:
    Checking bootstrapper version ...
    Updating Installation

    -----------------------------------

    98.10% .\valve\server.cfg
    98.12% .\valve\skill.cfg
    98.12% .\valve\spraypaint.wad
    98.12% .\valve\steam.inf
    98.12% .\valve\steam_appid.txt
    98.12% .\valve\valve.rc
    98.14% .\valve\valvecomm.lst
    100.00% .\valve\xeno.wad

    Connection Reset

    real 114m3.697s
    user 0m4.230s
    sys 0m1.300s


    Создадим еще некоторые папки и файлы:
    1) mkdir ./platform && mkdir /platform/SAVE
    2) cat /dev/null > ./cstrike/language.cfg && cat /dev/null > ./cstrike/listip.cfg && cat /dev/null > ./cstrike/banned.cfg


    Мы создали Steam-сервер. Теперь попробуем запустить его:
    ./hlds_run -game cstrike +ip 192.168.5.57

    Пишем внутренний IP Вашего компьютера.
    должны увидеть следующее:
    Auto detecting CPU
    Using Pentium II Optimised binary.
    Auto-restarting the server on crash

    Console initialized.
    scandir failed:/hlds/./platform/SAVE
    Protocol version 48
    Exe version 1.1.2.6/Stdio (cstrike)
    Exe build: 15:58:06 Jun 15 2009 (4617)
    STEAM Auth Server
    couldn't exec language.cfg
    Server IP address 192.168.5.57:27020
    [S_API FAIL] SteamAPI_Init() failed; unable to update local steamclient. Continuing with current version anyway.

    Adding master server 69.28.151.162:27010
    Adding master server 68.142.72.250:27010
    Connection to Steam servers successful.
    VAC secure mode is activated.

    "[S_API FAIL] SteamAPI_Init() failed;" - что это за ошибка, я так и не понял, но, вроде как, она не вылазяет нигде боком.

    Но таким способом сервер не удобно запускать. Нужно создать скрипт запуска. Я использую такой скрипт запуска:
    #!/bin/sh
    #vsftpd &
    screen -A -m -d -S csserv ./hlds_run -console +sv_lan 0 -game cstrike +maxplayers 12 +port 27020 +ip 192.168.5.57 -pingboost 3





    Далее, чтоб не выполнять множество команд, для запуска сервера через командную строку, можно создать еще один скрипт в папке /home/datex/:
    #!/bin/bash
    cd /home/datex/hlds_cs/
    ./start.sh
    screen -r csserv

    Его так же можно назвать start.sh.

    В следущий раз, чтоб запустить сервер, Вам понадобится ввести в командной строке ./start.sh
    Запустится файл /home/datex/start.sh и сошлётся на файл /home/datex/hlds_cs/start.sh, после чего тот запустит сервер в отдельном окне (консоли). Для корректного выключения сервера, нужно вводить команду quit.

    Установка Metamod и Amx Mod X


    Скачаем и установим Metamod:
    1) wget https://sunet.dl.sourceforge.net/project/metamod/Metamod%Binaries/1.19/metamod-1.19-linux.tar.gz
    2) tar -xvzf ./metamod-1.19-linux.tar.gz
    3) mkdir ./cstrike/addons && mkdir ./cstrike/addons/metamod && mkdir ./cstrike/addons/metamod/dlls && mv ./metamod_i386.so ./cstrike/addons/metamod/dlls/metamod_i386.so
    4) rm metamod-1.19-linux.tar.gz
    5) cat ./cstrike/liblist.gam | sed "s/dlls\/cs_i386.so/addons\/metamod\/dlls\/metamod_i386.so/" > ./cstrike/liblist.gam.new && mv ./cstrike/liblist.gam.new ./cstrike/liblist.gam

    1) Скачиваем архив
    2) Разархивируем его
    3) Создаём папки и кидаем в них файлы
    4) Удаляем архив
    5) Изменяем liblist.gam

    Теперь установим Amx mod X:
    1)wget https://sunet.dl.sourceforge.net/project/amxmodx/AMX%Modєse/1.8.1/amxmodx-1.8.1-base.tar.gz
    2) tar -xzvf ./amxmodx-1.8.1-base.tar.gz -C ./cstrike/
    3) rm ./amxmodx-1.8.1-base.tar.gz && wget https://sunet.dl.sourceforge.net/project/amxmodx/Counter-Strike­don/1.8.1/amxmodx-1.8.1-cstrike.tar.gz
    4) tar -xzvf ./amxmodx-1.8.1-cstrike.tar.gz -C ./cstrike/
    5) echo "linux addons/amxmodx/dlls/amxmodx_mm_i386.so" > ./cstrike/addons/metamod/plugins.ini

    1) Скачиваем архив
    2) Разархивируем его
    3) Удаляем архив и скачиваем Amx addons для Counter-Strike
    4) Разархивируем его
    5) Изменяем /metamod/plugins.ini

    Прелупреждаю: все данные действия происходят в папке /hlds/. И еще: прежде всего нужно установить одно приложение:
    apt-get install screen


    Настройка FTP


    Если у Вас есть еще 1 компьютер и если Вам неудобно работать с файлами на Линуксе, то Вы можете воспользоваться этим пунктом.

    vsftpd - Very Secure FTP Daemon отлично подходит для быстрого развертывания ftp-сервера на машине с Ubuntu Linux. Первым делом установим его:
    apt-get install vsftpd


    Займемся его конфигурацией, для этого правим файл /etc/vsftpd/vsftpd.conf. Ищем такие строки:
    anonymous_enable=YES
    local_enable=YES
    write_enable=YES
    anon_upload_enable=NO
    anon_root=/var/ftp

    anonymous_enable - разрешение доступа анонимных пользователей;
    local_enable - разрешение доступа для локальных пользователей;
    write_enable - разрешаем запись;
    anon_upload_enable - разрешение записи для анонимных пользователей;
    anon_root - папка, к которой имеют доступ анонимные пользователи.
    Если не понимаете о чём они, оставьте их такими, какие они есть.

    Теперь скачайте (на виндовс) любой FTp-client, к примеру Total Commander (желательно русский). Вверху нажмите "Сеть/FTP" и выберете "Соединиться с FTP-сервером...". Тыкаем "Добавить." и вылазит еще одно окошко:
    "Имя соединения" - думаю, всё ясно, пишите на ваш вкус
    "Сервер:[Порт]" - внутренний IP компьютера, на котором стоит сервер
    "Учётная запись" - имя пользователя на том компе
    "Пароль" - пароль от пользователя, но его вводить нежелательно, т.к. TC в этом плане не уязвим. Если Вы его не введёте, то потом при каждом подключении будете вводить пароль.

    Быстрая скачка с FTP


    Раз мы настроили FTP, то почему бы не воспользоваться этим шансом?

    Вы уже научились способу быстрой HTTP-скачки? Тогда он сейчас Вам поможет!

    Заходим в папку /var/ftp/ и создаём там такую же структуру файлов и папок, как указано в той статье.

    Теперь попробуем проверить. Надо зайти через браузер и Ввести в браузере ftp://ваш_внешний_айпи, а там, думаю, Вы сами поймёте.

    Если у Вас получилось, то в server.cfg вводим:
    sv_allowdownload 1
    sv_downloadurl ftp://внешний_айпи:21


    PS: FTP-сервер занимает 21-ый порт по умолчанию, так что его тоже нужно открыть.

    Открытие портов на Linux'е


    Открыть порт можно, выполнив такую команду:
    iptables -I INPUT -p tcp --dport 5222 -m state --state NEW -j ACCEPT

    Вместо 5222 пишем свой порт.



    Спасибо Fire'у и Hellrock'y за просветление.
    Источники использованы:
    https://www.loewa.ru/statia/49-hldsserver.html
    https://ubuntueasy.com/servery/bystraja-ustanovka-ftp-servera
    https://c-s.net.ua/forum/topic11712.html

    Автор: DaTeX
    Убедительная просьба: при копировании статьи, указывайте автора, ведь что в этом плохого есть? Уважайте чужой труд, и тогда Вас будут уважать!

    Желаю удачи!
    Похожие публикации
    Комментарии на сайте
    Alarma

    Написал: Alarma 8 августа 2011 00:45 Группа: Юзер
    Спасибо Друг ! Дай бог тебе здоровья
    От себя добавлю если устанавливаете в /opt/ надо дать прова всей папке с сервером sudo chmod 777 -R server иначе будет ошибка сегментирования За ФТП отдельное спасибо планировал гуглить :)
    Цитировать
    chezhek

    Написал: chezhek 10 августа 2011 17:30 Группа: Юзер
    Спасибо большое!!!
    З.Ы. time ./steam -command update -game "cstrike" -dir /home/datex/hlds/ - из-за последнего слеша(/), на моей убунту-сервер 9.10 , выдавало ошибку...
    Цитировать
    Alarma

    Написал: Alarma 21 августа 2011 19:54 Группа: Юзер
    Еще хотел бы порекомендовать Скрипт запуска слежения )
    https://eqline.ru/topic/361-skript-zapuska-hlds-serverov/
    Автор в теме
    Цитировать
    expJloSioN

    Написал: expJloSioN 12 февраля 2012 11:07 Группа: Юзер
    самая лучшая статья что я нашел по всему инету))
    большое спасибо тебе дружище)
    при помощи этой статьи собрал уже 3 сервера и все работают на 1000 FPS 32 слота.. Благодорю!!
    Цитировать
    Новый комментарий

    Информация

    Посетители, находящиеся в группе lamo, не могут оставлять комментарии к данной публикации.