这是一种蒸汽模拟器,可在LAN上模拟蒸汽在线功能。它在Linux和Windows上都起作用。有关如何使用它的读数,请参阅:发行版本
您可以用我的steam api .dll或.so替换(有关完整的步骤,请参阅发行版本),然后您可以将Steam放入垃圾桶中,然后在没有蒸汽的情况下在LAN上玩游戏(假设游戏没有DRM并在线使用Steam)。
如果您是游戏开发器,并且犯了一个错误,那就是过多地依赖于Steam API,并且希望在没有游戏的情况下发布游戏版本,并且不想重写您的游戏,那么这是给您的。它是许可的LGPLV3+,因此您需要发布的唯一源代码是该模拟器的源代码(并且仅当您对其进行修改时)。
用我的游戏中替换Steam_api(64).dll(libsteam_api.so)。对于Linux,请确保如果原始API为32位,则使用32位构建,如果是64位,则使用64位构建。
放置一个steam_appid.txt文件,该文件包含游戏旁边的appid,如果还没有。
如果您的游戏具有原始的Steam_api(64).dll或libsteam_api。年龄比2016年5月(在Windows:Properties-> Digital Signatures-> Timestamp)大(如果游戏不起作用,则可能必须在我的仿真器库旁边添加steam_interfaces.txt.txt。有一个Linux脚本可以在此存储库的脚本文件夹中生成它。
有关更多信息,请参见:发行版本
您可以在Gitlab页面网站上下载最新的linux和Windows windows构建,并在此存储库的发行部分中下载稳定版本。
我制作此代码开源的原因之一是因为我想要贡献。除非您的代码与在Linux和Windows上都可以使用的实验内容有关。具有准确的行为比使游戏正常工作更为重要。行为不准确可能会解决一个游戏,但会破坏其他游戏。
#goldberg:matrix.org
依赖性:Protobuf-lite
使用软件包管理器安装Protobuf-lite(开发软件包)和ProtoC(或Protobuf-Compiler或在发行版中所谓的任何内容)。
然后做: make
它将构建发行版本(如果您的计算机不是一个狗屎,并且您希望它以不错的-j8构建)。
构建调试构建: make debug
我的Makefile很烂,因此您可能需要做:如果要在构建发行版本或相反的构建后要构建调试构建, make clean 。
对于我的发布构建,我使用build_steamos.sh脚本在Steamos上构建它。为了使其正常工作,您需要安装X86版本的Protobuf,以: ../protobuf/prefix_x86/ PREFIX_X86/和安装X64版本../protobuf/prefix/
您应该做的第一件事是为Windows安装Git。 Windows的git
然后安装Visual Studio构建工具:Microsoft构建工具(确保您安装C ++构建工具。只需在安装程序中选择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生成设置CMAKE_INSTALL_PREFIX DEDINE(或使用另一种设置自定义安装目录的方法)将使用默认OS特定的安装目录,则这些是:
c:/Program Files/${PROJECT_NAME}/usr/local有关更多信息,请参阅此读数的“更改安装目录”部分。
+ some-top-level-folder
|- vcpkg
|- goldberg_emulator
bootstrap-vcpkg.bat来安装vcpkg install protobuf --triplet x64-windows-static && vcpkg install protobuf --triplet x86-windows-static (通过VCPKG)。此存储库包含一个cmakesettings.json文件,其中包含以下目标平台的配置并构建变体:
在Visual Studio中打开Goldberg_emulator文件夹时,应自动加载这些配置。有关如何使用这些配置的更多信息(通常在Visual Studio中的CMAKE项目),请参见:https://docs.microsoft.com/en-us/cpp/cpp/build/cmake-projects-ind-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的路径略有不同:
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-essential )sudo 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>" EG
cmake .. -G "Ninja" -DVCPKG_TARGET_TRIPLET:STRING="x64-windows-static" -DCMAKE_TOOLCHAIN_FILE:STRING="..vcpkgscriptsbuildsystemsvcpkg.cmake"
要设置构建类型,请附加-DCMAKE_BUILD_TYPE:STRING="<Build Type>" eg
cmake .. -DVCPKG_TARGET_TRIPLET:STRING="x64-windows-static" -DCMAKE_TOOLCHAIN_FILE:STRING="..vcpkgscriptsbuildsystemsvcpkg.cmake" -DCMAKE_BUILD_TYPE:STRING="RelWithDebInfo"
要设置实验构建,请附加-DEMU_EXPERIMENTAL_BUILD:BOOL=ON
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,mod,接口版本等...
其余的像您的名字应该设置在一个全球的地方,因为当我想复制他们在我的LAN上玩游戏时,我不必为INI中的每个游戏中的每个人都设置每个人的他妈的名字。
我的EMU的制作方式是您可以将其安装在游戏中,然后将游戏复制给人们,而他们不必更改任何内容。
我同意我有多个文件可能很愚蠢的事实,但实际上不是。您的文件系统是一个数据库,所以为什么在您只有很多东西时必须制作一个配置文件来复制它。明智地管理编码要容易得多。
普通Windows版本和Linux版本之间的功能没有差异。 Windows具有实验性构建,其功能仅在Windows上有意义。
如果您想知道它是什么,请阅读此信息:实验读数
它与葡萄酒或任何HLE控制台仿真器一样非法。所有这些都是从蒸汽游戏中删除Steam依赖性。
它不会破坏任何DRM。如果游戏具有不允许您使用自定义蒸汽API DLL的保护,则在使用我的仿真器之前需要破解。 Steam是DRM,就像任何API都是DRM一样。 Steam具有称为SteamStub的实际DRM,很容易破裂,但这不会为您破解。
不,我不在乎使这些游戏起作用,因为它们使用其他游戏使用的游戏协调员之类的API。阀门也在不断更改它们。
但是,如果其他人浪费时间让他们工作,我会很乐意合并他们的工作。