這是一種蒸汽模擬器,可在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。閥門也在不斷更改它們。
但是,如果其他人浪費時間讓他們工作,我會很樂意合併他們的工作。