This is the dsstats Windows Desktop app used for decoding and uploading SC2 Direct Strike Replays to dsstats.pax77.org.
- It detects SC2 Profiles in the user's documents folder.
- Replays found in the profiles folders are decoded using s2protocol.NET.
- The decoded replay data is stored in a local SQLite database.
- Optionally, the decoded data can be uploaded to dsstats.pax77.org.
- No raw replay or personal data is transmitted, only the essence of the replays required to generate player and commander stats.
- Optionally, new replays are automatically detected in the folders and decoded.
- Recent replays decoded using the app produce and update a 'Session Progress' with winrate and stats from the website (if the replay data was uploaded).
- .NET 10 SDK
- .NET MAUI workload. Install it by running the following command:
dotnet workload install maui
- Clone the repository:
git clone https://github.com/ipax77/dsstats10.git
- Navigate to the project directory:
cd dsstats.maui/src/maui - Restore the dependencies:
dotnet restore
- Run the application:
dotnet build -t:Run -f net10.0-windows10.0.19041.0
dsstats.maui/: The main MAUI project directory.Components/: Contains the Blazor components for the UI.Platforms/: Contains platform-specific code for Windows, Android, iOS, and MacCatalyst.Resources/: Contains app resources like icons, fonts, and images.Services/: Contains the core logic for replay decoding, database interaction, and API communication.wwwroot/: Contains the root HTML and CSS files for the Blazor Hybrid app.
To build the application for a specific platform, use the dotnet build command with the appropriate target framework.
- Windows:
dotnet build -f net10.0-windows10.0.19041.0
For testing the upload functionality, a local development server with a MySQL database is required. Please refer to the server setup instructions (link to server repo or instructions would be great here).
Contributions are welcome! Please feel free to open an issue or submit a pull request.
- Fork the Project.
- Create your Feature Branch (
git checkout -b feature/AmazingFeature). - Commit your Changes (
git commit -m 'Add some AmazingFeature'). - Push to the Branch (
git push origin feature/AmazingFeature). - Open a Pull Request.