Vsk Auto Score
Fully automatic real time scoring with unlimited scalability!
Fully automatic real time scoring with unlimited scalability!
VSK Auto Score is a fully automated scoring system designed specifically for Virtual Skipper 5. It processes the CSV results files generated by the game immediately after each race is completed and calculates cumulative scores across all races using a Time Differential Scoring System. This system is perfect for both personal leaderboards and organized regatta series, scaling effortlessly to any fleet size or race schedule.
Time Differential Scoring: Points are awarded based on finishing time differences, ensuring a fair and dynamic scoring method.
Adjustable Base Time: The base time used for score calculations can be customized in the Google Apps Script.
Unlimited Scalability: No restrictions on fleet size or number of races.
Automated CSV Processing: Scores update automatically as new CSV files are added.
Batch File Automation: The included .bat file continuously monitors the VSK5 Results folder, moving new race results to the system for scoring.
Manual Upload Option: Even when the batch file is not running, CSV files can still be manually placed in the "VskAutoScore" Google Drive folder for processing.
Live Online Leaderboard: Scores are displayed in a dynamically updating HTML leaderboard that can be shared or embedded.
Flexible for Any Event Size: Use it for personal ranking or scale it up for large regatta series.
Cumulative Scoring: Results from all processed CSV files contribute to an ongoing leaderboard.
Easy Setup – No Coding Skills Required: Users only need basic copy-paste skills to complete the setup.
Run the Batch File: Before racing, start the included .bat file. It will detect and transfer new race results from the VSK5 Results folder to the VskAutoScore Google Drive folder.
Insert Folder & Sheet IDs: Simply copy and paste your Google Drive Folder ID and Google Sheet ID into the Google Apps Script, then paste the Google Drive Folder ID into the batch file script. (Full step-by-step directions are included.)
Automatic Processing: Once CSV files appear in VskAutoScore, the system updates cumulative scores automatically.
Live Leaderboard Access: View real-time results on the online HTML leaderboard.
Manual Upload Option: If you don't want to run the batch file, you can always manually copy and paste CSV files to the Google Drive folder to process scores.
Reset Anytime: Clear the linked Google Sheet to start fresh whenever needed.
Fair and Accurate Scoring: Uses a Time Differential system, rewarding precise race performance.
Fully Automated: Once set up, it requires minimal user input—just race and let the system score.
Highly Flexible: Works for casual play, competitive leagues, and major regattas.
No Technical Knowledge Required: Only basic computer skills—just copy and paste a few provided IDs.
Always Up-to-Date: With the batch file running, every race you host or join is processed instantly.
VSK AutoScore is the ultimate solution for automated, time-based scoring in Virtual Skipper 5. Whether you're tracking personal progress or managing an entire regatta, this system ensures real-time, effortless, and precise scoring.
Requires a Google account and Google Drive installed on your computer
Download the Vsk Auto Score Google Sheet and batch file to get started
Click Here to View a Step-by-Step Setup Guide
This guide will help you set up the VSK Auto Score System, which automates race scoring using Google Sheets, Google Apps Script, and a batch (.bat) file. By following these steps, you’ll be able to:
Download the Google Sheets template
Create a dedicated folder in Google Drive
Insert the correct Google Drive Folder ID & Google Sheet ID into the script
Edit the batch file to include your Google Drive Folder ID
Deploy the Google Apps Script
Access the Online Live Leaderboard
Clear race data and start fresh when needed
Click on the provided link to download the Google Sheets template.
Once the file opens, go to File > Make a Copy to create your own editable version.
Rename the file if desired, but keep it easy to recognize (e.g., VSK AutoScore).
Open Google Drive (https://drive.google.com).
Click on the “+ New” button (top left).
Select Folder and name it "VskAutoScore".
Press Create.
This folder will store all race results CSV files used by the system.
In Google Drive, locate the VskAutoScore folder you just created.
Right-click the folder and select Get Link.
In the link, you’ll see a long string of letters and numbers between /folders/ and ?usp=sharing.
Example:
https://drive.google.com/drive/folders/1A2B3C4D5E6F7G8H9I0J?usp=sharing
The bold part below is your Folder ID:
1A2B3C4D5E6F7G8H9I0J
Copy this Folder ID for later use.
Open your copied VSK Auto Score Google Sheet.
Look at the URL in your browser’s address bar.
You’ll see a long string between /d/ and /edit:
Example:
https://docs.google.com/spreadsheets/d/1A2B3C4D5E6F7G8H9I0J/edit#gid=0
The bold part below is your Google Sheet ID:
1A2B3C4D5E6F7G8H9I0J
Copy this Google Sheet ID for later use.
The batch file is responsible for automatically moving race results CSV files from the game’s Results folder to your Google Drive folder (VskAutoScore).
Locate the provided AutoScore.bat file.
Right-click it and select Edit (this will open it in Notepad).
Find the following line in the script with this text:
set "destination=G:\YOUR_VSK5_RESULTS_FOLDER_PATH_HERE"
Replace YOUR_VSK5_RESULTS_FOLDER_PATH_HERE with your actual Google Drive Folder Path
Example:
"C:\Users\2001t\Documents\Vsk5\Results"
Now repeat the process for your Vsk5 Results folder,..
Find the following line in the script with this text:
set "destination=YOUR_GOOGLE_FOLDER_PATH_HERE"
Replace YOUR_GOOGLE_FOLDER_PATH_HERE with your actual Google Drive Folder Path
Example:
"G:\My Drive\VskAutoScore"
Click File > Save to update the batch file.
Close Notepad.
Your batch file is now configured to send race result files to the correct folder!
In the VSK Auto Score Google Sheet, go to Extensions > Apps Script.
In the Apps Script editor, locate the section where the Folder ID and Sheet ID need to be inserted.
Replace the placeholder text with your actual Folder ID and Google Sheet ID.
Example:
var folderId = "YOUR_FOLDER_ID_HERE";
var sheetId = "YOUR_SHEET_ID_HERE";
Click Save (💾 icon) in the Apps Script editor.
To ensure automatic updates, set up a trigger to run the script at a set interval:
Open Extensions > Apps Script.
Click the Clock icon (Triggers) on the left menu.
Click + Add Trigger.
Under Choose which function to run, select processResults.
Under Event source, choose Time-driven.
Select Minutes timer, then set it to Every 1 minute (or adjust as needed).
Click Save and grant any required permissions.
This will make the system automatically check for new race data and update the leaderboard.
8. Deploy the Script & Grant Permissions
In the Apps Script editor, click Deploy > New Deployment.
Under Select Type, choose Web App.
In the Description, enter something like: VSK Auto Score System.
Under Who has access, choose Anyone (if you want to share scores publicly) or Only Me (for private use).
Click Deploy and follow the Google authorization prompts.
Once deployed, copy the Web App URL—this is your Live Leaderboard link.
Before racing, double-click the AutoScore.bat file to run it.
The batch file will now automatically move race result CSV files to your Google Drive.
Your Google Apps Script will fetch these files and update the Google Sheet with the latest race scores.
Open the Web App URL you copied.
You will see the Live Leaderboard displaying race results.
The leaderboard automatically updates whenever new race data is processed.
💡 Tip: Bookmark this URL for quick access and to share with your friends!
Since your Google Sheet acts as the backend server, you can reset the scoring system anytime:
Open your VSK Auto Score Google Sheet.
Select all race data in the sheet.
Press Delete to clear the rows and reset scores to zero.
The system will now be ready for a new set of races!
Always make sure the "VskAutoScore" folder exists in your Google Drive.
The Google Sheet, Batch File & Web App work together—don’t delete them!
Make sure you have set a trigger for the Google Apps Script.
It is good practice to maintain your Results and VskAutoScore folders by deleting any previously processed or unwanted csv files.
If you encounter issues, recheck your Folder ID & Sheet ID in the script.
Always run the AutoScore.bat file before racing to ensure automatic data transfer.
You can share the Live Leaderboard link with others to display race results.
You do not need to have your browser open for the system to function.
Copy and paste your Google folder and Google sheet ID's into the Google Apps Script!
Copy and paste your Google folder path and Vsk5 Results folder path into the batch file!
If you want to change the Base Time or Base Points, follow these steps:
Open the Google Apps Script Editor
In your Google Sheet, go to Extensions > Apps Script.
Find the Following Code Section:
javascript
// Base time and point system
var baseTimeInSeconds = 1590; // 26:30 in seconds
var basePoints = 12;
Modify the Values:
Base Time: Change the number to set a new base time in seconds.
Example: If you want 30 minutes (30:00) as the base time, update it to:
javascript
var baseTimeInSeconds = 1800; // 30:00 in seconds
Base Points: Change the number to set a new point value for finishing exactly at the base time.
Example: If you want 15 points instead of 12:
javascript
var basePoints = 15;
Save and Apply Changes:
Click the Save (Ctrl + S) button in the script editor.
If needed, Run the script once to verify everything is working.
Desired Base Time
Time in Seconds
Example Code Change
24:00
1440
var baseTimeInSeconds = 1440;
28:45
1725
var baseTimeInSeconds = 1725;
32:15
1935
var baseTimeInSeconds = 1935;
That’s it! Just update the time in seconds and base points as needed.
The Google Apps Script can be adjusted to change the base time and base score for the Time Differential Scoring System, tailoring the points calculation to different race formats.
Modify the HTML document in the Google Apps Scripts editor
1. Changing the Background Image
The background image for the leaderboard HTML document is set in the CSS using the background property in the body selector:
css
body {
background: url('https://i.postimg.cc/rmT03WTg/vskpt3.png') no-repeat center center fixed;
background-size: cover;
}
Steps to Change the Background Image:
Locate this section in the HTML file inside the <style> block.
Replace the URL inside url('...') with your new image link.
Ensure the image is accessible online (e.g., uploaded to PostImage, Imgur, or your website).
Save and refresh the page to see the updated background.
Example Update:
If your new image URL is https://example.com/new-background.png, update the CSS as follows:
css
body {
background: url('https://example.com/new-background.png') no-repeat center center fixed;
background-size: cover;
}
2. Changing the Logo Image
The logo is defined in this <img> tag:
html
<img src="https://i.postimg.cc/652TpzMT/IMG-8380.png" alt="VSK Logo" class="logo">
Steps to Change the Logo Image:
Locate this line in the HTML document.
Replace the src="..." URL with your new logo image URL.
Ensure the image is hosted online and accessible.
Save and refresh the page to see the updated logo.
Example Update:
If your new logo URL is https://example.com/new-logo.png, update the <img> tag:
html
<img src="https://example.com/new-logo.png" alt="VSK Logo" class="logo">
3. Modifying the CSS Styling for Colors
The colors in the HTML document are controlled by CSS. Below are key sections and how to modify them:
Table Header Background Color (Red)
css
th {
background: red;
color: white;
}
Change background: red; to any other color, like blue or a hex code (#FF0000).
Even and Odd Row Colors
css
tr:nth-child(even) {
background: #222;
}
tr:nth-child(odd) {
background: #333;
}
Modify these colors for different table row shades.
Button Colors
css
button {
background: blue;
color: white;
}
Change background: blue; to another color like green (#008000).
Dark Mode Colors
css
.dark-mode {
background: black;
color: white;
}
.dark-mode th {
background: darkred;
}
Modify background: black; to another dark shade (#1a1a1a).
Summary of Changes
Background Image
background (body)
url('new-image.png')
Logo Image
src (inside <img>)
src="new-logo.png"
Table Header Color
background (th)
background: navy;
Table Rows
background (tr)
#444 → #666
Button Color
background (button)
background: green;
Dark Mode BG Color
background (dark-mode)
background: #121212;
This guide should help you easily locate and modify the necessary sections for customization.