feat: Сборка и запуск
19
.editorconfig
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
||||||
|
end_of_line = lf
|
||||||
|
indent_size = 4
|
||||||
|
indent_style = space
|
||||||
|
insert_final_newline = true
|
||||||
|
max_line_length = 80
|
||||||
|
|
||||||
|
[*.rst]
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
[*.json]
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
[Makefile]
|
||||||
|
indent_style = tab
|
||||||
|
insert_final_newline = false
|
||||||
8
.gitignore
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# Virtual Environment
|
||||||
|
.venv/
|
||||||
|
|
||||||
|
# Sphinx doc
|
||||||
|
build/
|
||||||
|
|
||||||
|
# Temp files
|
||||||
|
*.*~
|
||||||
8
.vscode/extensions.json
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"recommendations": [
|
||||||
|
"ms-python.python",
|
||||||
|
"donjayamanne.python-environment-manager",
|
||||||
|
"trond-snekvik.simple-rst",
|
||||||
|
"EditorConfig.EditorConfig"
|
||||||
|
]
|
||||||
|
}
|
||||||
5
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"editor.rulers": [
|
||||||
|
80
|
||||||
|
]
|
||||||
|
}
|
||||||
19
Makefile
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
#!make
|
||||||
|
|
||||||
|
setup-venv:
|
||||||
|
python -m venv .venv
|
||||||
|
|
||||||
|
setup-deps:
|
||||||
|
source .venv/bin/activate && pip install -r requirements.txt
|
||||||
|
|
||||||
|
compile:
|
||||||
|
source .venv/bin/activate && sphinx-build -M html source build
|
||||||
|
|
||||||
|
nginx-up:
|
||||||
|
podman-compose -f compose.dev.yml --project "ss14-docs" up -d
|
||||||
|
|
||||||
|
nginx-down:
|
||||||
|
podman-compose -f compose.dev.yml --project "ss14-docs" down
|
||||||
|
|
||||||
|
push:
|
||||||
|
cd build/html && rsync -zhr * 'dedic2:/var/www/html/docs/ss14/'
|
||||||
9
compose.dev.yml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
version: "3.9"
|
||||||
|
|
||||||
|
services:
|
||||||
|
nginx:
|
||||||
|
image: "nginx:1.23.1"
|
||||||
|
ports:
|
||||||
|
- "127.0.0.1:8080:80"
|
||||||
|
volumes:
|
||||||
|
- "./build/html:/usr/share/nginx/html:ro"
|
||||||
2
requirements.txt
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
sphinx==7.3.7
|
||||||
|
sphinx-rtd-theme==2.0.0
|
||||||
BIN
source/_static/context_menu_powershell.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
source/_static/git_install_img1.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
source/_static/powershell_build.png
Normal file
|
After Width: | Height: | Size: 76 KiB |
BIN
source/_static/powershell_client_run.png
Normal file
|
After Width: | Height: | Size: 72 KiB |
BIN
source/_static/powershell_git_clone.png
Normal file
|
After Width: | Height: | Size: 48 KiB |
BIN
source/_static/powershell_runthis.png
Normal file
|
After Width: | Height: | Size: 97 KiB |
BIN
source/_static/powershell_server_run1.png
Normal file
|
After Width: | Height: | Size: 70 KiB |
BIN
source/_static/powershell_server_run2.png
Normal file
|
After Width: | Height: | Size: 56 KiB |
BIN
source/_static/python_install_img1.png
Normal file
|
After Width: | Height: | Size: 87 KiB |
267
source/build-and-run.rst
Normal file
@@ -0,0 +1,267 @@
|
|||||||
|
Сборка и запуск
|
||||||
|
###############
|
||||||
|
|
||||||
|
Данная инструкция описывает способ сборки (компиляции) и запуска
|
||||||
|
**Space Station 14** из исходных кодовов ("исходники").
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
Дання инструкция рассчитана на пользователей операционной системы **Windows**
|
||||||
|
|
||||||
|
|
||||||
|
Установка необходимых программ
|
||||||
|
******************************
|
||||||
|
|
||||||
|
Для работы с исходным кодом, нам понадобятся:
|
||||||
|
|
||||||
|
1. Система управления версиями |link_git|
|
||||||
|
2. Высокоуровневый язык |link_python|
|
||||||
|
3. Комплект для разработки прогррамм |link_dotnet|
|
||||||
|
|
||||||
|
|
||||||
|
Установка Git
|
||||||
|
=============
|
||||||
|
|
||||||
|
Установка выполняется в обычном режиме ("Next-Next-Install-Finish") за исключением
|
||||||
|
одного момента: выбор текстового редактора ("Choosing the default editor used by Git").
|
||||||
|
|
||||||
|
По-умолчанию предлагается выбрать некий "Vim". **Если вы не знаете что это, то
|
||||||
|
вы обязаны поменять его на что-либо другое!** Например, на стандартный Блокнот
|
||||||
|
("Notepad")
|
||||||
|
|
||||||
|
.. image:: _static/git_install_img1.png
|
||||||
|
:alt: Выбор текстового редактора для Git
|
||||||
|
|
||||||
|
|
||||||
|
Проверка
|
||||||
|
--------
|
||||||
|
|
||||||
|
1. Открываем **PowerShell**
|
||||||
|
2. Выполняем команду
|
||||||
|
|
||||||
|
.. code-block::
|
||||||
|
|
||||||
|
git --version
|
||||||
|
|
||||||
|
При корректной установке, напишется версия
|
||||||
|
|
||||||
|
.. code-block::
|
||||||
|
|
||||||
|
git version 2.25.1.windows.1
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Если у вас не совпадает версия с указанной здесь, то ничего страшного:
|
||||||
|
указанная версия может не совпадать с текущей актуальной верией **Git**.
|
||||||
|
|
||||||
|
|
||||||
|
Установка Python
|
||||||
|
================
|
||||||
|
|
||||||
|
В первом окне установщика обязательно поставьте галочку в пункте "Add python.exe to PATH"
|
||||||
|
|
||||||
|
.. image:: _static/python_install_img1.png
|
||||||
|
:alt: Установка Python
|
||||||
|
|
||||||
|
Для старта установки, нажимаете на строку "Intall Now".
|
||||||
|
|
||||||
|
Дальше установка выполняется в обычном режиме.
|
||||||
|
|
||||||
|
Проверка
|
||||||
|
--------
|
||||||
|
|
||||||
|
1. Открываем **PowerShell**
|
||||||
|
2. Выполняем команду
|
||||||
|
|
||||||
|
.. code-block::
|
||||||
|
|
||||||
|
python --version
|
||||||
|
|
||||||
|
При корректной установке, напишется версия
|
||||||
|
|
||||||
|
.. code-block::
|
||||||
|
|
||||||
|
Python 3.12.3
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Если у вас не совпадает версия с указанной здесь, то ничего страшного:
|
||||||
|
указанная версия может не совпадать с текущей актуальной верией **Python**.
|
||||||
|
|
||||||
|
|
||||||
|
Установка .NET SDK
|
||||||
|
==================
|
||||||
|
|
||||||
|
Установка проходит в обычном режиме.
|
||||||
|
|
||||||
|
Проверка
|
||||||
|
--------
|
||||||
|
|
||||||
|
1. Открываем **PowerShell**
|
||||||
|
2. Выполняем команду
|
||||||
|
|
||||||
|
.. code-block::
|
||||||
|
|
||||||
|
dotnet --info
|
||||||
|
|
||||||
|
При корректной установке, напишется много разной информация об установленном **.NET**.
|
||||||
|
Нас интересует строчка вида
|
||||||
|
|
||||||
|
.. code-block::
|
||||||
|
|
||||||
|
.NET SDKs installed:
|
||||||
|
8.0.205 [C:\Program Files\dotnet\sdk]
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Если у вас не совпадает версия с указанной здесь, то ничего страшного:
|
||||||
|
указанная версия может не совпадать с текущей актуальной верией **.NET SDK 8**.
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
|
||||||
|
Не допускайте установки множества версий **.NET SDK 8**!
|
||||||
|
Если у вас уже установлен, например, .NET SDK **8.0.205**, то не следует
|
||||||
|
ставить .NET SDK **8.0.300**. Иначе будут проблемы со сборкой **Space Station 14**.
|
||||||
|
|
||||||
|
|
||||||
|
Загрузка исходных кодов
|
||||||
|
***********************
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
Для примера будет использоваться код с |link_ss14git|
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
**Внимание!** Не допускать в пути кириллических и пробельных символов! |br|
|
||||||
|
Пути вида ``C:\Users\Васян\Desktop\Сасака 14`` могут вызвать различные
|
||||||
|
проблемы в будущем.
|
||||||
|
|
||||||
|
1. Откройте папку, в которую желаете загрузить исходные коды **Space Station 14**
|
||||||
|
|
||||||
|
2. На пустом месте, через :kbd:`Shift+ПКМ`, открываем контекстное меню и
|
||||||
|
выбираем |br| *"Открыть окно PowerShell здесь"*
|
||||||
|
|
||||||
|
.. image:: _static/context_menu_powershell.png
|
||||||
|
:alt: Контекстное меню
|
||||||
|
|
||||||
|
3. Выполним команду клонирования репозитория
|
||||||
|
|
||||||
|
.. code-block::
|
||||||
|
|
||||||
|
git clone https://github.com/space-wizards/space-station-14.git
|
||||||
|
|
||||||
|
Исходные коды **Space Station 14** будут загружены в под-папку ``space-station-14``.
|
||||||
|
|
||||||
|
.. image:: _static/powershell_git_clone.png
|
||||||
|
:alt: Клонирование репозитория
|
||||||
|
|
||||||
|
4. Выполним команду перехода в папку с исходным кодом
|
||||||
|
|
||||||
|
.. code-block::
|
||||||
|
|
||||||
|
cd space-station-14
|
||||||
|
|
||||||
|
5. Выполним команду для загрузки игрового движка SS14 (RobustToolbox) и подключения git hooks
|
||||||
|
|
||||||
|
.. code-block::
|
||||||
|
|
||||||
|
python .\RUN_THIS.py
|
||||||
|
|
||||||
|
.. image:: _static/powershell_runthis.png
|
||||||
|
:alt: Загрузка игрового движка RobustToolbox
|
||||||
|
|
||||||
|
|
||||||
|
Первая сборка
|
||||||
|
*************
|
||||||
|
|
||||||
|
1. Откройте **PowerShell** в папке, в которой находятся исходные коды **Space Station 14**.
|
||||||
|
|
||||||
|
2. Выполните команду
|
||||||
|
|
||||||
|
.. code-block::
|
||||||
|
|
||||||
|
dotnet build
|
||||||
|
|
||||||
|
.. image:: _static/powershell_build.png
|
||||||
|
:alt: Сборка Space Station 14
|
||||||
|
|
||||||
|
В консоли будет очень много "желтого" текста (warnings). Не пугаться, *это нормально*.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
При первом запуске ``dotnet build`` в консоль может написаться много
|
||||||
|
приветственного текста вида "Вас приветствует .NET 8.0!".
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Скорость сборки будет зависит от мощности вашего ПК и от типа используемого
|
||||||
|
диска (SSD или HDD).
|
||||||
|
|
||||||
|
|
||||||
|
Запуск
|
||||||
|
******
|
||||||
|
|
||||||
|
Сервер
|
||||||
|
======
|
||||||
|
|
||||||
|
1. Откройте **PowerShell** в папке, в которой находятся исходные коды **Space Station 14**.
|
||||||
|
|
||||||
|
2. Выполните команду
|
||||||
|
|
||||||
|
.. code-block::
|
||||||
|
|
||||||
|
dotnet run --project Content.Server
|
||||||
|
|
||||||
|
.. image:: _static/powershell_server_run1.png
|
||||||
|
:alt: Запуск Сервера из исходников
|
||||||
|
|
||||||
|
Появление в консоли текста вида ``[INFO] net: "0.0.0.0": "Network thread started"``
|
||||||
|
ознаменует успешный запусе Сервера.
|
||||||
|
|
||||||
|
.. image:: _static/powershell_server_run2.png
|
||||||
|
:alt: Успешный запуск Сервера
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Если не была произведена первичная сборка или вы что-то поменяли в коде,
|
||||||
|
перед запуском может начаться сборка проекта.
|
||||||
|
|
||||||
|
Клиент
|
||||||
|
======
|
||||||
|
|
||||||
|
1. Откройте **PowerShell** в папке, в которой находятся исходные коды **Space Station 14**.
|
||||||
|
|
||||||
|
2. Выполните команду
|
||||||
|
|
||||||
|
.. code-block::
|
||||||
|
|
||||||
|
dotnet run --project Content.Client
|
||||||
|
|
||||||
|
.. image:: _static/powershell_client_run.png
|
||||||
|
:alt: Запуск Клиента из исходников
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Если не была произведена первичная сборка или вы что-то поменяли в коде,
|
||||||
|
перед запуском может начаться сборка проекта.
|
||||||
|
|
||||||
|
|
||||||
|
.. ########################################################################## ..
|
||||||
|
|
||||||
|
.. |link_git| raw:: html
|
||||||
|
|
||||||
|
<a href="https://git-scm.com/downloads" target="_blank">Git</a>
|
||||||
|
|
||||||
|
.. |link_python| raw:: html
|
||||||
|
|
||||||
|
<a href="https://www.python.org/downloads/" target="_blank">Python</a>
|
||||||
|
|
||||||
|
.. |link_dotnet| raw:: html
|
||||||
|
|
||||||
|
<a href="https://dotnet.microsoft.com/en-us/download/dotnet/8.0" target="_blank">.NET SDK 8.0</a>
|
||||||
|
|
||||||
|
.. |link_ss14git| raw:: html
|
||||||
|
|
||||||
|
<a href="https://github.com/space-wizards/space-station-14" target="_blank">официального репозитория <b>Space Station 14</b></a>
|
||||||
|
|
||||||
|
.. |br| raw:: html
|
||||||
|
|
||||||
|
<br />
|
||||||
25
source/conf.py
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
project = 'Space Station 14 Docs'
|
||||||
|
copyright = '2024, Voomra'
|
||||||
|
author = 'Voomra'
|
||||||
|
|
||||||
|
# General options
|
||||||
|
extensions = [
|
||||||
|
'sphinx.ext.autodoc',
|
||||||
|
'sphinx_rtd_theme',
|
||||||
|
]
|
||||||
|
templates_path = ['_templates']
|
||||||
|
language = 'ru'
|
||||||
|
|
||||||
|
# Source options
|
||||||
|
source_encoding = 'utf-8-sig'
|
||||||
|
source_suffix = ['.rst']
|
||||||
|
|
||||||
|
# HTML options
|
||||||
|
html_theme = 'sphinx_rtd_theme'
|
||||||
|
html_use_index = True
|
||||||
|
html_show_sourcelink = False
|
||||||
|
html_static_path = ['_static']
|
||||||
|
html_theme_options = {
|
||||||
|
'collapse_navigation': False,
|
||||||
|
'sticky_navigation': True
|
||||||
|
}
|
||||||
10
source/index.rst
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
Сборник статей по Space Station 14
|
||||||
|
==================================
|
||||||
|
|
||||||
|
Данный сборкик инструкций и статей предназначен в первую очередь для хостеров,
|
||||||
|
администраторов и разработчиков русскоговорящего сегмента.
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 2
|
||||||
|
|
||||||
|
build-and-run
|
||||||