Приветствую Вас Гость | RSS
Главная » создание через HLDS с нуля - Форум » Регистрация » Вход



Новые сообщения · Участники · Правила форума · Поиск · RSS ]

  • Страница 1 из 1
  • 1
создание через HLDS с нуля
@P}{UB@T0PДата: Вторник, 15.04.2008, 22:49 | Сообщение # 1
Admin
Группа: Администраторы
Сообщений: 295
Репутация: 13
Статус: Offline
Установка и настройка сервера
Установка HLDS CS 1.6 с нуля!
Данную статью меня побудила написать малодоступность нормальных мануалов по установке HLDS. Непоявященному человеку совсем трудно разобраться в отрывках данного форума. Не понятно с чего начать и куда двигаться чтобы увидеть свет в конце туннеля (главное чтоб это не поезд был ;-))
I. Статья ориентированна на человека имеющего начальные навыки работы с юникс системами.
II. Я не претендую на то что это библия установки CS DS, хотя попытаюсь наставить на путь истинный.
III. Данная статья довольна сыра, вней могут встречаться ошибки и некоторые несоответствия. Уж простите. Старался как мог.
IV. Я не несу никакой ответственности за данную публикацию.
Если в результате ваших экспериментов вы свалите знакомому админу сервак и он вас будет долго бить фэйсом об кэйс
сервака - корпус можете не приносить, править не буду!!!

Ставим Контру 1.6 с нуля. С абсолютного нуля!!! Нулее не бывает.
На юникс машину (я юзаю FreeBSD 5.2.1).

STEP BY STEP ))

I Установка HDLS (cstrike mod).

Сразу оговорим один момент - будем ставит и запускать контру
из под любого юзера КРОМЕ рута!!!
Иначе создастся
/usr/compat/linux/usr/steam
В нее будут улетать логи и будут складываьбся какието файлы.

1. Актуально для FreeBSD. (если linux - пропускаем)

Ставим из портов библиотеки совместимости с linux

/usr/ports/emulators/linux_base-8
без них нифига работать не будет.

Провим /etc/rc.conf

Добавляем строку
linux_enable="YES"

2. Качаем HLDS файлик hlds_l_1120_full.bin (размер 440 мегов),
Half-Life Dedicated Server v1.1.2.0 for Linux.
Нашел в осле, думаю есть не только там если поискать.

А воопше

1) ftp://hlserver:hlserver@ftp.valvesoftware.com/linux....ull.bin
2) ftp://hlserver:hlserver@ftp.valvesoftware.com/linux/hldsupdatetool.bin
3) ftp://hlserver:hlserver@ftp.valvesoftware.com/linux....dme.txt
4) ftp://hlserver:hlserver@ftp.valvesoftware.com/linux/md5.txt

Да, обзательно чекаем md5 - у меня при передачи по фтп возникли траблы, когда качал
с виндовой машины на юниксовый сервак, т к что проверка очень помогла найте баг ))

3. Распаковываем

В консоле:
mkdir /usr/steam
chmod 700 hlds_l_1120_full.bin
./hlds_l_1120_full.bin
На вопрос естно онвечаем "yes".
cd /usr/steam
tar zxvf hlds_l_1120_full.tgz

4. Надо бы проапдейтится . . .

Читаем файл 3) из п. 2. если все итак понятно - переходим к следующему
пункту. Те кто в танке - читаем дальше. Правда я не воткнул одного - нафига
файл 2) из п. 2 нужен, когда файлик steam (который из него разворачивется)
имеется в файле 1) из п.2.

Создаем аккаунт

Идем туда где лежит steam (/usr/steam/hlds_l например)
Если он вдруг не выполняемый - chmod ему )) (см. п.3)

Запускае апдейттулзу с опцией "-create":

Как по учебнику:
./steam -create

Например:
./steam -create email@here.com comPlexPass "Your hint" "answer"
В качестве username использовать влидное мыло!!!

После запуска видим чето типа этого:
Checking bootstrapper version ...
Getting version 9 of Steam HLDS Update Tool
Downloading. . . . . . . . . . .
Steam Linux Client updated, please retry the command

----
ВНИМАНИЕ ГРАБЛИ: если попробовать запустить тоже самое еще раз - steam
будет глючить и выдавать следующие:

Checking bootstrapper version ...
Creating Account
AuthenticationServerRSAPublicKey failed signature verifcation

Чтобы такого небыло - ижем в домашний каталог юзера из под которого
работаем и дропаем папку .steam.
----

