Dproto — полное название double protocol (двойной протокол), Вы уже знаете, что в CS 1.6 существует два протоколоа 47 — none-steam протокол и 48 — Steam протокол, т.е если у вас есть сервер, такой как у нас с Вами, выкачанный через утилиту SteamCMD, то спешу Вас обрадовать — это контра с 48 — протоколом, т.е если кто-то имеет пиратскую версию контры, то у нас на сервере он не сможет играть, поэтому есть dproto, которое устраняет данную проблему при установке двойного протокола на свой сервер. На данный момент времени установим dproto_0_9_534 — это более свежая версия dproto на сегодня. Скачаете в интернете, ссылку давать не буду в целях поддержки стим клиентов.
Нам понадобится сегодня для работы:
- Программа wmware с установленным и настроенным Debian
- Архив с dproto_0_9_534
- Клиент WinSCP, чтобы закинуть файлы dproto на сервер
- Конфигуационный файл dproto.cfg для настройки
- Клиент игры CS 1.6 для проверки работы dproto
Итак у нас все готово для работы.
- Открываем архив с двойным протоколом и видим, что там две папки amxx и bin, а также конфигурационный файл dproto.cfg, открываем первую папку amxx и закидываем файлы в /home/user/server/cstrike/addons/amxmodx/scripting, надеюсь у Вас все получилось, если нет пишете в комментарии о Ваших проблемах, решим.
- Создаем папку dproto в /home/user/server/cstrike/addons, можно через консоль сервера:
cd /home/user/server/cstrike/addons
mkdir dproto
А можно через WinSCP, нажав правую клавишу мыши по пустому месту вкладки сервера, выбрав -> Новый -> Каталог -> dproto -> Ok - Следующая папка bin имеет внутри две папки в них находятся файлы с расширением .so и .dll, первый для unix-подобных систем, второй — для windows, поскольку у нас система Debian, то мы копируем файл dproto_i386.so в /home/user/server/cstrike/addons/dproto
- Теперь нужно подключить dproto к серверу, для этого переходим в /home/user/server/cstrike/addons/metamod
и открываем файл plugins.ini с помощью блокнота, нажав правую клавишу мыши и выбрав править Notepad ++ - В открывшимся файле plugins.ini вставляем строчку
linux addons/dproto/dproto_i386.so
Не забываем сохранить - Копирем файл dproto.cfg на сервер в корневой каталог cstrike, у меня это — /home/user/server/cstrike
Все настройки оставим по умолчанию, нас на первых этапах существования сервера — это устравивает. - Проверяем с помощью команды ldd, какие библиотеки необходимы для запуска dproto, для этого переходим в каталог с dproto
cd /home/user/server/cstrike/addons/dproto
и запускаем команду, написав в консоль ldd dproto_i386.so, получаем:
[email protected]:/home/user/server/cstrike/addons/dproto# ldd dproto_i386.so
linux-gate.so.1 (0xf77cc000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7515000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf74c0000)
libstdc++.so.6 => not found
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf718e000)
/lib/ld-linux.so.2 (0xf77ce000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf7170000
Исправляем проблему командами:
dpkg --add-architecture i386
apt-get install libgl1-mesa-glx:i386
Ждем немного и после окончания установки библиотек, проверяем:
[email protected]:/home/user/server/cstrike/addons/dproto# ldd dproto_i386.so
linux-gate.so.1 (0xf7765000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf74ae000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7459000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf72df000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7127000)
/lib/ld-linux.so.2 (0xf7767000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf7109000)
[email protected]:/home/user/server/cstrike/addons/dproto#
Теперь все хорошо, 32 битные библиотеки установлены.
Пробуем запустить сервер, переходим в каталог с нашим файлом запуска, кто забыл, напоминаю:
cd /home/user/server
./start1
И получаем ошибку на команду meta list:
meta list
Currently loaded plugins:
description stat pend file vers src load unlod
[ 1] AMX Mod X RUN - amxmodx_mm_i386. v1.8.2 ini Start ANY
[ 2] dproto_EF fail load dproto_i386.so v0.9.534 ini Start Never
2 plugins, 1 running
Dproto не запускается.
Вводим команду version для проверки версии CS 1.6, которую мы выкачали с оф. сайта:
version
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
Exe build: 15:52:40 Apr 3 2019 (8196)
Поэтому нам нужно откатить билд сервера до старой версии. Делаем это с помощью файлика engine_i486.so Просто его копируем с заменой на наш сервер по CS 1.6 с помощью программы WinSCP и проблема решена, только не забудьте дать файлу права на исполнение, строчками:
chmod +x engine_i486.so
или
chmod -R 744 engine_i486.so
Проверяем:
./start1
и пишем в консоль meta list:
Currently loaded plugins:
description stat pend file vers src load unlod
[ 1] AMX Mod X RUN - amxmodx_mm_i386. v1.8.2 ini Start ANY
[ 2] dproto_EF RUN - dproto_i386.so v0.9.534 ini Start Never
2 plugins, 2 running
Запустился, проверяем версию сервера:
version
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
Exe build: 13:12:29 Aug 29 2013 (6153)
Вот теперь можно проверить работу нашего сервера по Counter-Strike 1.6 и позвать друзей, чтобы помогли протестить сервер.
Также Вы уже знаете как настроить и установить metamod+amxmodx на Debian
Запускаем клинт игры и коннектимся к серверу
connect 192.168.110.150:27016
Ура!!! У нас все получилось с чем Вас и поздравляю.