From c6f26c41c065e5b8d3cad1a65d1eeaaf1150c7e7 Mon Sep 17 00:00:00 2001 From: KeyboardMedic Date: Tue, 19 Dec 2023 17:34:23 +0100 Subject: [PATCH] updated files for push to main --- config/example_config.json | 2 +- readme.md | 4 +++- screenshot7.png | Bin 0 -> 22575 bytes 3 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 screenshot7.png diff --git a/config/example_config.json b/config/example_config.json index 3754b4b..db87ff4 100644 --- a/config/example_config.json +++ b/config/example_config.json @@ -11,5 +11,5 @@ "onlyleaderboards":"false", "show_input": "true", "verbose": "false", - "log_to_file": "true" + "log_to_file": "false" } \ No newline at end of file diff --git a/readme.md b/readme.md index 37b0704..7334c86 100644 --- a/readme.md +++ b/readme.md @@ -1,5 +1,5 @@ # what does it do: -a server sided script that reads logs from assettoserver and acServer for lap times, stage times (found on shutoko), shmoovin score entries and general server information and posts them to a leaderboard posted via discord webhooks. +a server sided script that reads logs from assettoserver and acServer for lap times, stage times (found on shutoko), shmoovin score entries and general server information and posts them to a leaderboard posted via discord webhooks aswell as html files in a html folder to use as live overlays in obs. it makes as many messages as there are servers and will delete them if the server no longer exsists. @@ -16,6 +16,8 @@ laptimes and full server info can be set on or off in the configs as described b ![alt text](screenshot6.png) +![alt text](screenshot7.png) + # how to use: 1. install python on your system from the python website https://www.python.org/downloads/ make sure to select add python to path 2. install the requests module trough pip with the following command in a terminal diff --git a/screenshot7.png b/screenshot7.png new file mode 100644 index 0000000000000000000000000000000000000000..16427385545123659e589060aacb096b475e9a3f GIT binary patch literal 22575 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 Xr&zT@02_UiUk13bmC*x(YYG1brHEzM literal 0 HcmV?d00001