| Инсталиране на CS 1.6 под FreeBSD Инсталиране и настройка на Counter Strike 1.6 под FreeBSD |
|
Counter-Strike 1.6 Dedicated Server под FreeBSD 1. Хардуерни и мрежови изисквания 2. Кратко разяснение на компонентите на Dedicated /нарочен специално за това/ сървър 3. Инсталиране на Linux емулатор. 4. Инсталиране на hlds 5. Инсталиране на модове – Metamod и AMX Mod 1. В тази част на статията ще обясня какъв Интернет, процесор и памет са ни необходими да подкараме един средностатистически CS сървър с 20 публични слота (колко играча могат да се свържат към сървъра ви) така че тези изисквания могат леко да варират ако решите да направите „по-малък” или „по-голям” сървър така да се каже. Изисквания: - Интернет със скорости 1024kbps (128kB/s) на даунлоуд И 1024kbps на ъплоуд (за да няма лаг за играчите) с публичен IP адрес или LAN IP адрес с пренасочени портове - 1GHz Процесор поне - 512MB RAM. Би трябвало да бачка и на 256MB но не е препоръчително. - 1GB свободно дисково пространство - libstdc++.so.5 библиотека 2. Един Counter-Strike 1.6 посветен сървър не е просто софтуер които самостоятелно и независимо си работи, а по-скоро е комбинация от софтуерни пакети които функционират заедно като един. Това са компонентите на един сървър: HLDS - Означава Half-Life Dedicated Server (Half-Life нарочен сървър) и съдържа енджина на играта Half-Life, файлове и други неща необходими за нашия dedicated(посветен) сървър. Counter-Strike 1.6 - Тази игра всъщност е просто един MOD (Модификация) на играта Half-Life. MetaMOD е плъгин/DLL който се включва/закача/ за Half-Life и чрез него могат да се стартират много плъгини едновременно. Например ако нямате Интернет но все пак искате да пуснете HLDS сървър, MetaMOD ви позволява да стартирате плъгин за администраиране и плъгин за ботове едновременно. BOT-a в действителност е (roBOTic) компютърно контролирано същество което симулира истински играчи в играта. AMX Mod – Това е плъгин на MetaMOD главно проектиран за администриране на сървъра. AMX MOD ви позволява да пишете скриптове за Half-Life и за нейните Модове, използвайки Скриптовия език Small (Понастоящем се нарича PAWN) на фирмата Compuphase. 3. Първо трябва да инсталираме Linux емулатор, защото hlds няма версия специално за FreeBSD a за Linux има hlds е компилиран на Linux SuSe обкръжение.Съвместимостта с двоичните файлове на Linux по подразбиране не е включена. Най-лесният начин да се добави тази функционалност е да се зареди linux KLD object (“Обект който може да се зарежда в ядрото” – KLD object). Може да заредите този модул като напишете следното като root: # kldload linux Ако искаме винаги да е разрешена Линукс съвместимостта тогава трябва да добавим следният ред в /etc/rc.conf linux_enable=”YES” С командата kldstat може да проверим дали модула е зареден: $ kldstat Id Refs Address Size Name 1 2 0xc0100000 16bdb8 kernel 7 1 0xc24db000 d000 linux.ko < ------- нашия модул е зареден Ако пък случайно сте прекомпилирали ядрото си и сте сложили “твърда” Линукс съвместимост /не чрез модул/ няма нужда да зареждате каквито и да било модули с kldload. Инсталираме Линукс емулатора linux_base-fc-4_10 от port, който ни е необходим при стартирането на играта. Досега този е най-лесният за употреба метод /чрез Port/ когато инсталираме runtime библиотеките. За целта пишем: # cd /usr/ports/emulators/linux_base-fc4 # make install clean Вече трябва да имате работеща съвместимост с Linux Забележка: Може да откриете няколко версии на Линукс емулатори в emulators/linux_base съответстващи на различните Линукс дистрибуции и на различните им версии. Трябва да инсталирате port-а който най-много се доближава до изискванията на Линукските приложения, коите ще инсталирате. Вмъкваме следните редове за пускане на емулатора при стартирането на системата плюс някои „тънки” настройки на системата. # echo "linux_load="yes"">> /boot/loader.conf # echo "linprocfs_load="yes"" >> /boot/loader.conf # echo "kern.fallback_elf_brand=3" >> /etc/sysctl.conf # echo "kern.ipc.maxsockbuf=524288" >> /etc/sysctl.conf # echo "linprocfs /compat/linux/proc linprocfs rw 0 0" >> /etc/fstab 4. Сега преминаваме към инсталирането на HLDS # mkdir /usr/hlds ( в моя вариант пътя ми е: /usr/local/games/hlds ) # cd /usr/hlds # fetch http://storefront.steampowered.com/download/hldsupdatetool.bin Предполагаме че текущата ни директория е /usr/hlds . Tрябва да разархивираме инструмента за ъпдейтване на hlds - hldsupdatetool.bin : # chmod +x hldsupdatetool.bin # ./hldsupdatetool.bin Заб. : Ако системата ви даде грешка "sh: uncompress: command not found" , напишете това: # ln -s /usr/bin/gunzip /usr/bin/uncompress и изпълнете отново последните две команди. След като разархивирането премине успешно,в директорията трябва да има нов файл с име steam. Стартираме инсталацията на сървъра като пишем командата: # chmod +x steam # ./steam -command update -game cstrike -dir . Изчаквате steam да се ъпдейтне и повтаряме командата # ./steam -command update -game cstrike -dir . В този момент играта започва да се тегли . Трябва да почакате извесно време . Когато играта се изтегли в конзолата ще ви се покаже това : "HLDS installation up to date" В момента имаме сървър за Counter-Strike 1.6 в който могат да играят САМО потребители с легалната игра Steam CS. За целта трябва да кракнем сървъра За да изтеглим крака пишем в конзолата : # fetch http://www.cstrike.ro/cstrike_files/engine.v15.tgz - NoSteamAuthEngine След като patch-a е изтеглен в директорията hlds пишем в конзолата: # rm -rf engine_amd.so # rm -rf engine_i486.so # rm -rf engine_i686.so # tar xfvz engine.v15.tgz Главният конфигурирационен файл на сървъра е /usr/hlds/cstrike/server.cfg Тук се задават стойностите на основните параметри за неговата работа. Всички достъпни променливи може да видите тук: http://server.counter-strike.net/commands.html 5. Остава да инсталираме МОД-овете. Аз директно си тегля оттук: http://djeyl.net/files/amx/amx-0.9.9-won.tar.bz2 (http://amxmod.net/downloads.php) AMX Mod 0.9.9 for WON, който е с включен MetaMOD v1.17.1 # cd /usr/hlds # tar xvfz amx-0.9.9-won.tar.bz2 АМХ-а си създава директориите addons/metamod и addons/amx Идва ред и на конфигурирането на MOD-овете и CS сървъра. Трябва да укажем на HLDS сървъра че ще използваме MetaMod като инструмент за зареждане на допълнителни плъгини. Това става като се редактира файла /usr/hlds/cstrike/liblist.gam с предпочитан от нас текстов редактор. # cd /usr/hlds/cstrike/ # vi liblist.gam В файла liblist.gam заменяме реда: gamedll_linux "dlls/cs_i386.so" с реда: gamedll_linux "addons/metamod/dlls/metamod_i386.so" и също така изтриваме реда /ако има такъв/ gamedll "dlls\mp.dll" Един примерен liblist.gam файл: В директорията metamod има файл sample_plugins.ini , който може да използваме при създаването на нашият файл /usr/hlds/cstrike/plugins.ini # cp sample_plugins.ini plugins.ini Този файл е необходим за закачането и пускането на плъгините. Формата на файла е следният: Ето и конкретен пример на файла plugins.ini от моя сървър: ; AMX Mod linux addons/amx/dlls/amx_mm_i586.so ; AMX Mod modules ; NOTE: don't declare 'pure' AMX Modules here ; (those not having '_mm' in their filename) ; CS Stats (AMX module) linux addons/amx/modules/csstats_mm_i586.so ; Fun (AMX module) linux addons/amx/modules/fun_mm_i586.so Ако изтрием ненужните редове с коментарите ще имаме само: linux addons/amx/dlls/amx_mm_i586.so linux addons/amx/modules/csstats_mm_i586.so linux addons/amx/modules/fun_mm_i586.so Останалите конфигурационни файлове на AMX Mod-а се намират в amx/config/*.ini, и си ги настройвате по ваше предпочитание. Дойде ред и да пуснем сървъра: # cd /usr/hlds # ./hlds_run -game cstrike +map de_dust2 +sv_lan 1 +maxplayer 16 +port 27015 +ip 192.168.33.1 +rcon_password "secret" -insecure Вариант 2 – стартиране в background: # ./hlds_run -game cstrike +map de_dust2 +sv_lan 1 +maxplayer 16 +port 27015 +ip 192.168.33.1 +rcon_password "secret" -insecure > /dev/null 2>&1 & Ако искате background-a да пише в log файл: # ./hlds_run -game cstrike +map de_dust2 +sv_lan 1 +maxplayer 16 +port 27015 +ip 192.168.33.1 +rcon_password "secret" -insecure > hlds.log 2>&1 & За да може Counter-Strike Dedicated Server-a да се стартира при зареждането на системата автоматично съм си направил скрипт в /usr/local/etc/rc.d/cs16.sh със следното съдържание: #/bin/sh cd /usr/hlds/ ./hlds_run -game cstrike +map de_dust2 +sv_lan 1 +maxplayer 16 +port 27015 +ip 192.168.33.1 +mapcyclefile mapcycle.txt +rcon_password "basisecreta" -insecure & Не забравяйте да присвоите атрибут за стартиране на скрипта: chmod +x cs16.sh Сега CS 1.6 сървъра при рестарт на системата ще се стартира сам. И на последно място едно малко разяснение. При стартиране на hlds той стартира с параметър за автоматично стартиране ако бъде спрян по някаква причина /авторестарт/. Ако искате да убиете процеса трябва в стартиращият скрипт да вмъкнем и опцията -norestart и после: # killall hlds_amd hlds_* зависи от типа на процесора на машината Това беше от мен Jurasic. Ще се радвам ако на някой му е била полезна статията ми. urlget http://storefront.steampowered.com/download/hldsupdatetool.bin > hldsupdatetool.bin - download file from HTTP |
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 10.0 - 1 глас |
|