diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..7c20a159 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,71 @@ +name: Release + +on: + push: + branches: + - "master" + tags: + - "v*" + +env: + # Path to the solution file relative to the root of the project. + SOLUTION_FILE_PATH: ./Source/DS3OpenServer.sln + + # Configuration type to build. + # You can convert this to a build matrix if you need coverage of multiple configuration types. + # https://docs.github.com/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix + BUILD_CONFIGURATION: Release + +jobs: + build: + runs-on: windows-latest + + steps: + - name: Checkout respository + uses: actions/checkout@v2 + with: + submodules: recursive + + - name: Install .NET Core + uses: actions/setup-dotnet@v1 + with: + dotnet-version: 5.0.x + + - name: Add MSBuild to PATH + uses: microsoft/setup-msbuild@v1.0.2 + + - name: Restore NuGet packages + working-directory: ${{env.GITHUB_WORKSPACE}} + run: nuget restore ${{env.SOLUTION_FILE_PATH}} + + - name: Install vcpkg + shell: cmd + working-directory: ${{github.workspace}}/Tools/vcpkg + run: bootstrap-vcpkg.bat + + - name: Integrate vcpkg with Visual Studio + working-directory: ${{github.workspace}}/Tools/vcpkg + run: vcpkg integrate install + + - name: Build + working-directory: ${{env.GITHUB_WORKSPACE}} + # Add additional options to the MSBuild command line here (like platform or verbosity level). + # See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference + run: msbuild /m /p:Configuration=${{env.BUILD_CONFIGURATION}} ${{env.SOLUTION_FILE_PATH}} + + - name: Package Release + shell: cmd + working-directory: ${{github.workspace}} + run: ${{github.workspace}}/Tools/Package.bat + + - name: Zip Release + uses: papeloto/action-zip@v1 + with: + files: ${{github.workspace}}/Publish/ + dest: ${{github.workspace}}/Publish.zip + + - name: Upload Release + uses: actions/upload-artifact@v2 + with: + name: release-build + path: ${{github.workspace}}/Publish.zip \ No newline at end of file diff --git a/.gitignore b/.gitignore index 09b3456f..0cc692c8 100644 --- a/.gitignore +++ b/.gitignore @@ -41,4 +41,5 @@ Temp/ RawCaptures/ GameCaptures/ Dumps/ -enc_temp_folder/ \ No newline at end of file +enc_temp_folder/ +Publish/ \ No newline at end of file diff --git a/Resources/ReadMe.txt b/Resources/ReadMe.txt new file mode 100644 index 00000000..5a566f9a --- /dev/null +++ b/Resources/ReadMe.txt @@ -0,0 +1,33 @@ +------------------------------------------------------------------------- + Dark Souls 3 - Open Server + https://github.com/TLeonardUK/ds3os +------------------------------------------------------------------------- + +Contained in this folder are 2 executables. + +-- Server.exe -- +When run this will launch a dark souls 3 server. When launched it will save +a file to Saved\server.ds3oconfig, this file contains configuration settings +and cryptographic keys that allow other users to join the server. You should +open this file and modify the Name, Description and Hostname settings your +server. If you do not have a hostname that points to your computer use your +external IP address (the one you find from visiting sites like +https://www.whatismyip.com/). + +The server accepts connections on ports 50050, 50000 and 50010 by default. If +the computer you are running the server on is behind a router you will likely +need to modify your wrote to port-forward TCP and UDP on all of those ports to +allow external people to connect. Guides to doing this are numerous and available +online. + +-- Loader.exe -- +This tool allows you to launch Dark Souls III in a way that allows you to join +an unofficial server. All you need to do is open the Loader, set the path +to your DarkSoulsIII.exe (normally somewhere in your steam directory) and then +import a .ds3oconfig file that describes the server to connect to, and should have +been given to you by whoever is running the server. + +Be warned, while it does not currently seem to occur, no guarantee is made that +your account will not be soft-banned on offical servers if you use this tool. +It would be wise to use a family-share account or a similar disposable account +when using this. \ No newline at end of file diff --git a/Resources/icon.ico b/Resources/icon.ico new file mode 100644 index 00000000..6c2f5faa Binary files /dev/null and b/Resources/icon.ico differ diff --git a/Resources/icon.png b/Resources/icon.png new file mode 100644 index 00000000..37fb51be Binary files /dev/null and b/Resources/icon.png differ diff --git a/Source/Loader/Loader.csproj.user b/Source/Loader/Loader.csproj.user index f291941e..accd797d 100644 --- a/Source/Loader/Loader.csproj.user +++ b/Source/Loader/Loader.csproj.user @@ -1,5 +1,8 @@  + + <_LastSelectedProfileId>Z:\ds3os\Source\Loader\Properties\PublishProfiles\FolderProfile.pubxml + Form diff --git a/Source/Loader/Properties/PublishProfiles/FolderProfile.pubxml b/Source/Loader/Properties/PublishProfiles/FolderProfile.pubxml new file mode 100644 index 00000000..5a6fac7f --- /dev/null +++ b/Source/Loader/Properties/PublishProfiles/FolderProfile.pubxml @@ -0,0 +1,14 @@ + + + + + Debug + x64 + Z:\ds3os\Bin\Loader\Publish + FileSystem + net5.0-windows + false + + \ No newline at end of file diff --git a/Source/Loader/Properties/PublishProfiles/FolderProfile.pubxml.user b/Source/Loader/Properties/PublishProfiles/FolderProfile.pubxml.user new file mode 100644 index 00000000..95985b10 --- /dev/null +++ b/Source/Loader/Properties/PublishProfiles/FolderProfile.pubxml.user @@ -0,0 +1,9 @@ + + + + + False|2021-08-21T18:49:02.8370246Z;False|2021-08-21T19:48:29.5760218+01:00;False|2021-08-21T19:47:45.8286531+01:00; + + \ No newline at end of file diff --git a/Tools/Package.bat b/Tools/Package.bat new file mode 100644 index 00000000..a5baeae9 --- /dev/null +++ b/Tools/Package.bat @@ -0,0 +1,7 @@ +:: Assumed to be run from root directory. + +mkdir Publish +mkdir Publish\Loader +mkdir Publish\Server +copy Resources\ReadMe.txt Publish\ReadMe.txt +xcopy /s Bin\Server Publish\Server \ No newline at end of file