Установка, конфигурация, и запуск сервера на Linux

TheHellBox edited this page May 3, 2018 · 5 revisions

Made by The HellBox

Оглавление

Начнем с простого, LMP - это модификация позволяющая играть совместно и имеющая Клиент->Сервер->Клиент структуру. По этой структуре, для игры нам нужен сервер.

Сервер - это приложение которое обеспечивает мост между несколькими клиентами. Сервер LMP пассивный - он не ведет активной обработки данных и просто передает их другому клиенту.

Что такое Linux?

Linux - серверная операционная система, и хоть она и подходит и не только для серверов сервера остаются ее главной задачей.

Для начала, рекомендуем почитать о базовых коммандах дистрибутива который вы потберете для запуска сервера, в руководстве мы будем использовать Debian

Если вы преобрели VDS/VPS сервер, то вам следует авторизоватся через SSH что бы перейти в консоль сервера

Установка Mono

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

Установка LMP

Тут все просто, никаких зависимостей или компиляции. На самом деле есть 2 пути установки: Обычный и при помощи моего установщика(https://github.com/TheHellBox/LMP-Updater). В руководстве мы будем использовать обычный метод, но рекомендую рассмотреть вариант с моим установщиком, при помощи него вы сможете легко обновлять сервер

Далее, создадим каталог для сервера. Делаем это командой mkdir lmp_server

Переместимся в наш каталог cd lmp_server

Отлично, мы в каталоге. Далее, скачаем LMP. Для этого стоит выполнить команду wget http://lunamultiplayer.com/redirect?p=download&v=latest

Теперь распоковываем архив. Сделаем это командой unzip LunaMultiplayer-Release

Так, создалось несколько директорий, нам точно не нужны LMPMasterServer и LMPClient так что удалим их командами

rm -r LMPMasterServer
rm -r LMPClient

Отлично! Теперь все чисто. Перейдем в каталог LMPServer и пропишем команду ls

Вам должно выдать список файлов, если да то вы все сделали правильно.

Итак, осталось запустить наш сервер. Что бы обойти проблемы локализации сделаем это с параметром LC_ALL=C

LC_ALL=C mono Server.exe

Если сервер запустился, то вы все сделали правильно. Что бы выключить сервер нажмите сочетание клавишь Ctrl+C

После выхода из сессии сервер выключается, что делать?

Все просто, установим пакет screen

sudo apt-get install screen

После установки пропишите screen и запускайте сервер.

Что бы вернутся в сессию, пропишите screen -ls и найдите процесс с вашим сервером. Далее пропишите

screen -r {номер_процесса}

Конфигурация

Итак, сервера запущен и на нем можно играть. Но погодите, что это? В списке серверов наш сервер назван Luna Server? Да и дистанция безопастности мне не нравится, и что теперь делать? А все просто, нам просто нужно настроить сервер. А как это сделать спросите вы? Ну легко, давайте по порядку.

Для начала, найдем наш конфигурационный файл. Перемещяемся в папку с нашим сервером, и ищем каталог Config

cd config

Далее, откроем файл Settings.txt при помощи редактора nano (В случае если он не установлен, устанавливаем командой sudo apt-get install nano)

nano Settings.txt

Отлично, теперь нам открылся файл, вы можете его редактировать при помощи стрелок на клавиатуре и буков на ней же.

Для начала, сменим имя сервера. Находим строку <ServerName>Luna Server</ServerName> и изменяем "Luna Server" на имя вашего сервера.

Далее, описание. Оно будет отображатся в списке серверов. За это отвечает строка <Description>Luna</Description> изменяем его по похожей схеме.

Далее я уже просто буду перечеслять список параметров и что они делают

  • <MaxUsernameLength>15</MaxUsernameLength> - Максимальная длина имени игрока на сервере

  • <AutoDekessler>0.5</AutoDekessler> - Как часто удалять мусор. Рекомендую поставить 1. Время исчесляется в минутах

  • <ShowVesselsInThePast>true</ShowVesselsInThePast> - Показывать ли игроков в прошлом

  • <GameDifficulty>Normal</GameDifficulty> - Сложность игры

  • <GameMode>Sandbox</GameMode> - Режим игры. На момент написания статьи все кроме Sandbox не работает

  • <ModControl>EnabledStopInvalidPartSync</ModControl> - Контроль модификаций.

    • Disabled - отключить
    • EnabledStopInvalidPartSync - Остановить синхронизацию игрока в случае если присутствуют части отсуствующие у других игроков
    • EnabledStopInvalidPartLaunch - Отмена запуска в случае наличия недопустимых частей
  • <TerrainQuality>High</TerrainQuality> - Качество ландшафта которое должно стоять у игроков в настройках

  • <SafetyBubbleDistance>100</SafetyBubbleDistance> - Размер защищенной зоны

  • <VesselUpdatesSendMsInterval>30</VesselUpdatesSendMsInterval> - Скорость обновления позиции игроков

  • <LogLevel>Debug</LogLevel> - Подробность отчетов сервера

  • <AutoNuke>0</AutoNuke> - Частота с которой удаляются корабли с стартовых площадок

А что насчет модов?

Да да да, мы все любим модификации. Кто бы не желал построить свой корабль с другом используя KIS? В любом случае, на данный момент многие модификации могут работать не корректно. Итак, как сделать контроль модификаций? И что это вообще такое.

Контроль модификаций - подсистема в LMP которая контролирует что бы у других игроков не возникало ошибок связаных с тем что кто то использует те модификации которые у других не установленны или не разрешены сервером.

Отлично, значит мы можем контролировать модификации. Но как это сделать? Да и вообще, у меня очень много модификаций и скорее всего состовлять список всех частей из них будет сложно.

Итак, есть 2 способа:

  • 1 Способ: Отключить контроль модификаций, как это сделать? Легко, в конфигурационном файле изменяем параметр ModControl на Disabled

  • 2 Способ: Куда сложнее, вам необходимо составить список частей. Самый простой способ начать: Запустить КСП и в меню LMP в настройках сгенерировать список модификаций. Внимание: Эта опция состовляет список только стоковых частей, для остального вам необходимо дописывать. Далее ищем файл в GameData -> LunaMultiplayer -> Plugins и там видим файл LMPModControl.txt Его переместим в папку Config. Еще 1 деталь, я честно сам не знаю работает ли на данный момент контроль по списку, так что в случае неработающего списка просто отключите контроль модификаций 1 способом.

Analytics

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.