Опа, апдейт тул проапдейтился ))) Мде маленькое НО!!!
Пробуем как просят retry - хрен вам - параметры командной строки другие )))

Делаем
./steam

Видим хелпу. Делаем как надо:

./steam -command greate -username -email -password
-question -answer

Видим:
Checking bootstrapper version ...
Creating Account
Account Created successfully

Щастье есть - оно не может не есть ))

Обновляем сервак.

./steam -command update -game cstrike -dir /usr/steam/hlds_l
-username -password

Наблюдаем лог апдейта - если никаких слов типа error нет - значит все,
сервак проапдейтился.

...
HLDS installation up to date

5. Тестим

./hlds_run -game cstrike +sv_lan 1 -insecure +map de_dust -nomaster +maxplayers 20

-game cstrike - запускаемый мод.
+sv_lan 1 - работа в режиме локальной сети, ОБЯЗАТЕЛЬНО, и вроде как жедательно первым
(сразу за cstrike)!!!
-nomaster - сервер не пробует авторизовать себя в WON.
+map de_dust - стартовая мапа, очень желательно.
-insecure - по моему связано с VAC, точно не помню.

ВНИМАНИЕ!!! Не путать плюсики и минусики. Это не глюк, так надо.

Пробуем коннектится с сетки класса "C" (думаю понятно почему, если нет смотрим ниже).
Если выше глюков не наблудалось, то в принцапе перед нами готовый "голый" LAN сервак.

Да, один баг с ходу: при попытки сменить автоматом карту на cs_havana, сервак
рухнул и рестартанулся с фразой "не могу найти cs_havana.wad". Все просто - делаем
ренейм cs_havana.WAD на cs_havana.wad (все лежит в hlds_l/cstrike). Для тех кто в
танке или БТР: в UNIX регист учитывается при именовании файлов.

6. Патчим WON.

Для тех кто не в курсе . . .
HLDS может работать в двух режимах WAN и LAN.
В режиме LAN сервер вполне функционален, но позволяет коннектится только с
сети класса "C". В режиме WON требуется наличие оригинального CD-KEY на клиенте
(обшероссийский не катит ) ;-)

Тянем nowon patch (например nowon.zip). Распаковывем на виндовой машинке,
подтягиваем сюда же engine_i686.so (или какой там у вас ;-)). Данный файл перед
патчингом рекомендуется переименовать т к патчер может не понять длинные имена
(8.3 only судя по инструкции), хотя у меня все и так сканало. Переименоваваем
напр. в engine.so.

Запускаем
c:hldsnowon>sp.exe nowon.s *.so

Если видим что то типа:
----
SIMPLE PATCHER 0.99beta © Victor Romanoff 2:5054/2.256

Patching file ENGINE.SO
Signature found at 947992d, 000E7718h

done.
----
значит патч успешно отработал.

Если ручки кривые или просто чето пошло не так увидим:
----
SIMPLE PATCHER 0.99beta © Victor Romanoff 2:5054/2.256

Error: No files found for patch
Total 1 error(s), patch process aborted
----

Сдесь хочется сказать огромное спасибо людям которые ваяют такие весчи как
nowon patch - СПАСИБА ВАМ БАЛЬШАЯ И НИЖАЙШИЙ ПАКЛОН, такие люди как вы помагают
сэканомит кровный рубль в наше нелегкое для жизни время!!!
Ладно, хватит трепаться, продолжим.

И так, что мы имеем? А имеем мы пропатченный двиган для контры!!!
Что сделать с пропатченным файлом догадайтесь сами. Догадались?
Правильно! Переименовываем и кладем обратно. Сдорово.
Стартим сервак и тестим.

Небольшое лирическое отступление. Думаю эта фраза вам знакома:
LAN servers are restricted to local clients (class C).

Что бы не наводить неопытного читателя на ложный след поясню: сеть класса
"C" это сеть вида /24 (т е маска 255.255.255.0, сама сеть выглядит как 123.123.123.xxx).
А сервак по сетью класса "C" подразумевает сеть вида /16 (т е маска 255.255.0.0, сама сеть
выглядит как 123.123.xxx.xxx), хотя вообшето это сеть класса "B" ("бэээ").
Почему так - хз :))
БУДТЕ ВНИМАТЕЛЬНЫ ПРИ ТЕСТИРОВАНИИ - у тестируеммых хостов (клиент и сервер) должны
отличаться как минимум один из двух первых октетов IP адресов (числа до второй точки).

Если при тестированиие с разных сетей класса "C" (которые на самом деле "B") не пишет
вышепреведенной надписи - значить все гут.

