好友
阅读权限 10
听众
最后登录 1970-1-1
本帖最后由 maxism 于 2021-1-12 09:35 编辑
https://gitlab.com/Mr_Goldberg/goldberg_emulator 戈德堡蒸汽模拟器 这是一个蒸汽仿真器,可模拟LAN上的在线蒸汽功能。它可以在Linux和Windows上运行。有关如何使用它
的自述文件 ,请参见:
发布自述文件 您用我的替换Steam api .dll或.so(有关完整步骤,请参见Release Readme ),然后可以将Steam丢进垃圾桶,并在LAN上以单人模式在没有Steam的情况下玩游戏(假设游戏没有DRM并在线使用Steam)。如果您是游戏开发人员,并且犯了过分依赖Steam API的错误,并且想要发布没有该版本的游戏版本并且不想重写您的游戏,那么这是给您的。它已获得LGPLv3 +许可,因此,您需要发布的唯一源代码就是该仿真器的源代码(并且只有在您对其进行修改的情况下)。
如何使用 用我的游戏替换掉steam_api(64).dll(在Linux上为libsteam_api.so)。对于linux,请确保如果原始api是32位,则使用32位构建,如果是64位,则使用64位构建。如果还没有,请在旁边放置一个包含游戏的appid的steam_appid.txt文件。如果您的游戏的原始Steam_api(64).dll或libsteam_api.so早于2016年5月(在Windows上:“属性”->“数字签名”->“时间戳记”),则如果您的游戏不是,则必须在我的模拟器库旁边添加steam_interfaces.txt没有工作。在此仓库的scripts文件夹中有一个Linux脚本来生成它。有关更多信息,请参见:版本自述文件
下载二进制文件 您可以在Gitlab页面网站上下载适用于Linux和Windows的最新git版本,并在此版本的发行版中下载稳定版本。会费 我将此代码开源的原因之一是因为我想要贡献。除非您的代码与实验性内容相关,否则它需要在Linux和Windows上都可以工作。拥有准确的行为比使游戏正常运行更为重要。行为不正确可能会解决一种游戏,但会破坏其他游戏。IRC频道 #goldberg_emulator @ freenode
建造 依赖项:protobuflite的Linux 使用包管理器安装protobuf-lite(开发包)和protoc(或protobuf-compiler或发行版中所称的任何东西)。然后做: make它将构建发行版本(不要忘记添加类似的内容,-j8如果您的计算机不是很烂,而您希望它以适当的速度构建)。要构建调试版本: make debug我的makefile很烂,因此您可能需要执行以下操作:make clean如果要在构建发行版本或相反版本之后构建调试版本。对于我的发行版,我使用build_steamos.sh脚本在steamOS上进行构建。为了使其正常工作,您需要将x86版本的protobuf安装到:../protobuf/prefix_x86/和x64版本安装到:../protobuf/prefix/视窗 您应该做的第一件事是为Windows安装git。Windows版Git然后安装Visual Studio生成工具:Microsoft Build工具(确保安装了C ++生成工具。只需C++ build tools在安装程序中选择并按install。)在计算机上的某个地方创建一个新文件夹。进入该文件夹,然后右键单击以打开git命令提示符。(右键单击文件夹->这里的Git Bash)运行命令:git clone https://github.com/Microsoft/vcpkgcd vcpkg./bootstrap-vcpkg.bat./vcpkg install protobuf --triplet x86-windows-static./vcpkg install protobuf --triplet x64-windows-staticcd ..git clone https://gitlab.com/Mr_Goldberg/goldberg_emulator.gitcd goldberg_emulator这应该构建并安装所有依赖项并克隆存储库。一些命令(例如bootstrap-vcpkg.bat和vcpkg install)可能需要一段时间。然后运行以下命令构建调试实验版本: build_win_debug_experimental.bat要构建发行版本,请运行: build_win_release.bat如果出于某些原因要将protobuf目录设置为其他目录,则可以编辑: build_set_protobuf_directories.bat拉取最新代码 进入goldberg_emulator文件夹,然后右键单击以打开git命令提示符。(右键单击文件夹->这里的Git Bash)运行命令:git pull使用CMake构建 此项目的CMake配置包含以下目标:共享库:
steam_api Steamclient 蒸汽网络插座
可执行文件:
lobby_connect generate_interfaces
尽管所有平台/构建版本均包含所有目标,但有几点要注意:所有Windows(x64和x86)平台/内部版本变体组合均支持所有目标 所有Linux / WSL平台都禁用“ steamclient”和“ steamnetworkingsockets”的所有构建(目标代码当前不支持这些平台) 实验性构建变体在Linux / WSL平台上将失败(这是由于目标实验性“ steam_api”变体的代码不支持这些平台)
此项目的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生成设置任何定义(或使用另一种设置自定义安装目录的方法),则将使用默认的特定于OS的安装目录,这些目录是:在Windows上 c:/Program Files/${PROJECT_NAME} 在Linux上 /usr/local
请参阅本自述文件 的“更改安装目录” 部分以获取更多信息。视窗 先决条件 已安装Visual Studio 2019或Visual Studio 2019的生成工具
都可以在这里获得:https : //visualstudio.microsoft.com/downloads/ (可选)如果您打算使用Visual Studio,请确保在安装过程中包括以下工作负载:
“使用C ++进行桌面开发” “用于Windows的C ++ CMake工具”(“使用C ++进行桌面开发”工作负载的可选) (可选)如果要从Visual Studio构建Linux,还应包括“使用C ++进行Linux开发”的工作量。
CMake的^ 3.6
可以在这里获得:https://cmake.org/download/
氯乙烯
可以在这里下载:https : //github.com/microsoft/vcpkg/archive/master.zip (可选)为便于使用,我建议您在goldberg_emulator文件夹旁边提取此zip的内容(vcpkg-master文件夹),并将vcpkg-master文件夹重命名为vcpkg,从而得到以下文件夹结构:
+ some-top-level-folder|- vcpkg|- goldberg_emulator可以通过bootstrap-vcpkg.bat从安装文件夹运行安装
protobuf ^ 3.1 && protobuf编译器
可以通过运行安装(通过VCPKG) vcpkg install protobuf --triplet x64-windows-static && vcpkg install protobuf --triplet x86-windows-static 另外,您可以尝试从源代码编译它们,有关说明,请参见:https : //github.com/protocolbuffers/protobuf)
使用Visual Studio 2019生成和生成 此仓库包含一个CMakeSettings.json文件,其中包含以下目标平台和构建变体的配置:Windows-x64-发布 Windows x64调试 Windows-x86-发布 Windows x86调试 Windows-x64-ExperimentalRelease Windows-x64-ExperimentalDebug Windows-x86-ExperimentalRelease Windows-x86-ExperimentalDebug Linux-x64-发布 Linux-x64-调试 Linux-x86-发布 Linux-x86-调试 Linux-x64-ExperimentalRelease Linux-x64-ExperimentalDebug Linux-x86-ExperimentalRelease Linux-x86-ExperimentalDebug WSL-x64-发布 WSL-x64-调试 WSL-x86-发布 WSL-x86-调试 WSL-x64-实验性发布 WSL-x64-ExperimentalDebug WSL-x86-实验性发布 WSL-x86-ExperimentalDebug
在Visual Studio中打开goldberg_emulator文件夹时,应自动加载这些配置。有关如何使用这些配置(以及通常在Visual Studio中的CMake项目)的更多信息,请参见:https : //docs.microsoft.com/en-us/cpp/build/cmake-projects-in-visual-studio?查看= vs-2019用于Windows和WSL配置的Visual Studio构建版本将输出到以下文件夹: ${projectDir}\out\${workspaceHash}\build\<configuration name>您也可以选择直接从Visual Studio安装。用于Windows配置的Visual Studio安装从将输出到以下文件夹: ${projectDir}\out\install\<configuration name>使用这些配置时,需要注意两点:如果将VCPKG安装到其他文件夹中,则可能需要为CMakeSettings.json中的每个Windows配置更新“ cmakeToolchain”字段,以反映新的VCPKG文件夹位置 Linux构建配置需要连接到目标Linux系统才能正常工作,有关如何设置此目标的更多信息,请参见:https : //docs.microsoft.com/zh-cn/cpp/linux/connect-to -您的远程Linux计算机?view = vs-2019 WSL构建配置需要安装Windows子系统Linux:https ://docs.microsoft.com/zh-cn/cpp/linux/connect-to-your-remote-linux-computer?view=vs-2019#connect- 到WSL Linux构建系统和WSL实例都需要与以下“使用CMake构建-Linux”部分中找到的前提条件相同 由于Visual Studio中对远程安装的支持有限,当前仅支持Windows版本配置从Visual Studio直接安装项目。
产生x64 call "<Path to Microsoft Visual Studio Installation Folder>\2019\VC\Auxiliary\Build\vcvars64.bat"cd "<build folder>"cmake "<goldberg_emulator src folder>" -DVCPKG_TARGET_TRIPLET:STRING="x64-windows-static" -DCMAKE_TOOLCHAIN_FILE:STRING="<vcpkg installation folder>\scripts\buildsystems\vcpkg.cmake"请注意,如果您使用的是Visual Studio 2019的构建工具,则vcvars64.bat的路径会稍有不同:call "<Path to Build Tools for Visual Studio 2019 Installation Folder>\2019\BuildTools\VC\Auxiliary\Build\vcvars64.bat"构建x64 call "<Path to Microsoft Visual Studio Installation Folder>\2019\VC\Auxiliary\Build\vcvars64.bat"cd "<build folder>"nmake安装x64 call "<Path to Microsoft Visual Studio Installation Folder>\2019\VC\Auxiliary\Build\vcvars64.bat"cd "<build folder>"nmake install产生x86 call "<Path to Microsoft Visual Studio Installation Folder>\2019\VC\Auxiliary\Build\vcvars86.bat"cd "<build folder>"cmake "<goldberg_emulator src folder>" -DVCPKG_TARGET_TRIPLET:STRING="x86-windows-static" -DCMAKE_TOOLCHAIN_FILE:STRING="<vcpkg installation folder>\scripts\buildsystems\vcpkg.cmake"请注意,如果您使用的是Visual Studio 2019的构建工具,则vcvars86.bat的路径会稍有不同:call "<Path to Build Tools for Visual Studio 2019 Installation Folder>\2019\BuildTools\VC\Auxiliary\Build\vcvars86.bat"构建x86 call "<Path to Microsoft Visual Studio Installation Folder>\2019\VC\Auxiliary\Build\vcvars86.bat"cd "<build folder>"nmake安装x86 call "<Path to Microsoft Visual Studio Installation Folder>\2019\VC\Auxiliary\Build\vcvars86.bat"cd "<build folder>"nmake install的Linux 先决条件 编译工具
通常可以通过你的发行版的包管理器(如在Ubuntu:获得sudo apt install build-essential)
Cmake ^ 3.6
通常可以通过你的发行版的包管理器(如在Ubuntu:获得sudo apt install cmake)
protobuf ^ 3.1 && protobuf编译器
通常可以通过发行版的软件包管理器获得(例如,在ubuntu(^ disco):上sudo apt install libprotobuf-dev protobuf-compiler) 另外,您可以尝试从源代码编译它们,有关说明,请参见:https : //github.com/protocolbuffers/protobuf)
产生x64 / x86 cd "<build folder>"cmake "<goldberg_emulator src folder>"建立 cd "<build folder>"make安装 cd "<build folder>"make install其他与CMake相关的选项 更改目标构建系统 要设置发生器,请附加-G "<Generator Name>"例如cmake .. -G "Ninja" -DVCPKG_TARGET_TRIPLET:STRING="x64-windows-static" -DCMAKE_TOOLCHAIN_FILE:STRING="..\vcpkg\scripts\buildsystems\vcpkg.cmake"更改目标构建类型 要设置构建类型,请附加-DCMAKE_BUILD_TYPE:STRING="<Build Type>"例如cmake .. -DVCPKG_TARGET_TRIPLET:STRING="x64-windows-static" -DCMAKE_TOOLCHAIN_FILE:STRING="..\vcpkg\scripts\buildsystems\vcpkg.cmake" -DCMAKE_BUILD_TYPE:STRING="RelWithDebInfo"启用实验版本 要设置实验版本,请附加-DEMU_EXPERIMENTAL_BUILD:BOOL=ON例如cmake .. -DVCPKG_TARGET_TRIPLET:STRING="x64-windows-static" -DCMAKE_TOOLCHAIN_FILE:STRING="..\vcpkg\scripts\buildsystems\vcpkg.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="..\vcpkg\scripts\buildsystems\vcpkg.cmake" -DCMAKE_BUILD_TYPE:STRING="RelWithDebInfo"如果您不想在生成步骤中预设安装目录,则还可以使用构建工具或特定于操作系统的覆盖,例如:在Windows上 nmake install prefix="<Custom Installation Directory>" 在Linux上 make DESTDIR="<Custom Installation Directory>" install
设计选择/常见问题解答 为什么没有其他所有Steam模拟器一样的ini文件? 我认为当您在每个游戏设置中设置所有内容时,其他蒸汽模拟器具有ini的方式是愚蠢的。每个游戏设置应设置的唯一内容是特定于该游戏的内容,例如appid,DLC,mod,界面版本等。像您的名字这样的名字应该放在全球范围内,因为当我想要复制要在局域网上玩的游戏时,我不想为每个复制给别人的游戏在ini中设置每个人的每个他妈的名字。我的e的制作方式是,您可以将其安装在游戏上,然后将游戏复制给人们,而他们无需进行任何更改。我同意我拥有多个文件这一事实可能是愚蠢的,但实际上并非如此。您的文件系统是一个数据库,所以当您只有多个配置文件时,为什么还要复制一个配置文件来复制它。明智地管理编码要容易得多。Windows和Linux版本之间有什么区别吗? 普通Windows版本和Linux版本在功能上没有区别。Windows具有实验性的内部版本,该版本具有仅在Windows上有意义的功能。什么是实验版本? 如果您想知道这是什么,请阅读以下内容:实验自述文件 这是非法的吗? 它与Wine或任何HLE控制台模拟器一样非法。这一切都是从Steam游戏中删除Steam依赖项。但这会破坏Steam DRM吗? 它不会破坏任何DRM。如果游戏的保护措施不允许您使用自定义的Steam api dll,则在使用我的模拟器之前需要将其破解 。与任何API一样,Steam是DRM。Steam具有实际的DRM(称为Steamstub),可以很容易地破解,但这不会为您破解。您会支持CS:GO还是Dota 2? 不,我不关心使这些游戏正常工作,因为它们使用的API就像其他游戏都不使用的游戏协调器一样。阀门也不断改变它们。但是,如果有人浪费时间让他们工作,我会很高兴将他们的工作合并。
免费评分
查看全部评分
发帖前要善用【论坛搜索 】 功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。