From 4a001801aa650874d37f4cea81f2ab4535519a62 Mon Sep 17 00:00:00 2001 From: Heavy Bob <ferrettclay@gmail.com> Date: Sat, 5 Apr 2025 23:02:42 +1100 Subject: [PATCH 1/9] Added git actions --- .github/workflows/build.yml | 40 +++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..0577741 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,40 @@ +name: Build and Package + +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + build: + runs-on: windows-latest + + steps: + - uses: actions/checkout@v3 + + - name: Setup .NET + uses: actions/setup-dotnet@v3 + with: + dotnet-version: "6.0.x" + + - name: Restore dependencies + run: dotnet restore AutoTrackR2.sln + + - name: Build + run: dotnet build AutoTrackR2.sln --configuration Release --no-restore + + - name: Create artifacts directory + run: mkdir artifacts + + - name: Copy build output + run: | + Copy-Item "AutoTrackR2\bin\Release\net6.0-windows\*" "artifacts\" + Copy-Item "AutoTrackR2_Setup\bin\Release\*" "artifacts\" + + - name: Upload artifacts + uses: actions/upload-artifact@v3 + with: + name: AutoTrackR2-Release + path: artifacts/ + retention-days: 5 From b680debb49d629c582441ac266b34d9ab94a3d00 Mon Sep 17 00:00:00 2001 From: Heavy Bob <ferrettclay@gmail.com> Date: Sat, 5 Apr 2025 23:09:14 +1100 Subject: [PATCH 2/9] Main branch is default not main --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0577741..14c2946 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,9 +2,9 @@ name: Build and Package on: push: - branches: [main] + branches: [default] pull_request: - branches: [main] + branches: [default] jobs: build: From e2df69526d706682209294f751c17ea02b61d887 Mon Sep 17 00:00:00 2001 From: Heavy Bob <ferrettclay@gmail.com> Date: Sat, 5 Apr 2025 23:12:03 +1100 Subject: [PATCH 3/9] Git actions v4 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 14c2946..a29d148 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,7 +33,7 @@ jobs: Copy-Item "AutoTrackR2_Setup\bin\Release\*" "artifacts\" - name: Upload artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: AutoTrackR2-Release path: artifacts/ From dfc2dd5477e771d6c164a233e0b1ffc91f274939 Mon Sep 17 00:00:00 2001 From: Heavy Bob <ferrettclay@gmail.com> Date: Sat, 5 Apr 2025 23:15:25 +1100 Subject: [PATCH 4/9] Use correct net framework. --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a29d148..8e31dd3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,7 +16,7 @@ jobs: - name: Setup .NET uses: actions/setup-dotnet@v3 with: - dotnet-version: "6.0.x" + dotnet-version: "9.0.x" - name: Restore dependencies run: dotnet restore AutoTrackR2.sln @@ -29,7 +29,7 @@ jobs: - name: Copy build output run: | - Copy-Item "AutoTrackR2\bin\Release\net6.0-windows\*" "artifacts\" + Copy-Item "AutoTrackR2\bin\Release\net9.0-windows\*" "artifacts\" Copy-Item "AutoTrackR2_Setup\bin\Release\*" "artifacts\" - name: Upload artifacts From 49dfbb229191ac26997165b9acceecab07005730 Mon Sep 17 00:00:00 2001 From: Heavy Bob <ferrettclay@gmail.com> Date: Sat, 5 Apr 2025 23:17:29 +1100 Subject: [PATCH 5/9] debugging --- .github/workflows/build.yml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8e31dd3..d6f30fa 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,13 +24,24 @@ jobs: - name: Build run: dotnet build AutoTrackR2.sln --configuration Release --no-restore + - name: List build output directories + run: | + Write-Host "Listing build output directories:" + Get-ChildItem -Recurse -Directory -Filter "Release" | ForEach-Object { Write-Host $_.FullName } + - name: Create artifacts directory run: mkdir artifacts - name: Copy build output run: | - Copy-Item "AutoTrackR2\bin\Release\net9.0-windows\*" "artifacts\" - Copy-Item "AutoTrackR2_Setup\bin\Release\*" "artifacts\" + $releaseDir = Get-ChildItem -Recurse -Directory -Filter "Release" | Select-Object -First 1 + if ($releaseDir) { + Write-Host "Copying from: $($releaseDir.FullName)" + Copy-Item "$($releaseDir.FullName)\*" "artifacts\" -Recurse + } else { + Write-Host "No Release directory found" + exit 1 + } - name: Upload artifacts uses: actions/upload-artifact@v4 From bd8bbfb365e739a30d99f5abdbad1e9e8a216c35 Mon Sep 17 00:00:00 2001 From: Heavy Bob <ferrettclay@gmail.com> Date: Sat, 5 Apr 2025 23:21:09 +1100 Subject: [PATCH 6/9] Added version to git actions. --- .github/workflows/build.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d6f30fa..ea031d1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,6 +13,12 @@ jobs: steps: - uses: actions/checkout@v3 + - name: Extract version + id: version + run: | + $version = (Select-String -Path "AutoTrackR2/UpdatePage.xaml.cs" -Pattern 'currentVersion = "(.+?)"' | Select-Object -First 1).Matches.Groups[1].Value + echo "version=$version" >> $env:GITHUB_OUTPUT + - name: Setup .NET uses: actions/setup-dotnet@v3 with: @@ -46,6 +52,6 @@ jobs: - name: Upload artifacts uses: actions/upload-artifact@v4 with: - name: AutoTrackR2-Release + name: AutoTrackR2-${{ steps.version.outputs.version }} path: artifacts/ retention-days: 5 From a09a99c0646e6bd4291411ee281d0b2af0ad3982 Mon Sep 17 00:00:00 2001 From: Heavy Bob <ferrettclay@gmail.com> Date: Sun, 6 Apr 2025 00:06:04 +1100 Subject: [PATCH 7/9] Added autohotkey scripts to artifact --- .github/workflows/build.yml | 7 +++++++ AutoTrackR2/scripts/videorecord.ahk | 2 ++ AutoTrackR2/scripts/visorwipe.ahk | 2 ++ 3 files changed, 11 insertions(+) create mode 100644 AutoTrackR2/scripts/videorecord.ahk create mode 100644 AutoTrackR2/scripts/visorwipe.ahk diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ea031d1..77e2971 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -49,6 +49,13 @@ jobs: exit 1 } + - name: Copy AutoHotkey scripts + run: | + # Create scripts directory in artifacts + mkdir artifacts\scripts + # Copy AutoHotkey scripts + Copy-Item "AutoTrackR2\scripts\*.ahk" -Destination "artifacts\scripts\" -Force + - name: Upload artifacts uses: actions/upload-artifact@v4 with: diff --git a/AutoTrackR2/scripts/videorecord.ahk b/AutoTrackR2/scripts/videorecord.ahk new file mode 100644 index 0000000..11c5556 --- /dev/null +++ b/AutoTrackR2/scripts/videorecord.ahk @@ -0,0 +1,2 @@ +; AutoHotkey v2 script to press Win + Alt + G +Send("{LWin Down}{Alt Down}g{Alt Up}{LWin Up}") ; Simulate pressing Win + Alt + G \ No newline at end of file diff --git a/AutoTrackR2/scripts/visorwipe.ahk b/AutoTrackR2/scripts/visorwipe.ahk new file mode 100644 index 0000000..564b7f2 --- /dev/null +++ b/AutoTrackR2/scripts/visorwipe.ahk @@ -0,0 +1,2 @@ +; AutoHotkey v2 script to press Alt + X +Send("{Alt Down}x{Alt Up}") ; Simulate pressing Alt + X \ No newline at end of file From bab96123c555ca964cd7faf80bdf176ad6319a3a Mon Sep 17 00:00:00 2001 From: Heavy Bob <ferrettclay@gmail.com> Date: Sun, 6 Apr 2025 00:11:12 +1100 Subject: [PATCH 8/9] Added autohotkey scripts to artifacts --- .github/workflows/build.yml | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 77e2971..294769d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -49,16 +49,23 @@ jobs: exit 1 } - - name: Copy AutoHotkey scripts - run: | - # Create scripts directory in artifacts - mkdir artifacts\scripts - # Copy AutoHotkey scripts - Copy-Item "AutoTrackR2\scripts\*.ahk" -Destination "artifacts\scripts\" -Force - - - name: Upload artifacts + - name: Upload application artifact uses: actions/upload-artifact@v4 with: name: AutoTrackR2-${{ steps.version.outputs.version }} path: artifacts/ retention-days: 5 + + - name: Upload visorwipe script + uses: actions/upload-artifact@v4 + with: + name: visorwipe.ahk + path: AutoTrackR2/scripts/visorwipe.ahk + retention-days: 5 + + - name: Upload videorecord script + uses: actions/upload-artifact@v4 + with: + name: videorecord.ahk + path: AutoTrackR2/scripts/videorecord.ahk + retention-days: 5 From 408c071a85523577bb4447d83049e817f3e57992 Mon Sep 17 00:00:00 2001 From: Heavy Bob <ferrettclay@gmail.com> Date: Sun, 6 Apr 2025 00:13:38 +1100 Subject: [PATCH 9/9] Updated Readme. --- README.md | 148 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 81 insertions(+), 67 deletions(-) diff --git a/README.md b/README.md index 1a5db19..08b38c6 100644 --- a/README.md +++ b/README.md @@ -1,90 +1,104 @@ -AutoTrackR2 - Star Citizen Kill-Tracking Tool +# AutoTrackR2 - Star Citizen Kill-Tracking Tool + AutoTrackR2 is a powerful and customizable kill-tracking tool for Star Citizen. Designed with gankers and combat enthusiasts in mind, it integrates seamlessly with the game to log, display, and manage your kills, providing detailed information and optional API integration for advanced tracking. -🚀 Features -Log File Integration: Point to Star Citizen's live game.log to track kills in real-time. +## Features -API Integration (Optional): -Configure a desired API to send kill data for external tracking or display. -Secure your data with an optional API key. +- **Log File Integration**: Point to Star Citizen's live game.log to track kills in real-time. +- **API Integration (Optional)**: + - Configure a desired API to send kill data for external tracking or display. + - Secure your data with an optional API key. +- **Video Clipping (Optional)**: + - Set a path to your clipping software to save kills automatically. +- **Visor Wipe Integration (Optional)**: + - Automates visor wiping using an AutoHotkey script (`visorwipe.ahk`). + - Requires AutoHotkey v2. + - Script must be placed in `%LOCALAPPDATA%\AutoTrackR2\`. +- **Video Record Integration (Optional)**: + - Customize the `videorecord.ahk` script for your specific video recording keybinds. + - Requires AutoHotkey v2. + - Script must be placed in `%LOCALAPPDATA%\AutoTrackR2\` +- **Offline Mode**: + - Disables API submissions. The tool will still scrape and display information from the RobertsSpaceIndustries website for the profile of whomever you have killed. +- **Custom Themes**: + - Easily add or modify themes by adjusting the `ThemeSlider_ValueChanged` function in `ConfigPage.xaml.cs`. + - Update the ThemeSlider maximum value in `ConfigPage.xaml` to reflect the number of themes added. -Video Clipping (Optional): -Set a path to your clipping software to save kills automatically. +## Setup -Visor Wipe Integration: -Automates visor wiping using an AutoHotkey script (visorwipe.ahk). -Requires AutoHotkey v2. -Script must be placed in C:\Users\<Username>\AppData\Local\AutoTrackR2\. +1. **Prerequisites**: -Video Record Integration: -Customize the videorecord.ahk script for your specific video recording keybinds. -Requires AutoHotkey v2. -Script must be placed in C:\Users\<Username>\AppData\Local\AutoTrackR2\ + - Windows 10 or later + - .NET Framework 4.7.2 or higher + - Star Citizen installed + - AutoHotkey v2 (optional - only needed for visor wipe and video recording features): + - Download from the official website at https://www.autohotkey.com/ + - Install AutoHotkey v2 (not v1.x as they are not compatible) + - Verify installation by right-clicking on your desktop and confirming "New > AutoHotkey v2 Script" appears in the context menu -Offline Mode: -Disables API submissions. The tool will still scrape and display information from the RobertsSpaceIndustries website for the profile of whomever you have killed. +2. **Installation Steps**: -Custom Themes: -Easily add or modify themes by adjusting the ThemeSlider_ValueChanged function in ConfigPage.xaml.cs. -Update the ThemeSlider maximum value in ConfigPage.xaml to reflect the number of themes added. + - Download the latest release package from the releases page + - Run the installer and follow the on-screen instructions + - Launch AutoTrackR2 after installation completes -📁 Configuration -Log File: -Specify the path to Star Citizen's game.log. +3. **Initial Configuration**: + - Open the Configuration panel within the application + - Set the path to your Star Citizen game.log file (typically found in `[Star Citizen Install Path]\LIVE\game.log`) + - Configure API settings if desired (leave blank for offline mode) + - Set up video clipping paths if using this feature + - If using AutoHotkey features, verify the scripts are properly placed in the `%LOCALAPPDATA%\AutoTrackR2\` location -API Settings (Optional): +## Configuration -API URL: Provide the endpoint for posting kill data. +- **Log File**: + - Specify the path to Star Citizen's `game.log`. +- **API Settings (Optional)**: + - API URL: Provide the endpoint for posting kill data. + - API Key: Secure access to the API with your unique key. +- **Video Clipping Path (Optional)**: + - Set the directory where your clipping software saves kills. +- **Visor Wipe Setup (Optional)**: + - Place `visorwipe.ahk` in `%LOCALAPPDATA%\AutoTrackR2\`. + - AutoHotkey v2 is required. +- **Video Recording Setup (Optional)**: + - Modify `videorecord.ahk` to use the keybinds of your video recording software. + - Place `videorecord.ahk` in `%LOCALAPPDATA%\AutoTrackR2\`. + - AutoHotkey v2 is required. +- **Offline Mode**: + - Enable to disable API submission. Restart the tracker to apply changes. -API Key: Secure access to the API with your unique key. +## Privacy & Data Usage -Video Clipping Path (Optional): -Set the directory where your clipping software saves kills. +- **No Personal Data Collection**: + - AutoTrackR2 does not collect or store personal or system information, other than common file paths to manage necessary files. +- **Access and Permissions**: + - The tool reads its own `config.ini` and the `game.log` from Star Citizen. It will also create a CSV file of all your logged kills, stored locally on your machine in the `%LOCALAPPDATA%\AutoTrackR2\` folder. +- **Optional Data Submission**: + - Data is only sent to an API if explicitly configured by the user. Offline Mode disables all outgoing submissions. +- **Killfeed Scraping**: + - The program scrapes the profile page of killed players to display their information locally. This feature remains active even in Offline Mode. -Visor Wipe Setup: -Place visorwipe.ahk in C:\Users\<Username>\AppData\Local\AutoTrackR2\. -AutoHotkey v2 is required. +## Customization -Video Recording Setup: -Modify videorecord.ahk to use the keybinds of your video recording software. -Place videorecord.ahk in C:\Users\<Username>\AppData\Local\AutoTrackR2\. -AutoHotkey v2 is required. - -Offline Mode: -Enable to disable API submission. Restart the tracker to apply changes. - -🛡️ Privacy & Data Usage -No Personal Data Collection: -AutoTrackR2 does not collect or store personal or system information, other than common file paths to manage necessary files. - -Access and Permissions: -The tool reads its own config.ini and the game.log from Star Citizen. It will also create a CSV file of all your logged kills, stored locally on your machine in the AppData folder. - -Optional Data Submission: -Data is only sent to an API if explicitly configured by the user. Offline Mode disables all outgoing submissions. - -Killfeed Scraping: -The program scrapes the profile page of killed players to display their information locally. This feature remains active even in Offline Mode. - -⚙️ Installation -Download the latest release from the releases page. -Follow the setup instructions included in the installer. -Configure the tool using the settings outlined above. - -💡 Customization To customize themes or behaviors: -Add Themes: -Update the ThemeSlider_ValueChanged function in ConfigPage.xaml.cs with your desired colors and logos. -Adjust the ThemeSlider maximum value in ConfigPage.xaml to match the number of themes. +- **Add Themes**: + - Update the `ThemeSlider_ValueChanged` function in `ConfigPage.xaml.cs` with your desired colors and logos. + - Adjust the ThemeSlider maximum value in `ConfigPage.xaml` to match the number of themes. +- **Modify AHK Scripts (Optional)**: + - Edit `visorwipe.ahk` and `videorecord.ahk` to fit your specific keybinds and preferences. -Modify AHK Scripts: -Edit visorwipe.ahk and videorecord.ahk to fit your specific keybinds and preferences. +## Support -📞 Support -For questions, issues, or feature requests, please visit discord.gg/griefernet. +For questions, issues, or feature requests: + +- Join our Discord server: [discord.gg/griefernet](https://discord.gg/griefernet) +- Report bugs through the Discord's #autotrackr-bugs channel +- For urgent issues, you can escalate in Discord by tagging moderators + +## License -🔒 License AutoTrackR2 is released under the GNU v3 License. GRIEFERNET VICTORY!