Здесь я опишу один из способов установки и настройки выделенного сервера CoD4 под OS GNU/Linux. Если вы работаете в связке Windows-Linux, то вам необходимо воспользоваться набором утилит putty (в частности putty.exe). Если же вы работает в связке Linux-Linux (кроме Шага 1), то вам не нужно ни каких дополнительных утилит, в вашей системе уже все есть.
Предполагается, что вы имеете как ssh, так и ftp соединение с сервером. Но я также заострю внимание на вопросе установки сервера посредством только ssh доступа на сервер.
Шаг 1 - Подготовка
Установите игру на OS Windows и пропатчте ее до последней версии.
Шаг 2 - Копирование файлов
Скопируйте на ваш сервер игру. Файлы, которые НЕ НАДО копировать:
-вся директория Docs;
-вся директория miles;
-вся директория pb;
-вся директория players;
-все файлы в корне игры с расширениями bmp, dat, dll, exe, ico, inf, lnk, log.
Т.е. на сервер копируем:
-директорию main, которая должна содержать ТОЛЬКО файлы с расширением iwd, а также директорию video. В директории video должен находитьсяТОЛЬКО файл zakhaev_escape.bik;
-директорию Mods, которую желательно переименовать в mods (с маленькой буквы);
-директорию zone;
-файл localization.txt.
Все эти файлы проще скопировать посредством ftp-соединения.
Если у вас только ssh-доступ на сервер, то создайте архив вышеуказанных файлов и залейте его на ваш сервер. Если вы работаете в Windows, то воспользуйтесь утилитой PSCP из набора putty:
pscp c:Call_of_Dutycod.zip user@example.com:/opt/games/cod4
Затем распакуйте архив на сервера посредством утилиты putty.exe:
unzip /opt/games/cod4
Если вы работаете в Linux, то откройте консоль, вызовите Midnight Commander (mc), нажмите F9 и выбирите Shell-соединение, введите ip-адрес сервера, затем пароль. Копируйте файлы напрямую.
Шаг 3 - Копирование Linux-сервера
Скопируйте сервер из нашего файлового архива. К сожалению, я точно не помню, что содержится в каждом из архивов .
1) Linux Multiplayer Server COD4 MW v1.7 full (278mb) - это сервер с патчем 1.7, бинарниками и библиотеками.
2) Linux Multiplayer Server COD4 MW v.1.7 bin (1.57mb) - здесь только бинарник для сервера v1.7.
3) Linux Multiplayer Server COD4 MW v.1.6 bin (924 kb) - здесь только бинарник для сервера v1.6.
4) Linux Multiplayer Server COD4 MW v.1.6 (257 mb) - это сервер с патчем 1.6, бинарниками и библиотеками.
5) Call of Duty 2 v1.3 Private Linux Server Fix (533кб) - что-то исправляет, мб 30 секундное ожидание?
6) Linux Multiplayer Server Code v.1.3 (27 mb) - бинарники для сервера v1.3 и библиотеки.
Таким образом, если у вас широкий канал и дешевый интеренет, то смело качайте первый архив и распаковывайте его в корень игры (настоятельно рекомендую всем!).
Если у вас какие-либо трудности с интернетом, то я могу посоветовать скачать 2 и 6 архивы. Файл cod4_lnxded из второго архива переименуйте в cod4_lnxded-bin и замените его на такой же файл из 6-го архива. Но я точно не помню, содержание 6 архива .
Итого, содержимое вашего Linux-сервера (помимо игры) должно быть:
cod4_lnxded
cod4_lnxded-bin
libgcc_s.so.1
libstdc++.so.6
README.linux
pbsetup.run
Шаг 4 - Копирование конфигов.
Я бы советовал вам использовать конфиги от мода ace.
Для рангового сервера вам необходимы следующие конфиги:
- playercontrol.cfg ;
- gametypes.cfg;
- maprotation.cfg;
- weaponcontrol.cfg.
- codserver.cfg (главный конфиг сервера, называйте его как хотите, только не server.cfg. В конце этого файла закомментируйте конфиги, которые не использует ранговый сервер. Не трогайте переменные, начинающиеся на ace_);
Настройте эти конфиги по своему желанию и скопируйте их в директорию main.
Шаг 5 - Настройка сервера
Предполагается, что вы уже находитесь на сервера в директории установки игры, например /opt/games/cod4.
Создайте пустой файл - default_localize_mp.cfg в директории main:
touch main/default_localize_mp.cfg
Задайте права на запуск для бинарников и библиотек в корне игры (cod4_lnxded, cod4_lnxded-bin,
libgcc_s.so.1, libstdc++.so.6):
chmod +x имя_файла
Создайте файл со строкой запуска сервера:
nano -w start4.ch
со следующим содержимым:
#!/bin/sh
cd /opt/games/cod4
killall -w cod4_lnxded-bin
./cod4_lnxded +set dedicated 2 +sets gamestartup "`date +"%D %T"`" +set net_ip xxx.xxx.xxx.xxx +set net_port 28960 +set sv_punkbuster 1 +set loc_language 6 +exec codserver.cfg +map_rotate>/opt/games/cod4/start4.log 2>/opt/games/cod4/start4.log &
и задайте этому файлу права на исполнение:
chmod +x start4.ch
Лог СТАРТА сервера будет находиться в файле start4.log
Стартуем сервер:
./start4.ch
Через несколько секунд смотрим содержимое файла start4.log. Он должен заканчиваться приблизительно на фразах Sending heartbeat to...
Шаг 6 - Поиск лог файлов .
Логи сервера лежат в домашней директории того пользователся, который его запустил!
Если вы запускали сервер от рута, то ищите логи в /root/.callofduty4/main
Если от обычного пользователя, то в домашней директории этого пользователя! Самый простой способ узнать вашу домашнюю директорию, это пройти туда :
cd ~
затем
pwd
Директория .callofduty4 скрытая!
Заключение
Ну вот и все. Позже я либо кто-то другой опишут, как установить ПанкБастер и несколько серверов CoD4.