Сборка и запуск локального сервера
##################################
Данная инструкция описывает способ сборки и запуска **Space Station 14**
из исходных кодовов ("исходники") для локального использования.
.. note::
Данная инструкция рассчитана на пользователей операционной системы **Windows**
Установка необходимых программ
******************************
Для работы с исходным кодом, нам понадобятся:
1. Система управления версиями |link_git|
2. Высокоуровневый язык |link_python|
3. Комплект для разработки прогррамм |link_dotnet|
Установка Git
=============
Установка выполняется в обычном режиме, ничего менять не нужно.
Кроме одного: выбор текстового редактора
("Choosing the default editor used by Git").
По-умолчанию предлагается выбрать некий "Vim". **Если вы не знаете что это, то
вы обязаны поменять его на что-либо другое!** Например, на стандартный Блокнот
("Notepad")
.. image:: _static/git_install_img1.png
:alt: Выбор текстового редактора для Git
Проверка
--------
1. Открываем **PowerShell**
2. Выполняем команду
.. code-block::
git --version
При корректной установке, напишется версия
.. code-block::
git version 2.25.1.windows.1
.. note::
Если у вас не совпадает версия с указанной здесь, то ничего страшного:
указанная версия может не совпадать с текущей актуальной верией **Git**.
Установка Python
================
В первом окне установщика обязательно поставьте галочку в пункте "Add python.exe to PATH"
.. image:: _static/python_install_img1.png
:alt: Установка Python
Для старта установки, нажимаете на строку "Intall Now".
Дальше установка выполняется в обычном режиме.
Проверка
--------
1. Открываем **PowerShell**
2. Выполняем команду
.. code-block::
python --version
При корректной установке, напишется версия
.. code-block::
Python 3.12.3
.. note::
Если у вас не совпадает версия с указанной здесь, то ничего страшного:
указанная версия может не совпадать с текущей актуальной верией **Python**.
Установка .NET SDK
==================
Установка проходит в обычном режиме.
Проверка
--------
1. Открываем **PowerShell**
2. Выполняем команду
.. code-block::
dotnet --info
При корректной установке, напишется много разной информация об установленном **.NET**.
Нас интересует строчка вида
.. code-block::
.NET SDKs installed:
8.0.205 [C:\Program Files\dotnet\sdk]
.. note::
Если у вас не совпадает версия с указанной здесь, то ничего страшного:
указанная версия может не совпадать с текущей актуальной верией **.NET SDK 8**.
.. warning::
Не допускайте установки множества версий **.NET SDK 8**!
Если у вас уже установлен, например, .NET SDK **8.0.205**, то не следует
ставить .NET SDK **8.0.300**. Иначе будут проблемы со сборкой **Space Station 14**.
Загрузка исходных кодов
***********************
.. note::
Для примера будет использоваться код с |link_ss14git|
.. warning::
**Внимание!** Не допускать в пути кириллических и пробельных символов! |br|
Пути вида ``C:\Users\Васян\Desktop\Сасака 14`` могут вызвать различные
проблемы в будущем.
1. Откройте папку, в которую желаете загрузить исходные коды **Space Station 14**
2. На пустом месте, через :kbd:`Shift+ПКМ`, открываем контекстное меню и
выбираем |br| *"Открыть окно PowerShell здесь"*
.. image:: _static/context_menu_powershell.png
:alt: Контекстное меню
3. Выполним команду клонирования репозитория
.. code-block::
git clone https://github.com/space-wizards/space-station-14.git
Исходные коды **Space Station 14** будут загружены в под-папку ``space-station-14``.
.. image:: _static/powershell_git_clone.png
:alt: Клонирование репозитория
4. Выполним команду перехода в папку с исходным кодом
.. code-block::
cd space-station-14
5. Выполним команду для загрузки игрового движка SS14 (RobustToolbox) и подключения git hooks
.. code-block::
python .\RUN_THIS.py
.. image:: _static/powershell_runthis.png
:alt: Загрузка игрового движка RobustToolbox
Первая сборка
*************
1. Откройте **PowerShell** в папке, в которой находятся исходные коды **Space Station 14**.
2. Выполните команду
.. code-block::
dotnet build
.. image:: _static/powershell_build.png
:alt: Сборка Space Station 14
В консоли будет очень много "желтого" текста (warnings). Не пугаться, *это нормально*.
.. note::
При первом запуске ``dotnet build`` в консоль может написаться много
приветственного текста вида "Вас приветствует .NET 8.0!".
.. note::
Скорость сборки будет зависит от мощности вашего ПК и от типа используемого
диска (SSD или HDD).
Запуск
******
Сервер
======
1. Откройте **PowerShell** в папке, в которой находятся исходные коды **Space Station 14**.
2. Выполните команду
.. code-block::
dotnet run --project Content.Server
.. image:: _static/powershell_server_run1.png
:alt: Запуск Сервера из исходников
Появление в консоли текста вида ``[INFO] net: "0.0.0.0": "Network thread started"``
ознаменует успешный запусе Сервера.
.. image:: _static/powershell_server_run2.png
:alt: Успешный запуск Сервера
.. note::
Если не была произведена первичная сборка или вы что-то поменяли в коде,
перед запуском может начаться сборка проекта.
Клиент
======
1. Откройте **PowerShell** в папке, в которой находятся исходные коды **Space Station 14**.
2. Выполните команду
.. code-block::
dotnet run --project Content.Client
.. image:: _static/powershell_client_run.png
:alt: Запуск Клиента из исходников
.. note::
Если не была произведена первичная сборка или вы что-то поменяли в коде,
перед запуском может начаться сборка проекта.
.. ########################################################################## ..
.. |link_git| raw:: html
Git
.. |link_python| raw:: html
Python
.. |link_dotnet| raw:: html
.NET SDK 8.0
.. |link_ss14git| raw:: html
официального репозитория Space Station 14
.. |br| raw:: html