Компиляция под Linux

From Valve Developer Community
Jump to: navigation, search
English (en)русский (ru)中文 (zh)
... Icon-Important.png

Создание Linux сборки вашего многопользовательского dedicated server или server plugin не требуется, но это повышает её шанс на использование операторами рекламных серверов.

Note.pngПримечание:На данной странице предполагается что вы создаёте для Source 2007 года (Orange Box).

Для сборки на Linux требуется существующий проект Visual Studio, который преобразуется в makefile с помощью инструмента Valve vcpm ("Visual C++ Project to Make").

Получение Linux

Если вы не знаете, какую версию Linux использовать, остановитесь на Ubuntu, которая старается быть удобной для пользователя. В ней есть "программный центр", который упрощает установку пакетов, и ее можно запустить с компакт-диска, если вы хотите поэкспериментировать (но вы захотите установить ее на постоянной основе, прежде чем начать копаться в ней).

Требования

Если вы используете 64-битный Linux:

  • ia32-libs (или вам будет сказано, что 32-битных двоичных файлов не существует)
  • GCC multilib для вашего выпуска GCC.
  • Убедитесь, что у вас есть 32-битная сборка Xerces, если вы не обновились до Vprojtomake 2010.

Установка/Настройка

Icon-Bug.pngОшибка:Не используйте ~(тильду) для вашей домашней директории. Части процесса создания могут не понять её.

Откройте sdk_root/linux_sdk/Makefile. Большинство опций конфигурации здесь просты, за исключением:

MOD_CONFIG
Эти значения должны быть взяты прямо из вашего проекта VS. Удалите все пробелы. Чтобы собрать проект 'My Server' в режиме релиза, это значение должно быть MyServer_ReleaseWin32.
GAME_DIR
Чтобы получить это, вам нужно загрузить dedicated server от Valve. Вам нужна игра orangebox.
CC, CPLUS, CLINK
Измените их на "gcc -m32" или "g++ -m32" с кавычками. Если сборка GCC по умолчанию в вашей системе слишком свежая, укажите более старую версию с помощью "gcc-4.2 -m32" или аналогичной; проверьте /usr/bin, чтобы узнать, что у вас установлено.
CPP_LIB
Эти файлы могут находиться не там, где думает Valve. Чтобы найти их, перейдите в /usr/lib и выполните поиск. 64-битные пользователи столкнутся с двумя версиями каждого файла; выбирайте те, что находятся в папке '32'.

Создание

Если все настроено правильно, вы можете начать создание собственного мода, перейдя в папку linux_sdk и запустив файл make.

Note.pngПримечание:Если вы уже знакомы с созданием на Windows то вы наверняка встречались с ошибками: "No such file or directory" или "no rule to make target" (if you get a mess of errors, scroll up to the very first one). Все ошибки можно легко устранить:
  • Пути чувствительные к регистру на Linux. /Multiplayer не тоже самое что и /multiplayer
  • Разделение путей на Linux осуществляется с помощью символа / , а не как на Windows с помощью символа \ .
Внесение таких изменений в исходном файле не повлияет на компиляцию в Windows.

Запуск

Для запуска мода выполните make install, чтобы скопировать двоичный файл сервера в папку вашего мода, затем перейдите в папку вашего выделенного сервера и выполните ./srcds_run с соответствующим параметром -game.