Archived
1

feat: Сборка и запуск удалённого сервера

This commit is contained in:
2024-05-20 20:56:29 +03:00
parent afa52cc7dc
commit 0e142120bd
7 changed files with 161 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

157
source/build-for-prod.rst Normal file
View File

@@ -0,0 +1,157 @@
Сборка и запуск удалённого сервера
##################################
Данная инструкция описывает способ сборки **Space Station 14**
из исходных кодовов ("исходники") для запуска на удалённом сервере.
.. note::
- Предполагается, что читатель умеет собирать сервер :doc:`из исходников <build-and-run>`;
- Предполагается, что читатель имеет базовые навыки работы с **Linux** системами;
- Предполагается, что читатель умеет подключаться к удалённому серверу через **SSH**;
- Дання инструкция рассчитана на пользователей операционной системы **Windows**;
- В качестве удалённой операционной системы будет использоваться **Debian 12**.
Подготовка релизной сборки
**************************
1. Открываем **PowerShell** в папке, в которой находятся исходные коды **Space Station 14**.
2. Выполняем команду по подготовке встроенного сборщика
.. code-block::
dotnet build Content.Packaging --configuration Release
.. image:: _static/powershell_build_packaging.png
:alt: Сборка "сборщика"
3. Выполняем релизную сборку Сервера
.. code-block::
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::
apt-get install -y unzip screen wget
Установка .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::
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::
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::
mkdir /root/ss14
unzip /root/SS14_Server_linux-x64.zip -d /root/ss14/
Теперь запускаем ``screen``, чтобы при закрытии ssh-соединения, игровой сервер
продолжал работать:
.. code-block::
screen -S ss14
Внутри screen-сессии переходим в папку ``/root/ss14`` и запускаем игровой сервер
.. code-block::
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::
screen -r
.. ########################################################################## ..
.. |link_dotnet| raw:: html
<a href="https://dotnet.microsoft.com/en-us/download/dotnet/8.0" target="_blank">загрузки данных платформ</a>

View File

@@ -8,3 +8,4 @@
:maxdepth: 2
build-and-run
build-for-prod