Разработка:Локальный сервер: различия между версиями

Материал из SS220 SS14 WIKI
м (Vinogradgarden переименовал страницу Локальный сервер в Разработка:Локальный сервер: Страница переводится в раздел «Разработка» )
Нет описания правки
 
Строка 1: Строка 1:
Данная страница является частью [[Разработка:Введение|раздела]] «Разработка».
==Подготовка==
==Подготовка==
<p><b>Для сборки потребуется скачать и установить:</b></p>
<p><b>Для сборки потребуется скачать и установить:</b></p>

Текущая версия от 08:24, 17 мая 2024

Данная страница является частью раздела «Разработка».

Подготовка

Для сборки потребуется скачать и установить:

Клонирование кода

После установки всего вышеперечисленного теперь нужно скачать код проекта через Git.

  1. Для этого сначала нужно получить ссылку на репозиторий, оканчивающуюся на .git. Для этого нужно зайти на страницу репозитория на GitHub и нажать справа сверху на кнопку "Code". Скопируйте ссылку из выпавшего окна (вам нужна ссылка по HTTPS).
    Для билда SS220 вы можете просто скопировать вот эту ссылку: https://github.com/SerbiaStrong-220/space-station-14.git
  2. После этого вам нужно открыть командную строку вашей системы (в Windows 10 - Win+R и введите cmd) и перейти в папку, куда вы будете клонировать. В cmd и PowerShell (Windows) для этого используется команда cd, например cd C:\Users\VasyaPupkin\Desktop. Вы можете копировать путь прямо из проводника. Если папка находится на диске, отличном от C то сначала переключитесь на этот диск введя <буква диска>: Например E:
  3. Terminal_cd.png

    Учитывайте то, что в процессе клонирования Git сам создаст подпапку для кода проекта. Убедитесь что у вас достаточно места! Билд после сборки может весить больше 4ГБ.

  4. Теперь введите git clone <ссылка из шага 1>. Для билда SS220 команда будет выглядеть так: git clone https://github.com/SerbiaStrong-220/space-station-14.git
  5. Дождитесь конца клонирования. Проверьте результат, по указанному вами пути будет подпапка "space-station-14" с кодом проекта.

Сборка

  1. Откройте командную строку и перейдите через cd в папку проекта (space-station-14). Введите py -3 .\RUN_THIS.py. Дождитесь окончания.
  2. Введите dotnet build -c Release. Дождитесь окончания. В консоли жёлтым цветом может показаться очень много предупреждений, игнорируйте их. Ошибки будут показаны красным цветом. После окончания сборки у вас должно быть 0 ошибкок как на скриншоте:
  3. Теперь у вас есть релизная сборка. Она отличается от дебаг-сборки тем, что имеет автосохранение карт во время маппинга и реже крашится (дебаг-сборку крашат ассерты, специально добавленные оффами). Так же релиз-сборка не имеет искуственной задержки (высокого пинга). Именно её рекомендуется использовать для маппинга.

    Если вам вдруг потребуется дебаг-сборка, то введите просто dotnet build (без -c Release). Её для маппинга использовать не рекомендуется, но рекомендуется использовать для тестирования добавляемого контента.

    Запуск

    Сервер запускается с помощью runserver.bat в папке билда, а клиент с помощью runclient.bat

    Сервер можно настраивать в файле конфигурации server_config.toml в папке bin\Content.Server, однако для маппинга или тестирования это не требуется.

    Обновление

    Расписано для тех, кто не использует Git для коммита своих обновлений в основной репозиторий или делает это через других людей.

    1. Сохраните нужные вам файлы (вашу карту и прототип) в отдельной папке. Все лишние файлы в папке игры будут удалены, как и изменения в существующих файлах. Исключением будет конфигурация сервера и файлы в data. Выключите сервер и клиент.
    2. Откройте консоль и сделайте cd в главную папку билда. Введите git clean -fd Это удалит все лишние файлы (файлы которые не существовали изначально или которых нет в .gitignore).
    3. Введите git reset --hard Это откатит изменения в тех файлах, которые не были удалены в предыдущем шаге
    4. Это было сделано чтобы не было конфликтов с загружаемым обновлением. Теперь введите git pull
    5. Если обновление загрузилось успешно, переходите к сборке (dotnet build или dotnet build --configuration Release)