diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..3a3e753 --- /dev/null +++ b/.editorconfig @@ -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 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1531edc --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +# Virtual Environment +.venv/ + +# Sphinx doc +build/ + +# Temp files +*.*~ diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..07df704 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,8 @@ +{ + "recommendations": [ + "ms-python.python", + "donjayamanne.python-environment-manager", + "trond-snekvik.simple-rst", + "EditorConfig.EditorConfig" + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..1e915ed --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "editor.rulers": [ + 80 + ] +} diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..612e375 --- /dev/null +++ b/Makefile @@ -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/' diff --git a/compose.dev.yml b/compose.dev.yml new file mode 100644 index 0000000..cddcb07 --- /dev/null +++ b/compose.dev.yml @@ -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" diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..41c5fce --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +sphinx==7.3.7 +sphinx-rtd-theme==2.0.0 \ No newline at end of file diff --git a/source/_static/context_menu_powershell.png b/source/_static/context_menu_powershell.png new file mode 100644 index 0000000..6a59e50 Binary files /dev/null and b/source/_static/context_menu_powershell.png differ diff --git a/source/_static/git_install_img1.png b/source/_static/git_install_img1.png new file mode 100644 index 0000000..71b9570 Binary files /dev/null and b/source/_static/git_install_img1.png differ diff --git a/source/_static/powershell_build.png b/source/_static/powershell_build.png new file mode 100644 index 0000000..37cdb9a Binary files /dev/null and b/source/_static/powershell_build.png differ diff --git a/source/_static/powershell_client_run.png b/source/_static/powershell_client_run.png new file mode 100644 index 0000000..b5ddc17 Binary files /dev/null and b/source/_static/powershell_client_run.png differ diff --git a/source/_static/powershell_git_clone.png b/source/_static/powershell_git_clone.png new file mode 100644 index 0000000..2f63208 Binary files /dev/null and b/source/_static/powershell_git_clone.png differ diff --git a/source/_static/powershell_runthis.png b/source/_static/powershell_runthis.png new file mode 100644 index 0000000..a17e9f6 Binary files /dev/null and b/source/_static/powershell_runthis.png differ diff --git a/source/_static/powershell_server_run1.png b/source/_static/powershell_server_run1.png new file mode 100644 index 0000000..15db55a Binary files /dev/null and b/source/_static/powershell_server_run1.png differ diff --git a/source/_static/powershell_server_run2.png b/source/_static/powershell_server_run2.png new file mode 100644 index 0000000..6f18073 Binary files /dev/null and b/source/_static/powershell_server_run2.png differ diff --git a/source/_static/python_install_img1.png b/source/_static/python_install_img1.png new file mode 100644 index 0000000..981becc Binary files /dev/null and b/source/_static/python_install_img1.png differ diff --git a/source/build-and-run.rst b/source/build-and-run.rst new file mode 100644 index 0000000..97d691f --- /dev/null +++ b/source/build-and-run.rst @@ -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 + + Git + +.. |link_python| raw:: html + + Python + +.. |link_dotnet| raw:: html + + .NET SDK 8.0 + +.. |link_ss14git| raw:: html + + официального репозитория Space Station 14 + +.. |br| raw:: html + +
diff --git a/source/conf.py b/source/conf.py new file mode 100644 index 0000000..1ea975a --- /dev/null +++ b/source/conf.py @@ -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 +} diff --git a/source/index.rst b/source/index.rst new file mode 100644 index 0000000..2acf87e --- /dev/null +++ b/source/index.rst @@ -0,0 +1,10 @@ +Сборник статей по Space Station 14 +================================== + +Данный сборкик инструкций и статей предназначен в первую очередь для хостеров, +администраторов и разработчиков русскоговорящего сегмента. + +.. toctree:: + :maxdepth: 2 + + build-and-run