Запуск локального сервера: различия между версиями

Материал из Exodus
Нет описания правки
Строка 2: Строка 2:
|title=Запуск локального сервера SS14, КС14, Space Station 14
|title=Запуск локального сервера SS14, КС14, Space Station 14
|title_mode=append
|title_mode=append
|keywords=ss14, сс14, кс14
|keywords=ss14, сс14, кс14, локалка, локальный сервер ss14, локалка ss14, свой сервер ss14
|description=Самый простой способ запустить свой сервер Space Station 14 (SS14)
|description=Самый простой способ запустить свой локальный сервер Space Station 14 (SS14)
}}
}}
Судя по тому, что вы сюда попали, то вы хотите запустить локальный сервер. <s>Неожиданно</s>
== Готовая сборка ==
Самый простой, быстрый и популярный способ запустить локальную версию игры со всеми административными привилегиями.
Обновление готовой сборки происходит автоматически (ежедневно) при наличии изменений и публикуется в общий доступ.


==Запуск готовой сборки==
{{infobox|info|info=Скачать готовую сборку под вашу операционную систему (ОС) можно по этой ссылке:''' https://cdn.space-exodus.com/fork/exodus-main}}
Это самый простой и быстрый способ запустить локальную версию игры со всеми админ привилегиями, скорее всего именно это вам и нужно.
#Скачайте сборку под вашу ОС;
Сборка нашего сервера происходит автоматически ежедневно при наличии изменений и так же автоматически публикуется в общий доступ.
#Разархивируйте все файлы в любом удобном месте;
#Запустите <code>Robust.Server.exe</code> (или <code>Robust.Server</code>);
#Не закрывайте окно с консолью, это запущенный сервер;
#Запустите лаунчер;
#На вкладке <code>Home</code> нажмите <code>Direct Connect To Server...</code>;
#Укажите адрес сервера - <code>localhost</code> и нажмите <code>Connect</code>;
#Profit. Вы на локальном сервере с полными правами (хост).


'''Скачать готовую сборку под вашу ОС вы можете по этим ссылкам:'''
Если во время инициализации открывается чёрное окно (или на долю секунды мелькает иконка сервера) и сразу пропадает, скорее всего у вас устаревший пакет .NET, попробуйте установить [https://dotnet.microsoft.com/en-us/download восьмую версию программы].
* [https://cdn.space-exodus.com/builds/latest/SS14.Server_win-x64.zip Windows x64]
* [https://cdn.space-exodus.com/builds/latest/SS14.Server_linux-x64.zip Linux x64]
''К сожалению, сборки под Linux ARM64 и OSX не поддерживаются нашим проектом.''
 
#Скачайте сборку под вашу ОС
#Разархивируйте все файлы в любом удобное вам место
#Запустите <code>Robust.Server.exe</code> (или <code>Robust.Server</code>)
#Не закрывайте окно с консолью, это ваш запущенный сервер!
#Запустите лаунчер
#На вкладке <code>Home</code> нажмите <code>Direct Connect To Server...</code>
#Укажите адрес сервера - <code>localhost</code> и нажмите <code>Connect</code>
#Profit. Вы на вашем локальном сервере с правами хоста.
 
 
==== У меня открывается черное окно (или на долю секунды мелькает иконка сервера) и сразу пропадает, что делать? ====
Скорее всего у вас устаревшая версия .NET, попробуйте установить [https://dotnet.microsoft.com/en-us/download 8-ю версию].
 
==Самостоятельная сборка==
 
<h3>Сборка</h3>
На данный момент репозиторий с сборкой проекта Exodus является приватным и недоступен.
<!-- Вы кажется решили идти по сложному пути, и тогда я надеюсь вы понимаете зачем вам это нужно.
Для начала, чтоб что-то запустить это нужно установить.:


{{infobox
|type  = warn
|info  = Для обновления на актуальную версию сборки, необходимо скачать ее заново!
}}
== Собственная сборка ==
Для начала настройки — установите компоненты:
* [https://git-scm.com/downloads Git]
* [https://git-scm.com/downloads Git]
* [https://dotnet.microsoft.com/en-us/download/dotnet/8.0 DotNet 8]
* [https://dotnet.microsoft.com/en-us/download/dotnet/8.0 DotNet 8]
* [https://www.python.org/downloads Python 3.7+]
* [https://www.python.org/downloads Python 3.7+]


# Откройте папку куда хотите сохранить все файлы локалки
# Откройте папку, куда хотите сохранить все файлы локалки;
# Открываем терминал (ПКМ -> Открыть в Windows Terminal) и работаем в нем. Если же у вас нет Windows Terminal, то вводим cmd через Win + R, в консоли переходим в папку где у вас будет сервер <code>cd C:\</code>
# Откройте терминал (ПКМ -> Открыть в Windows Terminal).  
# Клонируем офф репозиторий <code>git clone https://github.com/space-wizards/space-station-14.git</code> или же репозиторий корвакса <code>git clone https://github.com/space-syndicate/space-station-14.git</code>
## Альтернативный способ: вводим <code>cmd</code> через Win + R, через консоль переходим в папку, где планируется установка сервера (<code>cd C:\</code>);
# Переходим в папку репозитория <code>cd space-station-14</code>
# Клонируем официальный репозиторий <code>git clone https://github.com/space-wizards/space-station-14.git</code> или репозиторий Space Exodus <code>git clone https://github.com/space-exodus/space-station-14.git</code> (примечание: у сборки Space Exodus лицензией разрешён только непубличный хостинг, если вы хотите свой публичный сервер, то присмотритесь к другим открытым сборкам). При необходимости вы можете скопировать любой другой открытый репозиторий;
# Устанавливаем зависимости для сборки <code>python ./RUN_THIS.py</code>
# Переходим в папку репозитория <code>cd space-station-14</code>;
# Собираем сервер и клиент <code>dotnet build</code> или <code>dotnet build --configuration Release</code>, если вы даете что-то более серьёзное.
# Устанавливаем зависимости для сборки <code>python ./RUN_THIS.py</code>;
# Собираем сервер и клиент <code>dotnet build</code> или <code>dotnet build --configuration Release</code> (при необходимости).


Поздравляю, теперь вы счастливый обладатель локального сервера. Мама бы вами гордилась!
==== Обновление версии ====
# Откройте терминал (ПКМ -> Открыть в Windows Terminal).
## Альтернативный способ: введите <code>cmd</code> через Win + R, используя консоль перейдите в папку, где планируется установка сервера (<code>cd C:\</code>);
## Ещё один способ: ПКМ в папке со сборкой - git bash here;
# Пропишите команды в консоль: <code>git pull</code> и <code>git submodule update --init --recursive</code>
# В ту же командную строку ведите: <code>dotnet build</code>


<h3>Запуск</h3>
=== Запуск ===
Если после танцев с бубном у вас все получилось, то следующие шаги вас точно не заставят врасплох.
#Запускаем сервер, открыв '''''<code>Content.Server.exe</code>''''' по пути '''''<code>..\space-station-14\bin\Content.Server (не путать с Robust.Server.exe)</code>''''';
#Запускаем клиент, открыв '''''<code>Content.Client.exe</code>''''' по пути '''''<code>..\space-station-14\bin\Content.MapRenderer (не путать с Robust.Client.exe)</code>''''';
#Используем <code>Direct Connect To Server...</code> в меню лаунчера.


#Запускаем сервер открыв '''''<code>Content.Server.exe</code>''''' по пути '''''<code>..\space-station-14\bin\Content.Server (не путать с Robust.Server.exe)</code>'''''
==== Через IDE ====
#Запускаем клиент открыв '''''<code>Content.Client.exe</code>''''' по пути '''''<code>..\space-station-14\bin\Content.MapRenderer (не путать с Robust.Client.exe)</code>'''''
#Жмем <code>Direct Connect To Server...</code> в меню


И на этом все. Просто, не правда ли? Теперь вам никто не помешает устраивать военные преступления похлеще чем....
#'''IDE''' — это интегрированная среда разработки, система программных средств, используемая программистами для разработки программного обеспечения.
-->
#Популярные виды: [https://visualstudio.microsoft.com/ru/ Visual Studio] и [https://www.jetbrains.com/ru-ru/rider/download/#section=windows Rider].


==Дополнительное==
Установите компоненты:
Дополнительная информация, которая вам наверное, да и поможет


=> Как открыть консоль?
* [https://git-scm.com/downloads Git]
На кнопку <code>~</code>
* [https://dotnet.microsoft.com/en-us/download/dotnet/8.0 DotNet 8]
 
* [https://www.python.org/downloads Python 3.7+]
=> Как перейти в лобби?
<code>golobby</code> команда в консоль
 
=> Где настройки сервера?
Файл в папке сервера - <code>server_config.toml</code>
 
=> Как просмотреть все команды?
<code>list</code> в консоль
<code>help <команда></code> для подробностей о команде
 
 
 
 
===Учебное пособие по размещению серверов===
 
Это руководство о том, как настроить сервер SS14. Это руководство охватит все, что вам нужно, от приватных серверов для игр с друзьями до производственных серверов для подходящих хостов серверов.
 
Вы можете использовать два метода. "Голый" сервер, который просто запускает игровой сервер напрямую, или </code>SS14.Watchdog</code> который обрабатывает обновления и запускает игровой сервер для вас. Мы рекомендуем последнее для более правильного развертывания, а также если вы хотите быть в списке на хабе в лаунчере.
 
Для таких сервисов как </code>SS14.Watchdog</code>, вам ТАКЖЕ понадобится среда выполнения ASP .NET Core 7 (входит в .NET 7 SDK).
 
==1.Базовая Настройка==
 
# Загрузите последнюю версию сервера с нашей страницы сборки для вашей операционной системы: </code>[https://cdn.space-exodus.com/builds/latest/SS14.Server_win-x64.zip Windows x64], [https://cdn.space-exodus.com/builds/latest/SS14.Server_linux-x64.zip Linux x64]</code>
# Извлеките в любое место
# Запустите Robust.Server.exe (или Robust.Server через терминал на macOS / Linux)
# Перенаправление портов 1212/ TCP и 1212/UDP:
* Самый простой способ сделать это - включить UPnP на сервере. Отредактируйте </code>server_config.toml</code> и удалите # перед upnp = true в блоке [net]. Это заставит сервер автоматически пытаться перенаправить порт на ваш маршрутизатор. Это должно работать на большинстве современных маршрутизаторов.
* Если UPnP у вас не работает, вам придется сделать это вручную. Инструкции зависят от вашего маршрутизатора, поэтому мы оставляем поиск в браузере на ваше усмотрение.
# Дайте своим друзьям и себе свой IP-адрес и попросите их вставить его в диалоговое окно "прямое подключение" в лаунчере.
 
Это, конечно, не будет обрабатывать автоматические перезапуски (в случае сбоя) или обновления, как это сделал бы </code>watchdog</code>. Это также не приведет к публичному размещению вашего сервера на хабе, поскольку реклама по умолчанию отключена. Если вы хотите, чтобы ваш сервер был указан в хабе, пожалуйста, читайте ниже.
 
==Простая конфигурация сервера==
 
Вы можете настроить параметры на сервере, отредактировав конфигурационный файл, </code>server_config.toml</code>
 
Настройки имеют один ключ, под который они подпадают, а затем имя. Итак, если я скажу game.lobbyenabled, что это идет под [game] заголовком следующим образом:
 
</code>[game]
 
lobbyenabled = true
 
Некоторые  значения по умолчанию, которые вы, возможно, захотите установить для своего сервера, если вы действительно собираетесь разместить это должным образом:
 
[net]
 
Тикрейт вашего сервера.
 
tickrate = 30
 
[game]
Ниже указываете имя вашего сервера.
hostname = "Мой сервер"
При запуске сервера включает лобби.
lobbyenabled = true
 
[auth]
mode = 1
 
[hub]
Показывать ли ваш сервер в хабе лаунчера. true - да false - нет.
Пожалуйста, смотрите правила размещения серверов
advertise = false</code>
 
===Универсальные знания===
==Права администратора==
 
По умолчанию права администратора не установлены. Соединения, сделанные с localhost, автоматически становятся полноправными администраторами и обходят любые требования к аутентификации. Конечно, это не очень полезно для реальных серверов, размещенных на выделенном сервере, поэтому у вас проблема.
 
Вы можете использовать команду </code>promotehost</code> (например promotehost PJB) в консоли сервера, чтобы временно предоставить подключенному клиенту полные права хоста. Это позволит им настраивать дополнительные права администратора (и устанавливать свои собственные постоянные) с помощью панели разрешений администратора в игре (</code>permissions</code> команда). Привилегии теряются при завершении работы сервера. Рекомендуется предоставить себе все разрешения, чтобы вы могли предоставить их администраторам позже или правильно администрировать, если хостинг один. (За исключением +HOST случаев, когда вы не умеете им пользоваться! Если вы не знаете, что он делает, не давайте +HOST)
 
+HOST предоставлять привилегии крайне опасно, и их следует предоставлять только тем, у кого уже есть доступ к вашему компьютеру или серверу.
 
Предоставление кому +HOST - либо позволяет им полностью завладеть вашим сервером и / или компьютером.
 
==Настройки производительности==
 
Вот некоторые настройки, которые вы, вероятно, захотите включить на своем сервере для повышения производительности:
 
Переменная среды для включения полного динамического PGO, что значительно повышает производительность за счет незначительно большего времени запуска:
 
DOTNET_TieredPGO: 1
 
DOTNET_TC_QuickJitForLoops: 1
 
DOTNET_ReadyToRun: 0
 
Переменная среды для включения операций AVX в базе кода. В зависимости от вашего процессора это может снизить производительность, а не улучшить ее, в противном случае это может повысить производительность atmos.


</code>ROBUST_NUMERICS_AVX: true</code>
# Обновите подмодули после установки компонентов. Перейдите в папку со скаченным проектом, откройте консоль и введите: '''''<code>git submodule update --init --recursive</code>'''''.
# Найдите '''''<code>SpaceStation14.sln</code>''''' в папке сборки и откройте файл с помощью '''Visual Studio''' или '''Rider'''.


===Дополнительно - SS14.Watchdog и / или пользовательские кодовые базы===
===== Visual Studio =====
https://github.com/space-wizards/SS14.Watchdog/
<!--{{text_border}}-->
<div style="display:flex;flex-direction:line; flex-wrap:wrap; justify-content:space-between;width:100%;gap:0.7em">


</code>SS14.Watchdog</code> (кодовое имя Ian) - это оболочка для хостинга серверов, похожая на TGS для BYOND (но на данный момент намного проще). Он обрабатывает автоматические обновления, мониторинг, автоматические перезапуски и администрирование.
<div style="flex-basis:630px;flex-grow:1;">
Откройте проект с помощью Visual Studio. Запустите сборки: '''''<code>Content.Server</code>''''' (отвечающий за поднятие сервера) и '''''<code>Content.Client</code>''''' (отвечающий за игровой клиент).


Чтобы настроить его, загрузите код (ссылка выше) и опубликуйте его для своей платформы </code>(dotnet publish -c Release -r linux-x64 --no-self-contained)</code>, поскольку в настоящее время мы сами не предоставляем никаких публикаций. Обратите внимание, что вам необходимо иметь ASP.NET Установленую как основная среда выполнения. Затем скопируйте SS14.Watchdog/bin/Release/net8.0/linux-x64/publish в каталог на вашем сервере или что-то в этом роде.
Выберите ''специальный'' режим запуска: нажмите правой кнопкой мыши по '''''<code>Solution</code>''''' как на '''скриншоте №1''', пролистайте вниз и найдите '''''<code>Properties</code>'''''. Откроется меню как на '''скриншоте №2'''.


Вы захотите отредактировать </code>appsettings.yml</code>, чтобы добавить сервер и настроить некоторые вещи. Пример с официальных серверов (очевидно, отредактированные токены):
Перейдите в подвкладку '''''<code>Startup Project</code>''''', нажмите на '''''<code>Multiple startup project</code>'''''.
Нажмите: '''''<code>start</code>''''' в выпадающих окнах как на '''скриншоте №3''' и используйте кнопку '''применить'''.


</code>Serilog:
Нажмите '''<code>старт</code>''' для запуска.
  Using: [ "Serilog.Sinks.Console", "Serilog.Sinks.Loki" ]
</div>
  MinimumLevel:
<div style="flex-basis:215px;flex-grow:1;display:flex;flex-wrap:wrap;">
    Default: Information
<div style="flex-basis:200px;flex-grow:1">[[Файл:VSguid.png|мини|справа|Скриншот #1]]</div>
    Override:
<div style="flex-basis:200px;flex-grow:1">[[Файл:VSguid2.png|мини|справа|Скриншот #2]]</div>
      SS14: Information
<div style="flex-basis:200px;flex-grow:1">[[Файл:VSguid3.png|мини|справа|Скриншот #3]]</div>
      Microsoft: "Warning"
</div>
      Microsoft.Hosting.Lifetime: "Information"
</div>
      Microsoft.AspNetCore: Warning


  WriteTo:
===== Rider =====
    - Name: Console
<div style="display:flex;flex-direction:line; flex-wrap:wrap; justify-content:space-between;width:100%;gap:0.7em">
      Args:
        OutputTemplate: "[{Timestamp:HH:mm:ss} {Level:u3} {SourceContext}] {Message:lj}{NewLine}{Exception}"


  Enrich: [ "FromLogContext" ]
<div style="flex-basis:630px;flex-grow:1;">
Если у вас не видны все доступные папки, нажмите на иконку глаза, как на '''скриншоте №1'''.


  # Uncomment to have watchdog log to Loki
Запустите сборки: '''''<code>Content.Server</code>''''' (отвечающий за поднятие сервера) и '''''<code>Content.Client</code>''''' (отвечающий за игровой клиент). Настройте сборки в выпадающем списке, как на '''скриншоте №2''' и '''скриншоте №3''' ('''''<code>Content.Server</code>''''').
  #Loki:
  #  Address: "{ loki_addr }"
  #  Name: "{ server_id }"
  #  Username: "{ loki_user }"
  #  password: "{ loki_pass }"


AllowedHosts: "*"
Найдите иконку «трёх точек» и разрешите функцию: '''''<code>Allow multiple instances</code>''''' как на '''скриншоте №4'''. Подтвердите с помощью функции: '''''<code>Apply</code>'''''.


# API URL that your watchdog is accessible from.
Запустите '''''<code>Content.Server</code>''''' и '''''<code>Content.Client</code>'''''.
# This HAS to be set so the game servers can communicate with the watchdog.
</div>
# If you don't want the watchdog to be publically accessible, do `http://localhost:5000/` here.
<div style="flex-basis:215px;flex-grow:1;display:flex;flex-wrap:wrap;">
BaseUrl: https://builds.spacestation14.io/watchdog/
<div style="flex-basis:200px;flex-grow:1">[[Файл:Riderguid1.png|200px|мини|справа|Скриншот #1]]</div>
<div style="flex-basis:200px;flex-grow:1">[[Файл:Riderguid2.png|200px|мини|справа|Скриншот #2]]</div>
<div style="flex-basis:200px;flex-grow:1">[[Файл:Riderguid3.png|200px|мини|справа|Скриншот #3]]</div>
<div style="flex-basis:200px;flex-grow:1">[[Файл:Riderguid4.png|200px|мини|справа|Скриншот #4]]</div>
</div>


Servers:
</div>
  Instances:
    # ID of your server.
    wizards_den:
      # Name of the server - Note that this is NOT the name of the server on the hub, that is set for each server under game.hostname in their respective config.toml files.
      Name: "Wizard's Den"
      ApiToken: "foobar" # API token to control this instance remotely like run updates, restart server. This should be confidential
      ApiPort: 1212 # API port OF THE GAME SERVER. This has to match the 1212 HTTP status API (described below). Otherwise the watchdog can't contact the game server for stuff.


      # Auto update configuration. This can be left out if you do not need auto updates. Example is for our officially hosted builds.
==Популярные вопросы==
      # See below for alternatives.
      UpdateType: "Manifest"
      Updates:
        ManifestUrl: "https://central.spacestation14.io/builds/wizards/manifest.json"


      # Any environment variables you may want to specify.
'''Q:''' Как открыть консоль?<br>'''A:''' Нажмите на кнопку <code>~</code>.<br><br>
      EnvironmentVariables:
        Foo: bar
    wizards_den_two:
      # Name of the second server
      Name: "Wizard's Den 2"
      etc...</code>


===Общее устранение неполадок===
'''Q:''' Как просмотреть все команды?<br>'''A:''' Используйте: <code>list</code> или <code>help <команда></code>.<br><br>
==SS14.Watchdog==
Сервер продолжает перезагружаться каждые 30 секунд
Это означает, что сервер неправильно взаимодействует со </code>SS14.Watchdog</code>, и </code>SS14.Watchdog</code> вынужден предположить, что сервер заблокирован или что-то подобное. Это происходит, если </code>BaseUrl</code> конфигурация </code>SS14.Watchdog</code> установлена неправильно или иным образом недоступна игровому серверу.


</code>System.IO.FileNotFoundException: Could not load file or assembly 'Mono.Posix.NETStandard, Version=1.0.0.0, Culture=neutral (...)</code>
'''Q:''' Как выбрать определенную карту в начале раунда?<br>'''A:''' Используйте команду: <code>forcemap <map></code> в консоли.<br><br>
Текущая рабочая теория заключается в том, что это вызвано неправильными </code>dotnet publish</code> настройками.
Приведенный ниже набор результатов тестов должен помочь объяснить.


</code>dotnet publish -c Release -r linux-x64 --no-self-contained SS14.Watchdog -o test
'''Q:''' Как отключить автоматический вызов эвакуационного шаттла?<br>'''A:''' Используйте команду: <code>sudo cvar shuttle.auto_call_time 0</code> в консоли.<br><br>
RESULT: Mono.Posix.NETStandard.dll included, System.dll not included (as expected)</code>


</code>dotnet publish -c Release -r linux-x64 SS14.Watchdog -o test
'''Q:''' Как отключить случайные события в игре?<br>'''A:''' Используйте команду: <code>sudo cvar events.enabled False</code> в консоли.<br><br>
RESULT: Mono.Posix.NETStandard.dll included, System.dll included</code>


</code>dotnet publish -c Release SS14.Watchdog -o test
'''Q:''' Как перейти в лобби?<br>'''A:''' Используйте команду: <code>golobby</code> в консоли.<br><br>
RESULT: Mono.Posix.NETStandard.dll not included, System.dll not included</code>
Поскольку Watchdog используется </code>Mono.Posix.NETStandard.dll</code> для маркировки исполняемых файлов как исполняемых в Linux и Mac OS X, важно иметь его в этих ОС.


==Запуск сервера на Linux==
'''Q:''' Как убрать ограничение с игровых ролей?<br>'''A:''' Используйте команду: <code>sudo cvar game.role_timers False</code> в консоли.<br><br>


Откройте терминал в распакованном каталоге сборки
'''Q:''' Где настройки сервера?<br>'''A:''' В файле корневой папки сервера: <code>server_config.toml</code>.
Введите</code>./Robust.Server</code>, затем нажмите enter. Если вы видите кучу вещей, которые выводятся на экран, и на нем не написано ошибка, значит, сервер запущен.

Версия от 07:45, 13 августа 2024

Готовая сборка

Самый простой, быстрый и популярный способ запустить локальную версию игры со всеми административными привилегиями. Обновление готовой сборки происходит автоматически (ежедневно) при наличии изменений и публикуется в общий доступ.

error
Скачать готовую сборку под вашу операционную систему (ОС) можно по этой ссылке: https://cdn.space-exodus.com/fork/exodus-main
  1. Скачайте сборку под вашу ОС;
  2. Разархивируйте все файлы в любом удобном месте;
  3. Запустите Robust.Server.exe (или Robust.Server);
  4. Не закрывайте окно с консолью, это запущенный сервер;
  5. Запустите лаунчер;
  6. На вкладке Home нажмите Direct Connect To Server...;
  7. Укажите адрес сервера - localhost и нажмите Connect;
  8. Profit. Вы на локальном сервере с полными правами (хост).

Если во время инициализации открывается чёрное окно (или на долю секунды мелькает иконка сервера) и сразу пропадает, скорее всего у вас устаревший пакет .NET, попробуйте установить восьмую версию программы.

warning
Для обновления на актуальную версию сборки, необходимо скачать ее заново!

Собственная сборка

Для начала настройки — установите компоненты:

  1. Откройте папку, куда хотите сохранить все файлы локалки;
  2. Откройте терминал (ПКМ -> Открыть в Windows Terminal).
    1. Альтернативный способ: вводим cmd через Win + R, через консоль переходим в папку, где планируется установка сервера (cd C:\);
  3. Клонируем официальный репозиторий git clone https://github.com/space-wizards/space-station-14.git или репозиторий Space Exodus git clone https://github.com/space-exodus/space-station-14.git (примечание: у сборки Space Exodus лицензией разрешён только непубличный хостинг, если вы хотите свой публичный сервер, то присмотритесь к другим открытым сборкам). При необходимости вы можете скопировать любой другой открытый репозиторий;
  4. Переходим в папку репозитория cd space-station-14;
  5. Устанавливаем зависимости для сборки python ./RUN_THIS.py;
  6. Собираем сервер и клиент dotnet build или dotnet build --configuration Release (при необходимости).

Обновление версии

  1. Откройте терминал (ПКМ -> Открыть в Windows Terminal).
    1. Альтернативный способ: введите cmd через Win + R, используя консоль перейдите в папку, где планируется установка сервера (cd C:\);
    2. Ещё один способ: ПКМ в папке со сборкой - git bash here;
  2. Пропишите команды в консоль: git pull и git submodule update --init --recursive
  3. В ту же командную строку ведите: dotnet build

Запуск

  1. Запускаем сервер, открыв Content.Server.exe по пути ..\space-station-14\bin\Content.Server (не путать с Robust.Server.exe);
  2. Запускаем клиент, открыв Content.Client.exe по пути ..\space-station-14\bin\Content.MapRenderer (не путать с Robust.Client.exe);
  3. Используем Direct Connect To Server... в меню лаунчера.

Через IDE

  1. IDE — это интегрированная среда разработки, система программных средств, используемая программистами для разработки программного обеспечения.
  2. Популярные виды: Visual Studio и Rider.

Установите компоненты:

  1. Обновите подмодули после установки компонентов. Перейдите в папку со скаченным проектом, откройте консоль и введите: git submodule update --init --recursive.
  2. Найдите SpaceStation14.sln в папке сборки и откройте файл с помощью Visual Studio или Rider.
Visual Studio

Откройте проект с помощью Visual Studio. Запустите сборки: Content.Server (отвечающий за поднятие сервера) и Content.Client (отвечающий за игровой клиент).

Выберите специальный режим запуска: нажмите правой кнопкой мыши по Solution как на скриншоте №1, пролистайте вниз и найдите Properties. Откроется меню как на скриншоте №2.

Перейдите в подвкладку Startup Project, нажмите на Multiple startup project. Нажмите: start в выпадающих окнах как на скриншоте №3 и используйте кнопку применить.

Нажмите старт для запуска.

Скриншот #1
Скриншот #2
Скриншот #3
Rider

Если у вас не видны все доступные папки, нажмите на иконку глаза, как на скриншоте №1.

Запустите сборки: Content.Server (отвечающий за поднятие сервера) и Content.Client (отвечающий за игровой клиент). Настройте сборки в выпадающем списке, как на скриншоте №2 и скриншоте №3 (Content.Server).

Найдите иконку «трёх точек» и разрешите функцию: Allow multiple instances как на скриншоте №4. Подтвердите с помощью функции: Apply.

Запустите Content.Server и Content.Client.

Скриншот #1
Скриншот #2
Скриншот #3
Скриншот #4

Популярные вопросы

Q: Как открыть консоль?
A: Нажмите на кнопку ~.

Q: Как просмотреть все команды?
A: Используйте: list или help <команда>.

Q: Как выбрать определенную карту в начале раунда?
A: Используйте команду: forcemap <map> в консоли.

Q: Как отключить автоматический вызов эвакуационного шаттла?
A: Используйте команду: sudo cvar shuttle.auto_call_time 0 в консоли.

Q: Как отключить случайные события в игре?
A: Используйте команду: sudo cvar events.enabled False в консоли.

Q: Как перейти в лобби?
A: Используйте команду: golobby в консоли.

Q: Как убрать ограничение с игровых ролей?
A: Используйте команду: sudo cvar game.role_timers False в консоли.

Q: Где настройки сервера?
A: В файле корневой папки сервера: server_config.toml.