Archived
1
This repository has been archived on 2025-08-09. You can view files and clone it, but cannot push or open issues or pull requests.
Files
ss14-docs/source/build-for-prod.rst

158 lines
5.8 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Сборка и запуск удалённого сервера
##################################
Данная инструкция описывает способ сборки **Space Station 14**
из исходных кодовов ("исходники") для запуска на удалённом сервере.
.. note::
- Предполагается, что читатель умеет собирать сервер :doc:`из исходников <build-and-run>`;
- Предполагается, что читатель имеет базовые навыки работы с **Linux** системами;
- Предполагается, что читатель умеет подключаться к удалённому серверу через **SSH**;
- Данная инструкция рассчитана на пользователей операционной системы **Windows**;
- В качестве удалённой операционной системы будет использоваться **Debian 12**.
Подготовка релизной сборки
**************************
1. Открываем **PowerShell** в папке, в которой находятся исходные коды **Space Station 14**.
2. Выполняем команду по подготовке встроенного сборщика
.. code-block:: bash
dotnet build Content.Packaging --configuration Release
.. image:: _static/powershell_build_packaging.png
:alt: Сборка "сборщика"
3. Выполняем релизную сборку Сервера
.. code-block:: bash
dotnet run --project Content.Packaging server --platform linux-x64 --hybrid-acz
.. image:: _static/powershell_run_packaging.png
:alt: Запуск сборщика
В результате в папке ``release`` будет лежать два архива, но нас интересует
только один из них - ``SS14_Server_linux-x64.zip``.
Настройка удалённого сервера
****************************
Установка дополнительных пакетов
================================
В консоле удалённого сервера выполняем команду:
.. code-block:: bash
apt-get install -y unzip screen wget sudo
Установка .NET 8
================
Нам понадобятся скачать следующие платформы:
- .NET Runtime 8
- ASP.NET Core Runtime 8
Скачиваем по следующему алгоритму:
1. Заходим на страницу |link_dotnet|
2. Выбираем версию для Linux x64
3. На странице загрузки копируем прямую ссылку (Direct link)
.. image:: _static/dotnet_directlink.png
:alt: Страница загрузки .NET 8
4. В консоли удалённого сервера выполняем команду загрузки
.. code-block:: bash
cd /root/
wget 'вставить-сюда-прямую-ссылку'
Так повторяем для каждой платформы.
По завершению процедуры, на удалённом сервере в папке ``/root`` должно быть два
архива:
- ``dotnet-runtime-8.0.5-linux-x64.tar.gz``
- ``aspnetcore-runtime-8.0.5-linux-x64.tar.gz``
Распаковываем их в папку ``/root/dotnet``:
.. code-block:: bash
mkdir /root/dotnet
cd /root
tar -xf dotnet-runtime-8.0.5-linux-x64.tar.gz -C /root/dotnet
tar -xf aspnetcore-runtime-8.0.5-linux-x64.tar.gz -C /root/dotnet
Запуск сборки
*************
Каким способом вы загрузите архив ``SS14_Server_linux-x64.zip`` на ваш удалённый
Linux сервер - не важно. Главное, что бы архив оказался там и с ним можно было
работать.
.. note::
Далее предполагается, что архив на удалённом сервере доступен по пути
``/root/SS14_Server_linux-x64.zip``
Подключаемся по **SSH** к удалённому серверу и распаковываем архив в папку
``/root/ss14``:
.. code-block:: bash
mkdir /root/ss14
unzip /root/SS14_Server_linux-x64.zip -d /root/ss14/
Теперь запускаем ``screen``, чтобы при закрытии ssh-соединения, игровой сервер
продолжал работать:
.. code-block:: bash
screen -S ss14
Внутри screen-сессии переходим в папку ``/root/ss14`` и запускаем игровой сервер
.. code-block:: bash
cd /root/ss14
mkdir data
export DOTNET_ROOT=/root/dotnet
export PATH=${PATH}:$DOTNET_ROOT
chmod +x ./Robust.Server
./Robust.Server --config-file "./server_config.toml" --data-dir "./data"
Как только консоль игрового сервера напишет текст вида ``[INFO] root: Server Version 222.4.0.0 -> Ready``
значит игровой сервер успешно запущен. К нему можно подключаться напрямую по IP
адресу.
.. image:: _static/ss14_server_run.png
:alt: Запуск игрового сервера
.. note::
- Отключиться от screen-сессии не закрывая её можно сочетанием клавиш :kbd:`CTRL+A`, :kbd:`D`
- Для повторного подключения к screen-сессии, выполните команду
.. code-block:: bash
screen -r
.. ########################################################################## ..
.. |link_dotnet| raw:: html
<a href="https://dotnet.microsoft.com/en-us/download/dotnet/8.0" target="_blank">загрузки данных платформ</a>