158 lines
5.8 KiB
ReStructuredText
158 lines
5.8 KiB
ReStructuredText
Сборка и запуск удалённого сервера
|
||
##################################
|
||
|
||
Данная инструкция описывает способ сборки **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>
|