FAQ Компиляция оффлайн spt-aki сервера для escape from tarkov

Krinkels

Он где то тут
Администратор
Доброго времени суток. Наверняка многие слышали про игру escape from tarkov. Для неё существует оффлайн сервер, чтоб в неё можно было спокойно(правда не всегда) поиграть. Сегодня мы будем данный сервер собирать из исходников.
Итак, что же нам понадобится?
1. .NET 8 SDK
2. NodeJS
3. Консольный git
4. PowerShell v7. Можно скачать по ссылке, ну или выполнить команду dotnet tool update --global PowerShell

Есть возможность все это скомпилировать через Visual Studio Code, но мы пойдём немного более сложным, но не менее интересным путём, и будем всё делать через консоль.

Итак, всё будем компилировать в папке C:\SPT

Для начала займёмся сервером:
Скачиваем актуальную версию сервера
git clone https://github.com/sp-tarkov/server.git C:\SPT\Server

Для последующей компиляции переходим в папку с проектом:
cd C:\SPT\Server\project

И запускаем установку необходимых пакетов
npm install

Если при установке пакетов не возникло никаких ошибок значит до этого всё сделали правильно.
Запускаем компиляцию
npm run build:release

Если прошло без каких либо ошибок, то в папочке
C:\SPT\Server\project\build
будет наш скомпилированный сервер

Так же полученный результат можно скопировать в отдельную папочку
xcopy "C:\SPT\Server\project\build" "C:\SPT\Build" /E /Y

Теперь займёмся модулями.
А вот с ними не всё так просто. Самое главное что нам понадобится это файлы из оригинального клиента игры.

Итак, качаем

git clone https://github.com/sp-tarkov/modules.git C:\SPT\Modules

Перво наперво нам нужно изменить версию сервера, под которую будем компилировать модули. Меняем тут
C:\SPT\Modules\project\SPT.Common\SPT.Common.csproj

<PropertyGroup> <Version>1.0.0.0</Version> .................................................................. </PropertyGroup>
вместо 1.0.0.0 ставим или 3.9.3(последняя версия на момент написания для 30626). Автор, почему то, не озаботился изменениями версии

Примерно тоже самое нужно будет сделать и для файла
C:\SPT\Modules\project\SPT.Core\SPT.Core.csproj
но там нужно будет не просто изменить версию а добавить соответствующий код в начало, по аналогии с SPT.Common.csproj
<PropertyGroup> <Version>3.9.3</Version> <----- Добавить .................................................................. </PropertyGroup>

Предположим что оригинальные файлы игры лежат в папочке Z:\EscapeFromTarkov
Значит можно скопировать необходимые файлы для компиляции модулей
xcopy "Z:\EscapeFromTarkov\EscapeFromTarkov_Data\Managed" "C:\SPT\Modules\project\Shared\Managed" /E /Y /I

Мы подготовили необходимые файлы для компиляции, приступим
Переходим в папочку со скачанным репозиторием
cd C:\SPT\Modules\
dotnet new tool-manifest
dotnet tool restore
dotnet tool install Cake.Tool

cd C:\SPT\Modules\project
dotnet build --configuration Release

Если всё прошло без ошибок, то поздравляю. Если нет, то пишите сюда, будем разбираться и править данное руководство.

Копируем результат компиляции в папочку с билдом
xcopy "C:\SPT\Modules\project\build" "C:\SPT\Build" /E /Y /I

Чтож, далее для корректной работы плагинов нам необходим BepInEx и ConfigurationManager

Содержимое архива BepInEx копируем в C:\SPT\Build
А из архива ConfigurationManager берём ConfigurationManager.dll и закидываем в C:\SPT\Build\BepInEx\plugins\spt

Ну и остался лаунчер
Если справились с предыдущими двуми то с ним вообще не должно возникнуть каких либо проблем.

Просто выполняем код
git clone https://github.com/sp-tarkov/launcher.git C:\SPT\Launcher

cd C:\SPT\Launcher\project
dotnet new tool-manifest
dotnet tool restore

dotnet build --configuration Release

xcopy "C:\SPT\Launcher\project\build" "C:\SPT\Build" /E /Y /I

Если всё произошло без ошибок то поздравляю, только что был скомпилирован полноценный сервер для оффлайн игры EFT.
Содержимое папки C:\SPT\Build кидаем в Z:\EscapeFromTarkov, ну или туда где установлена оригинальная игра, запускаем Aki.Server.exe, дожидаемся зелёных строчек в консоли и со спокойной душой запускаем Aki.Launcher.exe. Наслаждайтесь игрой

