feat: Сборка и запуск удалённого сервера
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -6,3 +6,6 @@ build/
|
||||
|
||||
# Temp files
|
||||
*.*~
|
||||
|
||||
# Other
|
||||
rst-help.txt
|
||||
|
||||
BIN
source/_static/dotnet_directlink.png
Normal file
BIN
source/_static/dotnet_directlink.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 94 KiB |
BIN
source/_static/powershell_build_packaging.png
Normal file
BIN
source/_static/powershell_build_packaging.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 68 KiB |
BIN
source/_static/powershell_run_packaging.png
Normal file
BIN
source/_static/powershell_run_packaging.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 58 KiB |
BIN
source/_static/ss14_server_run.png
Normal file
BIN
source/_static/ss14_server_run.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 56 KiB |
157
source/build-for-prod.rst
Normal file
157
source/build-for-prod.rst
Normal 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>
|
||||
@@ -8,3 +8,4 @@
|
||||
:maxdepth: 2
|
||||
|
||||
build-and-run
|
||||
build-for-prod
|
||||
|
||||
Reference in New Issue
Block a user