Difference between revisions of "Compiling under Linux:ru"

From Valve Developer Community
Jump to: navigation, search
(Установка/Настройка)
Line 44: Line 44:
 
: These files may not be where Valve think they are. To find them, browse to <code>/usr/lib</code> and search. 64-bit users will encounter two version of each file; choose the ones in the '32' folder.
 
: These files may not be where Valve think they are. To find them, browse to <code>/usr/lib</code> and search. 64-bit users will encounter two version of each file; choose the ones in the '32' folder.
  
* [[Server plugin]] (Плагинам сервера) нужна дополнительная настройка. О том как её сделать можно узнать здесь: [[Server_plugins#Compiling]].
+
* [[Server plugin]] нужна дополнительная настройка. О том как её сделать можно узнать здесь: [[Server_plugins#Compiling]].
 
* Опытные GCC программисты могут быть заинтересованы в [[SDK Known Issues List#Getting the SDK для работы под -Wall -Werror|Getting the SDK to work under -Wall -Werror]].
 
* Опытные GCC программисты могут быть заинтересованы в [[SDK Known Issues List#Getting the SDK для работы под -Wall -Werror|Getting the SDK to work under -Wall -Werror]].
  

Revision as of 03:35, 27 August 2016

English

Создание Linux сборки вашего многопользовательского dedicated server или плагинов сервера не требуется, but does make it much more likely to be accepted by commercial server operators.

Note.png Примечание: На данной странице предполагается что вы создаёте для 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 года.

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

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

Откройте 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.

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.

Запуск

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.