Если верить Steam:
Сыграйте в лучший онлайновый экшен в мире. Примите участие в невероятно реалистичной войне с террористами в этой популярнейшей командной игре. Действуйте совместно с товарищами по команде для достижения стратегических целей. Уничтожайте опорные пункты врага. Освободите заложников. Ваши достижения влияют на успех вашей команды. Успех вашей команды влияет на ваши достижения.
Ладно, заканчиваем тянуть кота за вокальные данные и приступим к делу.
----------------------------------------------------------------
Глава 3. Непредвиденные последствия
----------------------------------------------------------------
Внимательный читатель, думаю, обратил внимание, что мы начали не с нулевой и даже не с первой главы. Нет, автор не прогуливал математику в школе. Так почему же с третьей?
Ответ прост. В предыдущей статье бонусом к установке сервера HL шла еще и установка сервера CS. Если вы выполняли действия глав 0-2, то уже сейчас можете запустить сервер командой:
./hlds_run -game cstrike +maxplayers 8 +map de_dust
при условии, что вы находитесь в каталоге с сервером. Но (всё самое интересное асегда начинаются после слова "Но") никаких ботов и no-steam клиенты (йо-хо-хо) к вам не подключатся. Нам такого "счастья" не надо.
Исправляем ситуацию. Напомню, что у меня сервер расположен в каталоге /mnt/video/games/hlds, у вас, разумеется, свой.
cd /mnt/video/games/hlds
Как известно из пред. статьи для того, чтобы к серверу могли подключиться no-steam клиенты, нам нужен dproto. А для запуска dproto нужен metamod.
Double Protocol (dproto) - плагин для Metamod'а, решающий проблему мультипротокола и эмулирующий SteamID для NoSteam-клиентов.
И снова я решил тупо собрать dproto, metamod и ботов и залить их на мыльное облако. Архив нужно скачать и положить в папку с сервером. Распакуем:
tar -xf cstrike.tar.xz
И положим все по местам.
mv addons cstrike/
mv dproto.cfg cstrike/
Как и в прошлый раз, отредактируем один файл. На сей раз это файл с тем же названием liblist.gam, но в папке cstike.
nano cstrike/liblist.gam
Здесь заменяем строку
gamedll_linux "dlls/cs.so"
на
для 64-битных:
gamedll_linux "addons/metamod/dlls/metamod_amd64.so"
для 32-битных:
gamedll_linux "addons/metamod/dlls/metamod_i386.so"
-------------------------------------------------
Глава 4. Серверный комплект
-------------------------------------------------
Сервер готов, пробуем запустить.
./hlds_run -game cstrike +maxplayers 8 +map de_dust
здесь:
--game cstrike - запустить контру;
+maxplayers 8 - количество игроков';
+map de_dust - карта;
Боты настраиваются в файле
cstrike/addons/podbot/podbot.cfgpb_minbots 0
pb_maxbots 16
и команда
pb add скилл_бота
Все довольно просто, поэтому перейдем к клиенту.
-----------------------------------------------------------------------------------------------
Глава 5. Мы встретили пиратскую версию Халфы Контры.
-----------------------------------------------------------------------------------------------
... и прошли мимо. Мы ведь всё еще не качаем пиратские игры, правда? Для интересующихся, первая ссылка по запросу "counter-strike linux" в гугле приведет вас куда нужно. Скачиваем, распаковываем, запускаем, играем. (Скачивание не показано)
mkdir /mnt/video/games/cs && cd /mnt/video/games/cs
В эту же папку кидаем архив с игрой.
tar -xf Counter-Strike.tar.gz
Архив теперь можно удалить, если не нужен (в пред. статье я забыл про это упомянуть).
rm Counter-Strike.tar.gz
Запускаем:
./cstrike.sh
Порубиться с ботами или с другими игроками? Не вопрос. Запусти в одной консоли сервер. В другой клиент. В клиенте нажми клавишу тильду "~" и введи команду на соединение:
connect 127.0.0.1:27015
Вместо 127.0.0.1:27015 можно набрать адрес какого-нибудь другого сервера.
------------------------------------------------------
Глава 6. Отводные псевдонимы.
------------------------------------------------------
Сделаем псевдонимы в ~/.bashrc для того, чтобы не набирать полностью команды. И вновь я напоминаю, что каталоги у вас должны быть свои.
echo "alias startcsds='cd /mnt/video/games/hlds; ./hlds_run -game cstrike +maxplayers 8 +map de_dust'" >>~/.bashrc
echo "alias startcsclient='cd /mnt/video/games/cs; ./cstrike.sh'" >>~/.bashrc
И перечитаем файл.
source ~/.bashrc
В итоге для запуска сервера контры достаточно набрать startcsds, а для запуска клиента startcsclient.
Почти все. Необязательный штрих.
--------------------------------------------------------------------
Глава 7. Подача разделенных терминалов
--------------------------------------------------------------------
Процитирую:
Мой основной эмулятор терминала terminator. Мне нравится, что можно вертикально разбить окно: слева запустить сервер, справа запустить клиент. Удобно? Удобно. Быстро? Нет. Надо исправлять. Для начала создадим отдельный шаблон для запуска игр.
В прошлый раз я насклерозил и забыл добавить файл, пришлось отдельным комментом.
Склонирую файл на pastebin и отредактирую для контры. Ссылку просто так дать нельзя, поэтому вот - http://pastebin\.\com/6YhtJNYU (Прости, лига лени!). Обратные слеши надо убрать.
Если копируете, заменяйте папки на свои! В файле записан layout с названием csds. Запустив терминал с этим layout-ом, мы получим вертикальное разбиение окна c одновременным запуском сервера/клиента.
terminator -l csds --new-tab
И снова псевдоним.
echo "alias cd='terminator -l csds--new-tab'" >>~/.bashrc
Перечитаем файл:
source ~/.bashrc
И все. Запускается все это одной единственной командой
cs
Команда запустит отдельный экземляр эмулятора терминала, разделит окно вертикально, слева запустит сервер, справа клиент... Ну, про это я уже писал.
На этом все.
Всего хорошего и спасибо за рыбу за внимание.