Это эмулятор Steam, который имитирует Online Online Online на локальной сети. Он работает как на Linux, так и на Windows. Для получения чтения о том, как его использовать, см.: Выпуск readme
Вы замените Steam Api .dll или. So Mine (для полных шагов см. Release Readme), а затем вы можете положить Steam в мусор и играть в свои игры либо в одном игроке на LAN без Steam (при условии, что в играх нет DRM и использовать Steam для онлайн).
Если вы являетесь разработчиком игры и совершили ошибку, слишком много зависев от Steam API и хотите выпустить версию вашей игры без нее и не хотите переписать свою игру, это для вас. Это лицензированный LGPLV3+, поэтому единственный исходный код, который вам необходимо опубликовать, является исходным кодом этого эмулятора (и только в том случае, если вы внесете в него модификацию).
Замените Steam_api (64) .dll (libsteam_api.so на Linux) из игры с моим. Для Linux убедитесь, что если оригинальный API составляет 32 -битный, вы используете 32 -битную сборку, и если это 64 -битная, вы используете 64 -битную сборку.
Поместите файл STARE_APPID.TXT, который содержит Appid of Game прямо рядом с ним, если его еще нет.
Если в вашей игре есть оригинальный Steam_API (64) .dll или libsteam_api.so старше, чем в мае 2016 года (в Windows: Properties-> Digital Signatures-> TimeStamp) вам, возможно, придется добавить STEAM_INTERFACES.TXT, кроме моей библиотеки эмуляторов, если игра не работает. Существует сценарий Linux, чтобы генерировать его в папке Scripts этого репо.
Для получения дополнительной информации см.: Выпуск readme
Вы можете скачать последние сборки GIT для Linux и Windows на веб -сайте Gitlab Pages и стабильные выпуски в разделе выпуска этого репо.
Одна из причин, по которой я сделал этот код открытым исходным кодом, заключается в том, что я хочу взносы. Если ваш код не связан с экспериментальными вещами, ему необходимо работать как на Linux, так и на Windows. Наличие точного поведения важнее, чем сделать игры. Наличие неточного поведения может исправить одну игру, но оно сломает других.
#goldberg: matrix.org
Зависимости: Protobuf-Lite
Установите Protobuf-Lite (Dev Package) и Protoc (или Protobuf-компилятор или как его называют в вашем дистрибутивах), используя диспетчер пакетов.
Тогда сделай: make
И он построит сборку релиза (не забудьте добавить что -то вроде -j8 , если ваш компьютер не является кусочком дерьма, и вы хотите, чтобы он построил с приличной скоростью).
Чтобы построить сборку отладки: make debug
Мой Makefile отстой, поэтому вам может понадобиться: make clean если вы хотите построить сборку отладки после построения сборки релиза или наоборот.
Для моего релиза я строю его на Steamos, используя сценарий build_steamos.sh . Для работы вам нужна версия ProToBuf x86, установленную по адресу: ../protobuf/prefix_x86/ и версия x64, установленная на: ../protobuf/prefix/
Первое, что вы должны сделать, это установить GIT для Windows. Git для Windows
Затем установите инструменты сборки Visual Studio: инструменты Microsoft Build (убедитесь, что вы установите инструменты C ++ Build. Просто выберите C++ build tools в установке и нажмите «Установка».)
Создайте новую папку где -то на вашем компьютере.
Зайдите в эту папку, затем щелкните правой кнопкой мыши откройте командную строку GIT. (Щелкните правой кнопкой мыши в папке-> Git Bash здесь)
Запустите команды:
git clone https://github.com/Microsoft/vcpkg
cd vcpkg
./bootstrap-vcpkg.bat
./vcpkg install protobuf --triplet x86-windows-static
./vcpkg install protobuf --triplet x64-windows-static
cd ..
git clone https://gitlab.com/Mr_Goldberg/goldberg_emulator.git
cd goldberg_emulator
Это должно построить и установить все зависимости и клонировать репо. Некоторые команды, такие как Bootstrap-VCPKG.Bat и VCPKG, могут занять некоторое время.
Затем для создания экспериментальной версии отладки: build_win_debug_experimental.bat
Для создания версии релиза: build_win_release.bat
Если по какой -то причине вы хотите установить каталоги ProtoBuf на что -то другое, вы можете редактировать: build_set_protobuf_directories.bat
Зайдите в папку Goldberg_emulator, затем щелкните правой кнопкой мыши откройте командную строку GIT. (Щелкните правой кнопкой мыши в папке-> Git Bash здесь)
Запустите команду:
git pull
Следующие цели включены в конфигурацию Cmake для этого проекта:
Несмотря на то, что все цели включены для всех платформ/вариантов сборки, есть несколько пунктов, чтобы отметить:
Конфигурация Cmake для этого проекта также включает поддержку установки. Установка проекта приведет к более чистому набору выходных файлов (чем файлы необработанной сборки) и скопирует соответствующие чтения, инструменты и другие файлы поддержки из каталога проектов. Эта установка структурирована, как следует:
+ install-folder
|- (lib)steam_api(64).[dll|so]
|- (lib)steamclient(64).[dll|so]
|- (lib)steamnetworkingsockets(64).[dll|so]
|- Readme_release.txt
|- Readme_debug.txt // Only for debug build's
|- Readme_experimental.txt // Only for experimental build's
|- steam_appid.EDIT_AND_RENAME.txt
|- steam_interfaces.EXAMPLE.txt
|+ lobby_connect
|- lobby_connect(64)(.exe)
|- Readme_lobby_connect.txt
|+ tools
|- generate_interfaces(64)(.exe)
|- find_interfaces.ps1
|- find_interfaces.sh
|- Readme_generate_interfaces.txt
|+ steam_settings.EXAMPLE
|- ... // steam_settings example files
Обратите внимание, что если CMAKE_INSTALL_PREFIX не установлен для генерации CMAKE (или используется другой метод установки пользовательского каталога установки), будут использоваться специфические каталоги установки ОС по умолчанию, это: это:
c:/Program Files/${PROJECT_NAME}/usr/localПожалуйста, см. В разделе «Изменить каталог установки» этого Readme для получения дополнительной информации.
+ some-top-level-folder
|- vcpkg
|- goldberg_emulator
bootstrap-vcpkg.bat из папки установкиvcpkg install protobuf --triplet x64-windows-static && vcpkg install protobuf --triplet x86-windows-staticЭто репо включает файл cmakessettings.json, который содержит конфигурации для следующих целевых платформ и вариантов сборки:
Эти конфигурации должны быть автоматически загружены при открытии папки Goldberg_emulator в Visual Studio. Для получения дополнительной информации о том, как использовать эти конфигурации (и проект Cmake в Visual Studio в целом), см.: Https://docs.microsoft.com/en-us/cpp/build/cmake-projects-in-visual-studio?view=vs-2019
Visual Studio сборка для конфигураций Windows и WSL будет выводиться в следующую папку: ${projectDir}out${workspaceHash}build<configuration name>
Вы также можете установить непосредственно из Visual Studio. Visual Studio Установка для конфигураций Windows будет выведена в следующую папку: ${projectDir}outinstall<configuration name>
При использовании этих конфигураций есть пара пунктов, чтобы отметить:
call "<Path to Microsoft Visual Studio Installation Folder>2019VCAuxiliaryBuildvcvars64.bat"
cd "<build folder>"
cmake "<goldberg_emulator src folder>" -DVCPKG_TARGET_TRIPLET:STRING="x64-windows-static" -DCMAKE_TOOLCHAIN_FILE:STRING="<vcpkg installation folder>scriptsbuildsystemsvcpkg.cmake"
Обратите внимание, что если вы используете инструменты сборки для Visual Studio 2019, путь к VCVARS64.BAT немного разных:
call "<Path to Build Tools for Visual Studio 2019 Installation Folder>2019BuildToolsVCAuxiliaryBuildvcvars64.bat"
call "<Path to Microsoft Visual Studio Installation Folder>2019VCAuxiliaryBuildvcvars64.bat"
cd "<build folder>"
nmake
call "<Path to Microsoft Visual Studio Installation Folder>2019VCAuxiliaryBuildvcvars64.bat"
cd "<build folder>"
nmake install
call "<Path to Microsoft Visual Studio Installation Folder>2019VCAuxiliaryBuildvcvars86.bat"
cd "<build folder>"
cmake "<goldberg_emulator src folder>" -DVCPKG_TARGET_TRIPLET:STRING="x86-windows-static" -DCMAKE_TOOLCHAIN_FILE:STRING="<vcpkg installation folder>scriptsbuildsystemsvcpkg.cmake"
Обратите внимание, что если вы используете инструменты сборки для Visual Studio 2019, путь к VCVARS86.BAT немного отличается:
call "<Path to Build Tools for Visual Studio 2019 Installation Folder>2019BuildToolsVCAuxiliaryBuildvcvars86.bat"
call "<Path to Microsoft Visual Studio Installation Folder>2019VCAuxiliaryBuildvcvars86.bat"
cd "<build folder>"
nmake
call "<Path to Microsoft Visual Studio Installation Folder>2019VCAuxiliaryBuildvcvars86.bat"
cd "<build folder>"
nmake install
sudo apt install build-essentialsudo apt install cmake )sudo apt install libprotobuf-dev protobuf-compiler ) cd "<build folder>"
cmake "<goldberg_emulator src folder>"
cd "<build folder>"
make
cd "<build folder>"
make install
Чтобы установить генератор, добавьте -G "<Generator Name>" Например
cmake .. -G "Ninja" -DVCPKG_TARGET_TRIPLET:STRING="x64-windows-static" -DCMAKE_TOOLCHAIN_FILE:STRING="..vcpkgscriptsbuildsystemsvcpkg.cmake"
Чтобы установить тип сборки, добавить -DCMAKE_BUILD_TYPE:STRING="<Build Type>" Например
cmake .. -DVCPKG_TARGET_TRIPLET:STRING="x64-windows-static" -DCMAKE_TOOLCHAIN_FILE:STRING="..vcpkgscriptsbuildsystemsvcpkg.cmake" -DCMAKE_BUILD_TYPE:STRING="RelWithDebInfo"
Чтобы установить экспериментальную сборку, добавьте -DEMU_EXPERIMENTAL_BUILD:BOOL=ON Eg
cmake .. -DVCPKG_TARGET_TRIPLET:STRING="x64-windows-static" -DCMAKE_TOOLCHAIN_FILE:STRING="..vcpkgscriptsbuildsystemsvcpkg.cmake" -DEMU_EXPERIMENTAL_BUILD:BOOL=ON
Для создания конфигурации Cmake, сгенерированной ниндзя:
cd "<build folder>"
ninja
Чтобы использовать пользовательское направление установки, добавьте -DCMAKE_INSTALL_PREFIX:STRING="<Custom Installation Directory>" Например
cmake .. -DCMAKE_INSTALL_PREFIX:STRING="./install/" -DVCPKG_TARGET_TRIPLET:STRING="x64-windows-static" -DCMAKE_TOOLCHAIN_FILE:STRING="..vcpkgscriptsbuildsystemsvcpkg.cmake" -DCMAKE_BUILD_TYPE:STRING="RelWithDebInfo"
Если вы не хотите предварительно установить каталог установки во время шага генерации, вы также можете использовать инструмент для сборки или специфический для ОС, некоторые примеры этого:
nmake install prefix="<Custom Installation Directory>"make DESTDIR="<Custom Installation Directory>" install Я думаю, что то, как у других паровых эмуляторов есть INI, когда вы устанавливаете все на настройку игры, глупо. Единственное, что должно быть установлено на настройке игры, - это то, что специфичны для этой игры, такие как Appid, DLC, моды, версии интерфейса и т. Д.
Остальное, как ваше имя, должно быть установлено в глобальном месте, потому что мне не нравится устанавливать каждое гребаное имя всех в INI для каждой игры, которую я копирую людям, когда я хочу скопировать их игры, чтобы играть в моей локальной сети.
Мой EMU сделан таким образом, что вы можете просто установить его в игру, а затем скопировать игру людям, и им не нужно ничего менять.
Я согласен, что тот факт, что у меня есть несколько файлов, может быть глупым, но на самом деле это не так. Ваша файловая система является базой данных, поэтому зачем вам повторить это, создавая один файл конфигурации, когда у вас может быть много. Гораздо проще управлять кодированием.
Нет различий в функциональности между обычной версией Windows и версией Linux. У Windows есть экспериментальная сборка, которая имеет функции, которые имеют смысл только на Windows.
Прочитайте это, если вы хотите знать, что это такое: экспериментальный Readme
Это так же незаконно, как вино или любой консольный эмулятор HLE. Все, что это делает, это удаляет паровую зависимость из ваших паровых игр.
Это не ломает никаких DRM. Если в игре есть защита, которая не позволяет вам использовать настраиваемое паровое API DLL, ее необходимо взломать, прежде чем использовать мой эмулятор. Steam - это DRM так же, как любой API - это DRM. У Steam есть настоящий DRM под названием STARESTUB, который можно легко взломать, но это не взломает его для вас.
Нет, мне не волнует, что эти игры работают, потому что они используют API, как координатор игры, который ни одна другая игра не использует. Также клапан продолжает их менять.
Однако, если кто -то еще тратит время, чтобы заставить их работать, и я с радостью объединяю их работу.