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

From Valve Developer Community
Jump to: navigation, search
English (en)русский (ru)中文 (zh)
... Icon-Important.png
Icon-broom.png
Эта статья или раздел требует улучшения, чтобы соответствовать более высокому стандарту качества.
Для получения помощи, обратитесь к руководству по редактированию на VDC и процессу очистки на Wikipedia. Также не забудьте проверить наличие заметок, оставленных отмечающим на странице обсуждения этой статьи.

Создание 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.