Создать свой сервер

Материал из Starshine Wiki
Версия от 06:15, 6 мая 2023; Ser11y (обсуждение | вклад) (Изменил название пункта.)

Запуск готовой сборки

Самый быстрый способ запустить Ваш собственный локальный сервер. Просто следуйте этим шагам:

  1. Скачайте сборку под Вашу ОС по этой ссылке.
  2. Разархивируйте скачанный файл в удобную Вам папку.
  3. Запустите файл Robust.Server.
  4. В лаунчере Space Station 14 перейдите во вкладку Home.
  5. Нажмите Direct Connect To Server..., в появившемся поле введите localhost и нажмите Enter.
    • Окно консоли появляется на долю секунды и закрывается? Попробуйте обновить .NET до 7-й версии!

Поздравляю, Вы подключаетесь к Вашему серверу. У Вас будут права владельца, так что Вы сможете заниматься чем хотите (о консольных командах ниже).

Ручная сборка

Вы решили собрать сборку вручную, минуя лёгкий путь? Этот пункт для Вас! Вот шаги, которые надо выполнить для этого:

Установка

Для установки и работы сборки Вам необходимо установить:

Как только Вы их установили, переходите к следующему пункту.

Сборка

Для того, чтобы собрать сборку выполните следующее:

  1. Откройте или создайте папку, где будет храниться сервер.
  2. Нажмите на путь в эту папку, замените весь текст на "cmd" и нажмите Enter.
  3. Клонируйте репозиторий командой git clone https://git.arumoon.ru/Workbench-Team/space-station-14.git для сборки AruMoon или git clone https://github.com/space-wizards/space-station-14.git для официальной.
  4. Введите в консоль команду cd space-station-14, а затем py RUN_THIS.py.
  5. Введите команду dotnet build или используйте Вашу IDE, чтобы собрать клиент и сервер.

Запуск

Итак, Вы дошли до важнейшего пункта. Выполните эти действия, чтобы наконец запустить Ваш сервер и клиент!

  1. Запустите файлы runclient и runserver, что находятся в основной папке сборки.
  2. Дождитесь загрузки окна клиента.
  3. Нажмите Прямое подключение.
  4. Дождитесь подключения на сервер.

Поздравляю! Если Вы точно следовали всем пунктам в статье, то уже весело играетесь на своём локальном сервере! Давайте перейдём к дополнительной информации по теме!

Команды

Вот некоторые консольные команды, которые могут Вам понадобиться. Не забудьте, что консоль открывается на ~ (русская ё).

  • golobby — вернуться к экрану ожидания начала раунда.
  • forcemap <ID прототипа карты> — начать следующий раунд с определённой карты.
  • mapping <любой незанятый ID> <путь к файлу карты> — Создать карту с определённым ID. <путь к файлу карты> — необязательное поле, если Вы создаёте карту с нуля.
    • loadmapacts — загрузить инструменты для маппинга.
    • savemap <ID карты> <путь> — сохранить карту. Пример пути: Maps/Bagel.yml.
    • savegrid <ID сетки> <путь> — сохранить сетку. Пример пути: Shuttles/ERT.yml.
  • aghost — стать админ-призраком (работает и наоборот). Может брать вещи в руки и перемещается быстрее обычного.
  • addhand <ID сущности> — дать руку чему-то живому.
  • promotehost <имя пользователя> — выдать кому-либо полные права (ОПАСНО!).
  • list — вывести в консоль список доступных команд.
  • help <команда> — информация об команде.

Размещение сервера

Игра с друзьями

Чтобы дать Вашим друзьям подключаться к Вашему серверу без эмуляторов локальной сети, Вам нужно выполнить следующие шаги:

  1. Откройте порты 1212/TCP и 1212/UDP на Вашем маршрутизаторе.
    • Процесс зависит от модели, так что поищите информацию именно о Вашей в Интернете.
  2. В файле server_config.toml в разделе [net] удалите "#" перед upnp = true.
    • Обратите внимание, что при ручной сборке этот файл находится по пути \space-station-14\bin\Content.Server\. При готовой сборке он находится в основной папке.
  3. Запустите сервер и клиент, в зависимости от Вашей сборки, подключитесь к серверу.
  4. Дайте Вашим друзьям Ваш IP-адрес. Им надо подключиться через лаунчер, где они должны будут перейти во вкладку Home, нажать Direct Connect To Server... и вписать Ваш IP-адрес.

Файл конфигурации

Если Вы хотите настроить свой сервер, то этот пункт для Вас. Вот, как можно изменить server_config.toml:


[net]

# Периодичность тиков. Ставьте на 30 — разница почти не заметна, нагрузка сильно уменьшается.

tickrate = 60

# Максимальное кол-во игроков.

max_connections = 256

# Будет ли проводится авто-проброс портов (Можно-ли подключиться к серверу без локальной сети?)? Если true — да, если false — нет.

upnp = true

[game]

# Задаёт имя сервера.

hostname = "MyServer"

# Если false — раунд начинается сразу, без лобби. Если true — наоборот.

lobbyenabled = true

[auth]

# Чтобы играть на сервере нужно иметь учётную запись?

# 0 (опционально), 1 (да), 2 (выключено)

mode = 1

[console]

# Если true, люди, подключающиеся с этой машины

# будут автоматически повышены до полных привилегий.

loginlocal = true

[hub]

# Сервер должен быть в Хабе — true, false — его там не должно быть.

advertise = false



<references />