м (Vinogradgarden переименовал страницу Локальный сервер в Разработка:Локальный сервер: Страница переводится в раздел «Разработка» ) |
Нет описания правки |
||
Строка 1: | Строка 1: | ||
Данная страница является частью [[Разработка:Введение|раздела]] «Разработка». | |||
==Подготовка== | ==Подготовка== | ||
<p><b>Для сборки потребуется скачать и установить:</b></p> | <p><b>Для сборки потребуется скачать и установить:</b></p> |
Текущая версия от 08:24, 17 мая 2024
Данная страница является частью раздела «Разработка».
Подготовка
Для сборки потребуется скачать и установить:
- Git - https://git-scm.com
- Python 3.7 или новее - https://www.python.org - качать именно с оф. сайта а не с Windows Store иначе могут возникнуть проблемы со скриптом
- .NET 7 SDK x64 - https://dotnet.microsoft.com/en-us/download
Клонирование кода
После установки всего вышеперечисленного теперь нужно скачать код проекта через Git.
- Для этого сначала нужно получить ссылку на репозиторий, оканчивающуюся на .git. Для этого нужно зайти на страницу репозитория на GitHub и нажать справа сверху на кнопку "Code". Скопируйте ссылку из выпавшего окна (вам нужна ссылка по HTTPS).
Для билда SS220 вы можете просто скопировать вот эту ссылку: https://github.com/SerbiaStrong-220/space-station-14.git - После этого вам нужно открыть командную строку вашей системы (в Windows 10 - Win+R и введите cmd) и перейти в папку, куда вы будете клонировать. В cmd и PowerShell (Windows) для этого используется команда cd, например cd C:\Users\VasyaPupkin\Desktop. Вы можете копировать путь прямо из проводника. Если папка находится на диске, отличном от C то сначала переключитесь на этот диск введя <буква диска>: Например E:
- Теперь введите git clone <ссылка из шага 1>. Для билда SS220 команда будет выглядеть так: git clone https://github.com/SerbiaStrong-220/space-station-14.git
- Дождитесь конца клонирования. Проверьте результат, по указанному вами пути будет подпапка "space-station-14" с кодом проекта.
Учитывайте то, что в процессе клонирования Git сам создаст подпапку для кода проекта. Убедитесь что у вас достаточно места! Билд после сборки может весить больше 4ГБ.
Сборка
- Откройте командную строку и перейдите через cd в папку проекта (space-station-14). Введите py -3 .\RUN_THIS.py. Дождитесь окончания.
- Введите dotnet build -c Release. Дождитесь окончания. В консоли жёлтым цветом может показаться очень много предупреждений, игнорируйте их. Ошибки будут показаны красным цветом. После окончания сборки у вас должно быть 0 ошибкок как на скриншоте:
- Сохраните нужные вам файлы (вашу карту и прототип) в отдельной папке. Все лишние файлы в папке игры будут удалены, как и изменения в существующих файлах. Исключением будет конфигурация сервера и файлы в data. Выключите сервер и клиент.
- Откройте консоль и сделайте cd в главную папку билда. Введите git clean -fd Это удалит все лишние файлы (файлы которые не существовали изначально или которых нет в .gitignore).
- Введите git reset --hard Это откатит изменения в тех файлах, которые не были удалены в предыдущем шаге
- Это было сделано чтобы не было конфликтов с загружаемым обновлением. Теперь введите git pull
- Если обновление загрузилось успешно, переходите к сборке (dotnet build или dotnet build --configuration Release)
Теперь у вас есть релизная сборка. Она отличается от дебаг-сборки тем, что имеет автосохранение карт во время маппинга и реже крашится (дебаг-сборку крашат ассерты, специально добавленные оффами). Так же релиз-сборка не имеет искуственной задержки (высокого пинга). Именно её рекомендуется использовать для маппинга.
Если вам вдруг потребуется дебаг-сборка, то введите просто dotnet build (без -c Release). Её для маппинга использовать не рекомендуется, но рекомендуется использовать для тестирования добавляемого контента.
Запуск
Сервер запускается с помощью runserver.bat в папке билда, а клиент с помощью runclient.bat
Сервер можно настраивать в файле конфигурации server_config.toml в папке bin\Content.Server, однако для маппинга или тестирования это не требуется.
Обновление
Расписано для тех, кто не использует Git для коммита своих обновлений в основной репозиторий или делает это через других людей.