Перед нами рабочий интернет сервер, но пока он все равно "голый" - ща будем
прикручивать навороты.

II Навороты (они же моды, они же аддоны).

Я нехочу в данном раздели далать полные описание использования плагинов,
постараюсь описать лишь необходимое, в меру надобности. Тому есть одна причина -
по каждому моду есть собственная документация.
Читайте, там все понятно описано. Приведу ссылки на доки.

1. Прикручиваем MetaMod (http://metamod.org/)

MetaMod - мод который позваляет прикрутить к серверу все другие (вернее все поддерживаемые)
плагины.

Установка.
Тянем дистрибу metamod-1.17.2-linux.tar.gz - нам нужны тока бинарники, на линки со словами
"source" внимания не обращаем.

Распаковываем. Внутри cstrike (/usr/steam/hlds_l/cstrike) создаем:
mkdir addons
cd addons
mkdir metamod
cd metamod
mkdir dlls
cd dlls

----
Отступление: мы создали каталок addons - сюда мы быдем ставить и все остальные плагины.
Если речь не будет идти о каком то конкретном пути - значит говорится именно про него.
----

Копируем полученною сошку в metamod/dlls.

----
ПРЕДУПРЕЖДЕНИЕ: устанавливая сервер, вам придется постоянно редактировать фалы конфигов
как самого сервера, так и его плагинов. Что бы облегчить себе жизнь в дальнейшем крайне
рекомендую создать где-нибудь структуру каталог аналогичную серверно и сохранять в ней
дефолтные и текущие конфиги сервака, чтобы в любой момент времение мона было сделать
откат на предыдущий конфиг или на дефолт.
----

Ищем в hlds_l/cstrike файлик liblist.gam.
Меняем в нем
gamedll_linux "dlls/cs_i386.so"
на
gamedll_linux "addons/metamod/dlls/metamod_i386.so"

Создаем в папке metamod файл plugins.ini:
touch plugins.ini
Этот файл мы в дальнейшем будет юзать для запуска плагинов.
Формат файла:
[]
Пример смотрим ниже:
----
ЭТО ПРИМЕР!!! НЕ ИСПОЛЬЗОВАТЬ!!!
----
// linux dlls/mybot.so
# win32 dlls/mybot-old.dll Mybot old
win32 dlls/mybot.dll Mybot current
linux /tmp/stub_mm_i386.so
win32 /tmp/stub_mm_i386.dll
linux ../dlls/trace_mm_i386.so
win32 ../dlls/trace_mm_i386.dll
linux dlls/admin_MM_i386.so
win32 dlls/admin_MM_i386.dll
----

Стартуем сервер - если все гут видим в консоле что типа:

Metamod version 1.17.2 Copyright © 2001-2004 Will Day
Metamod comes with ABSOLUTELY NO WARRANTY; for details type `meta gpl'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `meta gpl' for details.

Мета мод установлен и функционирует.

Теперь на сервак мона вешать другие моды. Что касается выбора конкретных
модов - дело вкуса и цвета ;-). Также хочется отметить что настройка каждого
конкретного плагина - тема отдельной статьи. Потому далее приведу краткий пример
установки AMX MODа.

2. AMX Mod (http://amxmod.net/).

Качаем amx-0.9.9-won.tar.tar.

Распаковываем в addons/amx

Чиатем доки. Внимательно читаем.

В файл metamod/plugims.ini добавляем:
linux addons/amx/dlls/amx_mm_i586.so

Запускаем сервер.

Хочется оговорится что с версией metamod 1.17.2 в консоле стала проскакивать ошибка
[META] ERROR: Couldn't find game entity 'item_generic' in game DLL
'cstrike': ./cstrike/addons/metamod/dlls/metamod_i386.so: undefined symbol: item_generic
Поставил ту версию matamod что шла вместе с AMX (1.17.1) - ошибка пофиксилась.

Еше одна ошибка всплыла с ходу:
[FUN] Module is not attached to MetaMod
[AMX] Make sure that modules are compatible with AMX 0.9.9
[AMX] Please fix the problem then start the server again
Пофиксил коментированием в amx/config/modules.ini данного плагина.

Все. Теперь у нас есть сервак с прибамбасом типа AMX.
Настраиваем его в amx/config/*.ini как нам нравится. По всем тегам есть комменты.


,-----------------------,
|Я&2 бокса шишек |,,|"""\,__,
|_______________ |,,||_|_ _||)
/(@)(@)******/(@)*****(@)
 
  • Страница 1 из 1
  • 1
Поиск:

Рейтинг@Mail.ru Яндекс цитирования