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

From Valve Developer Community
Jump to: navigation, search
English

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

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

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

Получение Linux

Если вы не уверены какую версию Linux использовать, то зайдите на Ubuntu, там вы сможете определить какая версия подходит вам. Он имеет собственный "софт-центр" что сделает установку пакетов проще и может быть запущен с компакт-диска (CD) если вы захотите поэкспериментировать. (but you'll want to install it permanently before you start digging in).

Требования

Если у вас 64-битный Linux:

  • ia32-libs (иначе вам скажут что 32-битные бинары (двоичные коды) не доступны)
  • GCC multilib for your GCC release
  • Убедитесь что у вас 32-битная сборка от Xerces, если вы её еще не обновили до сборки от Vprojtomake 2010 года.

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

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


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

MOD_CONFIG
Эти значения должны быть прямо из вашего VS проекта. Удалите все незаполненное пространство(пробелы). To build the 'My Server' project in release mode, this should read MyServer_ReleaseWin32.
GAME_DIR
Чтобы настроить это, вам нужно скачать dedicated server от Valve. А так же понадобится игра из orangebox.
CC, CPLUS, CLINK
Change these to read "gcc -m32" or "g++ -m32", with quotes. If your system's default build of GCC is too recent, specify an older version with "gcc-4.2 -m32" or similar; check /usr/bin to see what you've got installed.
CPP_LIB
These files may not be where Valve think they are. To find them, browse to /usr/lib and search. 64-bit users will encounter two version of each file; choose the ones in the '32' folder.

Создание

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

Примечание:Если вы уже знакомы с созданием на 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.

Запуск

To run the mod perform make install to copy the server binary to your mod's folder, then cd into your dedicated server folder and do ./srcds_run with the appropriate -game parameter.