Ru/Compiling under Linux: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
(Обновлен перевод)
m (Setting bug notice hidetested=1 param on page where the bug might not need tested in param specified)
 
(8 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{lang|Compiling under Linux|title=Компиляция под Linux}}
{{LanguageBar|title = Компиляция под Linux}}
 
{{cleanup:ru}}
{{cleanup:ru}}
{{toc-right}}
{{toc-right}}


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


{{note:ru|На данной странице предполагается что вы создаёте для [[Source 2007]] года (Orange Box).}}
{{Note|На данной странице предполагается что вы создаёте для {{L|Source 2007}} года (Orange Box).}}


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


* [http://gcc.gnu.org GCC и G++ 4.2.x] или ниже.
* [http://gcc.gnu.org GCC и G++ 4.2.x] или ниже.
* [[Vprojtomake 2010]] '''или''' [http://xml.apache.org/xerces-c/ Xerces XML parser] 2.8.x
* {{L|Vprojtomake 2010}} '''или''' [http://xml.apache.org/xerces-c/ Xerces XML parser] 2.8.x
* <code>libstdc++</code> 6
* <code>libstdc++</code> 6
* <code>libc</code> 2.4 или выше.
* <code>libc</code> 2.4 или выше.
Line 28: Line 29:
== Установка/Настройка ==
== Установка/Настройка ==


{{bug:ru|Не используйте <code>~(тильду)</code> для вашей домашней директории. Части процесса создания могут не понять её.}}
{{bug|hidetested=1|Не используйте <code>~(тильду)</code> для вашей домашней директории. Части процесса создания могут не понять её.}}


Откройте <code>sdk_root/linux_sdk/Makefile</code>. Большинство опций конфигурации здесь просты, за исключением:
Откройте <code>sdk_root/linux_sdk/Makefile</code>. Большинство опций конфигурации здесь просты, за исключением:
Line 35: Line 36:
: Эти значения должны быть взяты прямо из вашего проекта VS. Удалите все пробелы. Чтобы собрать проект 'My Server' в режиме релиза, это значение должно быть <code>MyServer_ReleaseWin32</code>.
: Эти значения должны быть взяты прямо из вашего проекта VS. Удалите все пробелы. Чтобы собрать проект 'My Server' в режиме релиза, это значение должно быть <code>MyServer_ReleaseWin32</code>.
; <code>GAME_DIR</code>
; <code>GAME_DIR</code>
: Чтобы получить это, вам нужно загрузить [[dedicated server]] от Valve. Вам нужна игра <code>orangebox</code>.
: Чтобы получить это, вам нужно загрузить {{L|dedicated server}} от Valve. Вам нужна игра <code>orangebox</code>.
; <code>CC</code>, <code>CPLUS</code>, <code>CLINK</code>
; <code>CC</code>, <code>CPLUS</code>, <code>CLINK</code>
: Измените их на "gcc -m32" или "g++ -m32" с кавычками. Если сборка GCC по умолчанию в вашей системе слишком свежая, укажите более старую версию с помощью "gcc-4.2 -m32" или аналогичной; проверьте <code>/usr/bin</code>, чтобы узнать, что у вас установлено.
: Измените их на "gcc -m32" или "g++ -m32" с кавычками. Если сборка GCC по умолчанию в вашей системе слишком свежая, укажите более старую версию с помощью "gcc-4.2 -m32" или аналогичной; проверьте <code>/usr/bin</code>, чтобы узнать, что у вас установлено.
Line 41: Line 42:
: Эти файлы могут находиться не там, где думает Valve. Чтобы найти их, перейдите в <code>/usr/lib</code> и выполните поиск. 64-битные пользователи столкнутся с двумя версиями каждого файла; выбирайте те, что находятся в папке '32'.
: Эти файлы могут находиться не там, где думает Valve. Чтобы найти их, перейдите в <code>/usr/lib</code> и выполните поиск. 64-битные пользователи столкнутся с двумя версиями каждого файла; выбирайте те, что находятся в папке '32'.


* [[Server plugin]] нужна дополнительная настройка. О том как её сделать можно узнать здесь: [[Server_plugins#Compiling]].
* {{L|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]].


Line 48: Line 49:
Если все настроено правильно, вы можете начать создание собственного мода, перейдя в папку <code>linux_sdk</code> и запустив файл <code>make</code>.
Если все настроено правильно, вы можете начать создание собственного мода, перейдя в папку <code>linux_sdk</code> и запустив файл <code>make</code>.


{{note:ru|Если вы уже знакомы с созданием на 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). Все ошибки можно легко устранить:
{{Note|Если вы уже знакомы с созданием на 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. <code>/Multiplayer</code> не тоже самое что и <code>/multiplayer</code>
* Пути чувствительные к регистру на Linux. <code>/Multiplayer</code> не тоже самое что и <code>/multiplayer</code>
Line 77: Line 78:
-->
-->


[[Category:Programming:ru]]
{{ACategory|Programming}}
[[Category:Linux:ru]]
{{ACategory|Linux}}
 
{{ACategory|Programming}}
{{ACategory|Linux}}

Latest revision as of 07:16, 20 May 2025

English (en)Русский (ru)中文 (zh)Translate (Translate)
Broom icon.png
This article or section needs to be cleaned up to conform to a higher standard of quality.
For help, see the VDC Editing Help and Wikipedia cleanup process. Also, remember to check for any notes left by the tagger at this article's talk page.

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

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