feat: Сборка и запуск удалённого сервера
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -6,3 +6,6 @@ build/
|
|||||||
|
|
||||||
# Temp files
|
# 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
|
:maxdepth: 2
|
||||||
|
|
||||||
build-and-run
|
build-and-run
|
||||||
|
build-for-prod
|
||||||
|
|||||||
Reference in New Issue
Block a user