이것은 LAN의 Steam Online 기능을 에뮬레이션하는 증기 에뮬레이터입니다. Linux와 Windows에서 작동합니다. 사용 방법에 대한 readme의 경우 : 릴리스 readme
Steam API .dll 또는.를 광산으로 교체 한 다음 (완전한 단계는 릴리스 readme 참조) Steam에 Steam을 넣고 Steam없이 LAN의 싱글 플레이어에서 게임을 플레이 할 수 있습니다 (게임에 DRM이없고 온라인에 Steam을 사용한다고 가정).
당신이 Game Developper이고 Steam API에서 너무 많이 의존하는 실수를 저지르고 게임이없는 게임 버전을 출시하고 게임을 다시 쓰고 싶지 않다면, 이것은 당신을위한 것입니다. 라이센스가 부여 된 LGPLV3+이므로 게시해야 할 유일한 소스 코드는이 에뮬레이터의 소스 코드입니다 (수정 한 경우에만).
게임에서 Steam_api (64) .dll (libsteam_api.so)을 내 게임에서 교체하십시오. Linux의 경우 원래 API가 32 비트 인 경우 32 비트 빌드를 사용하고 64 비트 인 경우 64 비트 빌드를 사용하십시오.
아직 게임이없는 경우 바로 게임의 appid가 포함 된 Steam_Appid.txt 파일을 넣으십시오.
게임에 2016 년 5 월보다 오래된 Steam_api (64) .dll 또는 libsteam_api. 이 repo의 스크립트 폴더에서이를 생성하는 Linux 스크립트가 있습니다.
자세한 내용은 릴리스 readme를 참조하십시오
gitlab 페이지 웹 사이트에서 Linux 및 Windows 용 최신 Git 빌드 와이 repo의 릴리스 섹션에서 안정적인 릴리스를 다운로드 할 수 있습니다.
이 코드 오픈 소스를 만든 이유 중 하나는 기부금을 원하기 때문입니다. 코드가 실험적인 것과 관련이 없다면 Linux와 Windows에서 작동해야합니다. 정확한 행동을하는 것이 게임을하는 것보다 더 중요합니다. 부정확 한 행동을 갖는 것은 한 게임을 고칠 수 있지만 다른 게임을 깨뜨릴 수 있습니다.
#goldberg : matrix.org
종속성 : protobuf-lite
패키지 관리자를 사용하여 Protobuf-lite (Dev 패키지) 및 Protoc (또는 Protobuf-Compiler 또는 배포판에서 호출되는 것)을 설치하십시오.
그런 다음 : make
그리고 그것은 릴리스 빌드를 구축합니다 (컴퓨터가 똥 조각이 아니고 괜찮은 속도로 구축하기를 원한다면 -j8 과 같은 것을 추가하는 것을 잊지 마십시오).
디버그 빌드를 구축하려면 : make debug
Makefile이 짜증나려면 릴리스가 필요할 수 있습니다. 릴리스 빌드 또는 그 반대를 작성한 후 디버그 빌드를 구축하려면 make clean .
릴리스 빌드의 경우 build_steamos.sh 스크립트를 사용하여 Steamos에 빌드합니다. 작동하려면 다음에 x86 ../protobuf/prefix/ 의 프로토 부프가 설치되어야합니다 ../protobuf/prefix_x86/
가장 먼저해야 할 일은 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
이것은 모든 종속성을 빌드하고 설치하고 repo를 복제해야합니다. 부트 스트랩 -vcpkg.bat 및 vcpkg 설치와 같은 일부 명령에는 시간이 걸릴 수 있습니다.
그런 다음 디버그 실험 버전 실행 : build_win_debug_experimental.bat 을 빌드하십시오
릴리스 버전을 빌드하려면 run : build_win_release.bat
어떤 이유로 든 Protobuf 디렉토리를 다른 것으로 설정하려면 편집 할 수 있습니다 : build_set_protobuf_directories.bat
Goldberg_emulator 폴더로 이동 한 다음 GIT 명령 프롬프트를 오른쪽 버튼으로 클릭하십시오. (폴더-> git bash를 마우스 오른쪽 버튼으로 클릭하십시오.
명령 실행 :
git pull
다음 대상은이 프로젝트의 CMAKE 구성과 함께 포함됩니다.
모든 플랫폼/빌드 변형에 대한 모든 대상이 포함되어 있지만 몇 가지 점이 있습니다.
이 프로젝트의 CMAKE 구성에는 설치 지원도 포함됩니다. 프로젝트를 설치하면 더 깨끗한 출력 파일 세트 (원시 빌드 파일보다)가 생성되며 프로젝트 디렉토리의 적절한 readmes, 도구 및 기타 지원 파일을 복사합니다. 이 설치는 다음과 같이 구성됩니다.
+ 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 정의가 설정되지 않으면 (또는 사용자 정의 설치 디렉토리를 설정하는 다른 방법) 기본 OS 특정 설치 디렉토리가 사용됩니다.
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이 repo에는 cmakesettings.json 파일이 포함되어 다음과 같은 대상 플랫폼에 대한 구성이 포함되어 있고 빌드 변형이 포함되어 있습니다.
이러한 구성은 Visual Studio에서 Goldberg_emulator 폴더를 열 때 자동으로로드해야합니다. 이러한 구성을 사용하는 방법 (일반적으로 Visual Studio에서 CMAKE 프로젝트)을 사용하는 방법에 대한 자세한 내용은 https://docs.microsoft.com/en-us/cpp/build/cmake-projects-in-visual-studio?view=VS-2019를 참조하십시오.
Windows 용 Visual Studio 및 WSL 구성은 다음 폴더로 출력됩니다. ${projectDir}out${workspaceHash}build<configuration name>
Visual Studio에서 직접 설치하도록 선택할 수도 있습니다. Windows 구성 용 Visual Studio 설치는 다음 폴더로 출력됩니다. ${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에 빌드 도구를 사용하는 경우 VCVARS의 경로는 약간 다릅니다.
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-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 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"
생성 단계에서 설치 디렉토리를 사전 설정하지 않으려면 빌드 도구 또는 OS 특정 초과 작성을 사용할 수도 있습니다. 일부 예는 다음과 같습니다.
nmake install prefix="<Custom Installation Directory>"make DESTDIR="<Custom Installation Directory>" install 게임마다 게임 설정에 모든 것을 설정할 때 다른 증기 에뮬레이터가 INI를 갖는 방식은 멍청하다고 생각합니다. 게임마다 설정해야 할 유일한 것은 Appid, DLC, Mods, Interface 버전 등과 같은 게임에만 해당되는 것입니다.
나머지 이름은 당신의 이름을 전 세계 장소에 설정해야합니다. 왜냐하면 나는 사람들에게 복사하기 위해 게임을 복사하고 싶을 때 사람들에게 복사 할 때마다 INI의 모든 사람의 모든 빌어 먹을 이름을 설정하는 것을 좋아하지 않기 때문입니다.
내 EMU는 게임에 설치 한 다음 게임을 사람들에게 복사 할 수있는 방식으로 만들어졌으며 아무것도 변경할 필요가 없습니다.
나는 여러 파일이 있다는 사실이 바보 일 수 있지만 실제로는 그렇지 않다는 데 동의합니다. 파일 시스템은 데이터베이스이므로 많은 것을 가질 수있을 때 하나의 구성 파일을 만들어이를 복제 해야하는 이유는 무엇입니까? 코딩을 현명하게 관리하는 것이 훨씬 쉽습니다.
일반 Windows 버전과 Linux 버전간에 기능에는 차이가 없습니다. Windows에는 Windows에서만 적합한 기능이있는 실험 빌드가 있습니다.
그것이 무엇인지 알고 싶다면 이것을 읽으십시오 : 실험용 readme
와인이나 HLE 콘솔 에뮬레이터만큼 불법입니다. 이 모든 것은 Steam 게임에서 증기 의존성을 제거하는 것입니다.
DRM을 깨뜨리지 않습니다. 게임에 사용자 정의 증기 API DLL을 사용할 수없는 보호 기능이 있으면 에뮬레이터를 사용하기 전에 갈라져야합니다. Steam은 API가 DRM만큼 DRM입니다. Steam에는 Steamstub이라는 실제 DRM이있어 쉽게 갈라질 수 있지만 이것은 당신을 위해 갈라지지 않습니다.
아니요, 저는이 게임이 다른 게임 코디네이터와 같은 API를 사용하기 때문에이 게임을 작동시키는 것에 신경 쓰지 않습니다. 또한 밸브는 계속 변경합니다.
그러나 다른 사람이 일을 할 시간을 낭비하면 행복하게 그들의 일을 합병 할 것입니다.