По просьбе трудящихся, как скачать определённую версию сервера/модулей/лаунчера
Для примера возьмём сервер
https://github.com/sp-tarkov/server/tree/3.10.0-DEV

Нам нужны циферки-буковки что стоят в конце адреса
3.10.0-DEV

А теперь можно клонировать репозиторий
"git clone https://github.com/sp-tarkov/server.git C:\SPT\Server"
"cd C:\SPT\Server"
"git checkout 3.10.0-DEV"

Готово. Далее следуем вышеописанным инструкциям к соответствующим проектам
 
Последнее редактирование:
Здравствуйте. Не получается скомпилировать модули(
 

Вложения

  • ndYhREg2zM_Ch4p3pIaUow.png
    ndYhREg2zM_Ch4p3pIaUow.png
    17.4 KB · Просмотры: 28
А точно репозиторий скачался полностью? В консоли пишет что не найден скрипт
 
А точно репозиторий скачался полностью? В консоли пишет что не найден скрипт
Я делал по инструкции, но отличия были в том, что я заменил слеш, потому что, не находились директории или они неправильно создавались. Использовал такой слеш - /, вместо того, что был указан в инструкции (\). И папку managed скопировал вручную.
 
Такс, я посмотрел репозиторий, там, похоже, поменяли способ компиляции. Чуть попозже посмотрю
 
Понятно, буду ждать)
Итак, для компиляции 3.8.0 нужно немного другую команду вводить. Раньше была:
dotnet cake

А сейчас нужно вводить
dotnet build --configuration Release

Попробовал, модули скомпилировались, ошибки не вылезли. Вот только попробовать мне не на чем, я новый патч удалил, ждёмс когда БСГ свои косяки исправят

З.Ы. поправил руководство
 
Последнее редактирование:
Итак, для компиляции 3.8.0 нужно немного другую команду вводить. Раньше была:
dotnet cake

А сейчас нужно вводить
dotnet build --configuration Release

Попробовал, модули скомпилировались, ошибки не вылезли. Вот только попробовать мне не на чем, я новый патч удалил, ждёмс когда БСГ свои косяки исправят

З.Ы. поправил руководство
Спасибо Вам, получилось скомпилировать модули)))
 
Итак, для компиляции 3.8.0 нужно немного другую команду вводить. Раньше была:
dotnet cake

А сейчас нужно вводить
dotnet build --configuration Release

Попробовал, модули скомпилировались, ошибки не вылезли. Вот только попробовать мне не на чем, я новый патч удалил, ждёмс когда БСГ свои косяки исправят

З.Ы. поправил руководство
С лаунчером такая же петрушка (таже самая ошибка, что и с модулями), но теперь я знаю, какая команда нужна)) И там пожалуйста поправьте)
 
А в чем смысл вообще самостоятельной компиляции, или чего вы тут делаете, если спт нормально работает по гайдам с их сайта?
 
В репозитории сервер обновляется постоянно, а вот релизные версии авторы не спешат выпускать. Да и зачем ждать релиз когда можно самому скомпилировать и поиграть с текущими исправлениями?
 
В репозитории сервер обновляется постоянно, а вот релизные версии авторы не спешат выпускать. Да и зачем ждать релиз когда можно самому скомпилировать и поиграть с текущими исправлениями?
Понятно, а че насчёт этого думаете:
 
Не пробовал, да и не интересовался таким. Хотя, было бы прикольно, если бы в SPT добавили нормальный кооператив, без плясок с бубном
 
Не пробовал, да и не интересовался таким. Хотя, было бы прикольно, если бы в SPT добавили нормальный кооператив, без плясок с бубном
Они не добавят, вроде где-то написано. Тогда лайв тарков вообще на**й не нужен будет
 
Последнее редактирование модератором:
Знаю что не добавят, у них такая политика, чтоб играть в СПТ ты должон иметь лицензию
 
Сделал все по инструкции. Сервер и лаунчер запускается, но при запуске игры выходит ошибка: "Хеш-сумма исходного файла не соответствует требуемому. Возможно используется несовместимая версия клиента." Версия клиента 0.14.6. Возможно ли это как то исправить?
 
Сделал все по инструкции. Сервер и лаунчер запускается, но при запуске игры выходит ошибка: "Хеш-сумма исходного файла не соответствует требуемому. Возможно используется несовместимая версия клиента." Версия клиента 0.14.6. Возможно ли это как то исправить?
Это сообщение означает что версия сервера и версия клиента не совпадают. Я крайне не рекомендую в такое играть. Я бы рекомендовал, пока что, оставаться на 29197, самая стабильная версия на данный момент
 
Назад
Сверху