A custom launcher for SnowBreak: Containment Zone, written in C# of .NET8.
- Currently, this is a hobby project: The launcher can check for game's update, install game client, update the game client and start the game. I can only maintain it in free time and I'll prioritize bug-fixing over feature-adding.
- The launcher has no self-update function. In order to update the launcher, you will need to re-download the launcher by yourself and overwrite the old files.
- Regarding playing on Linux OSs:
tl;dr: Play at your own risk. While this launcher supports downloading and launching the game on Linux-based platforms, the game itself is not designed to support Linux natively. Playing the game via third-party emulations or translation layers (such as Wine or Proton) has risks of banning (as the emulators/layers may cause false-positive detect from the game's anti-cheat).
You can download the binaries and use it in Release page
- Requirements:
- .NET 8 SDK:
- You can install it into your system.
- Or deploy the SDK binaries into
sdkdirectory. The directory is at the project's root, if the directory doesn't exist, you can create it. (Check the batch script for insight)
- .NET 8 SDK:
- After installing the SDK, you can compile by running one of the build script files (if you're building it for personal use, I recommend building dependent one):
- build-rel-win-standalone.bat file: For 64-bit Windows OSs, the binaries will be portably standalone and requires no dependencies to run.
- build-rel-win-dependent.bat file: For 64-bit Windows OSs, the binaries will be portable but requiring
.NET Runtimeinstalled on the user's system to run. - crossbuild-rel-linux-standalone.bat file: For 64-bit Windows OSs, the binaries will be portably standalone which is for running on Linux OSs. In the nutshell, this is
Building it on Windows, running it on Linux. - crossbuild-rel-linux-dependant.bat file: For 64-bit Windows OSs, the binaries will be portable but requiring
.NET Runtimeinstalled on the user's system to run. - build-rel-linux-standalone.sh file: For 64-bit Linux OSs, the binaries will be portably standalone and requires no dependencies to run. This is recommended if you are to distribute your binaries to other users.
- build-rel-linux-dependent.sh file: For 64-bit Linux OSs, the binaries will be portable but requiring
.NET Runtimeinstalled on the user's system to run.
- After the build is completed successfully, all the compiled binaries can be found in
releasedirectory.
- Scripts with
standalonein the name was meant to build binaries which you can give to others. - Scripts with
buildwas meant to implies the script "should" produce the same kernel-targeting binaries as the OS invoked the script.Crossbuildmeans the opposite, produce different kernel-targeting binaries from the OS invoked the script. - Scripts with
relmeans buildingreleasebinaries (meant to be distributed).rel-<OS>means release to be run on the target OS, for instance,rel-linuxmeans binaries are for running on Linux-based OSs.
The .NET SDK includes all runtimes so you don't need to install .NET Runtime if you already have the SDK installed.
As of writing this, I'm using Visual Studio 2022 IDE with. However, you can use any IDEs you like as long as it can deal with .NET C#.
- CsWin32: A source code generator which generates Windows platform's P/Invoke functions "easily" (as sometimes you have to deal with pointers, aliased types and their haywires).
- Avalonia: A cross-platform UI framework.
- MessageBox.Avalonia: MessageBox for Avalonia.