Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
258 views18 pages

SimView Manual

SimView is a software tool that provides live timing and statistics for Assetto Corsa multiplayer sessions. It features a live leaderboard, track map, session feed of events, lap and sector times analysis, and driver/team details. The software runs on the machine hosting the AC server to collect data with minimal performance impact. It supports practice, qualification, and race sessions for both individual drivers and team-based events.

Uploaded by

Qwearty
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
258 views18 pages

SimView Manual

SimView is a software tool that provides live timing and statistics for Assetto Corsa multiplayer sessions. It features a live leaderboard, track map, session feed of events, lap and sector times analysis, and driver/team details. The software runs on the machine hosting the AC server to collect data with minimal performance impact. It supports practice, qualification, and race sessions for both individual drivers and team-based events.

Uploaded by

Qwearty
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

SimView Manual [v1.3.

1]

Table of Contents
Overview..............................................................................................................................................2
Resources..............................................................................................................................................2
Features.................................................................................................................................................2
Preview.................................................................................................................................................3
Events..........................................................................................................................................3
Live Leader-board.......................................................................................................................4
Results.........................................................................................................................................6
Analysis.....................................................................................................................................11
Best-Laps..................................................................................................................................12
Drivers.......................................................................................................................................13
Installation..........................................................................................................................................13
AC Server Requirements:.........................................................................................................13
Requirement:.............................................................................................................................14
Steps..........................................................................................................................................14
Updating to new version.....................................................................................................................15
SimViewTool......................................................................................................................................16
Usage.........................................................................................................................................16
Running Multiple AC servers.............................................................................................................16
Known Issues......................................................................................................................................16
Troubleshoot.......................................................................................................................................17
FAQ....................................................................................................................................................17
Overview
SimView is one stop solution to all your live timing need. It provides live timing and statistics
for all types of Assetto Corsa multiplayer sessions. Would be a valuable tool for communities /
league of any size especially designed for endurance events. It needs to be setup by server
admin on machine (Windows and Linux servers both supported) where AC server is running. It
is highly optimised to require very minimal CPU / memory resource and support larger
number of concurrent viewers.

SimView runs two processes SimViewWriter and SimViewHttp. Writer process is


responsible to collect data from AC server. For Live Event Writer process also serves the live
leaderboard APIs from which clients (browsers) will get leader-board data. SimViewWriter
gets data from AC Server UDP plug-in port, therefore to use SimView you need to enable UDP
plug-in port for Assetto Corsa server. Writer process also parse logs of AC server to get some
extra information.

* Only MySQL supported

Resources
RaceDepartment Page
Discord Server

Features
• Live leader-board for Practice, Qualification and Race sessions
• Live track-map with corner names and pit-lane so that you can keep an eye on all the
drivers
• Live session feed to get all the exciting events happening on the track
• Lap telemetry for speed, gear and racing line. Allow comparing two laps
• Support teams based events with detecting driver swaps and providing accurate leader-
board through entry_list.ini

• Automatic pit entry, exit, off-track detection along with pit stop timer without requiring
any manual configuration
• Works with Assetto Corsa Server Manager (ACSM) v2
• View team details for a live event with livery preview
• Grouping of sessions into events to have better organisation
• All data is saved to DB to be viewed later once event is completed
• View standings, sector standings and stints for completed and live events
• Search best lap across all data by any events or tracks and car combination
• View driver info and recent activity in driver’s summary page

Preview
Events

Live/Events pages show all live and all live, completed events respectively. On clicking on an
event from live page it will go to live leader-board page of that event. On clicking on event in
events page will take you to the result page of that event. Live events are highlighted in Red in
events page rest are completed events.

Event
name
Team
event
Server
name

Server’s Session
active duration
sessions
Live Leader-board

Practice, Qualification and Race session live leader-board pages are similar and behave in same
way with few subtle differences:
* In practice, qualification only valid laps are counted towards leader-board position. While in
race session all are counted.
* In Race leader-board current sector times are shown while in Practice/Qualification best
sector times are shown.
* In Race leader-board loading or disconnected drivers/teams are considered for leader-board
position while in practice, qualification they are move to bottom of leader-board.

You can hover over columns name to get detail about what that column represents
Connection Status: Green dot: connected, Yellow dot: Driver loading into server, Red dot:
disconnected.. In track conditions (top right) only grip level is dynamic which is updated
whenever a driver finishes a lap.
Track Status: Blue background row indicates car is in pit lane (crossed pit entry line but still yet
to cross pit exit). Yellow indicates when the car went off-track.
Track Position Indication: In last lap column Blue bar indicated how much percentage of
current lap is finished i.e. last lap gets updated when that bar is complete
Lap/sector Status: Green: Personal best, Purple: Overall best, Red: Invalid lap

Live viewers counts the number of connections to leader-board server as they are independent
of each other. So someone opening leader-board page in two separate tabs will be counted as
two views.
Team details overlay with livery preview for team events. Livery name is taken from
entry_list.ini file. For it to work properly livery preview file (preview.png or
preview.jpg) should be present in the server’s respective car folder. Driver’s Country flag are
set using override config (config.toml contains details on how to set them).

Live Track Map tab in live page. These maps are automatically generate using fast_lane.ai,
pit_lane.ai files. Map contains all sections/corners mentions in sections.ini and can be
seen by hovering over the track. Car are indicated with their class colour. Overall Leader-board
position is shown along with identifier (which is first 3 letters of driver name in case of non-
team event, first 3 letters of team name if team event but not using team number, team no. in
case using team number is enabled for the event). The start finish line and directions of track is
also shown.

Session feed show all the event happening along with timestamp. If you refresh the page all
feed till now will be gone.
Current events includes:

• Driver connect/disconnect to server

• Driver swap in team event

• Collisions (with corner names) and indicator (Red mark on involved cars on map

• Session/stint best lap

• Users chat messages, without admin messages (disabled by default in config)

• Pit entry and pit exit with time spend in pit-lane (timer starts when driver crosses pit
entry line and stops when driver crosses pit exit line)

Results

Final result standings for the session


View best sectors wise standing. Only valid lap’s sector are counted

Consistency for each driver. For average lap 1st lap and best lap is ignored. Error give variation
w.r.t driver’s best lap time.
All stints detail for the session. One stints is counted as duration from the time driver connects
to the server to when he disconnects. So this can include multiple pit stops. Stint are grouped
by driver/car combo for non team events, for team events they are grouped by team and are
ordered by their final standings. All stint data is not loaded at once. You view specific stint one
by one.

Result Graphs. Graphs tab in result tab has 6 graphs which can be used to analyse session.
These graphs are only available for race session. All graphs support zoom and panning. Press
CTRL and use mouse to pan.
All Graphs:
Lap variation per driver (above) – This uses box-plot to give overall view of consistency and
pace of the driver. It give summary of lap times using following metrics:
max, Q3 (75th percentile), average, median, Q1 (25th percentile), and min lap time. It can also
show outliers (large lap time) like 1st lap, pit laps etc.

Lap-time per lap for each driver

Average lap-time per lap for each driver – It ignores the first lap when computing pace as it
can be chaotic and outlier.
Position per lap – This shows position of a driver at the end of their nth lap

Gap to Leader per lap – This shows the gap to leader at end of their nth lap.

PitStop graphs: This shows all pit-stops done by a driver/team in stacked bar graph. This will
give you total time spend in pit-lane (not the actual stationary time).
Analysis

Analysis Page: This page can be viewed in two format. For lap comparison format (above
preview) and single lap telemetry (below preview). Both format has same graphs i.e. 1 st Speed
vs Position, 2nd Gear vs Position and last racing line on track. All graphs support zoom.
Telemetry can be enable/disable with ac.server.event.lap.telemetry.enable config (enabled by
default). Telemetry is save for valid laps and with min speed of 1 km/hr i.e. not saved for in-lap,
out-lap and stopping on track. Single lap telemetry can be viewed from Best Lap page and
Results page (standings tab for qualification and practice session and any lap in stints tab).
Comparing lap can be done from Best Lap page only by selecting any two laps.
ac.server.udp.realtime.update.interval.ms config affects how accurate lap telemetry is
sampled. Lower value increase accuracy but also increases size of telemetry data saved in DB.
Best-Laps
Best laps page. You can search based on event or any track and car combo. It will only show
valid laps. Purple time show best in car class and Green shows best in that specific car. You can
remove any car from selection by clicking on it inside the dotted box. This page remembers you
last selected combo, so when you open this page again it will reload that combo by default so
that you don’t have to make you selection again.

Drivers

Driver summary page. Shows top 5 driven tracks and cars and list of all the events driver
participated in. Last activity is only updated when driver connect or disconnect to the AC server
and is not expected to thoroughly accurate but just as an indication.

Installation
AC Server Requirements:
• For car/track info to appear properly ui (badge.png, ui_car.json, outline.png,
ui_track.json) folder of each car/track used in the session should be present in
server.
• For live track map to be generated fast_lane.ai and pit_lane.ai files should be
present.
• For automatic pit detection kn5 models of track should be present. Or you can put the
necessary pit boundary file generated from SimViewTool
• AC server’s UDP plug-in port enabled, to which SimView will connect.
• For sector times and tyre info to appear AC server log files should be accessible to
SimViewWriter (in <ac_server_path>/logs/session/). SimViewWriter should be started
before AC server.

Requirement:
• MySQL 8: Ubuntu Installation Windows Installation
Note: Although in v0.4 schema is made compatible with MySQL 5.7 it is not tested
properly. So if you are trying on 5.7 do report if you face any issue.

Steps

1. Create a new database and appropriate user in MySQL and initialise it with tables using SQL
script in data directory. This is only required for the first time.

Open MySQL shell (mysql in Linux and MySQL Command Line Client in Windows)

Run below query (change names as needed):

CREATE SCHEMA IF NOT EXISTS simview DEFAULT CHARACTER SET utf8;


USE simview;
SOURCE <simview_schema.sql>;

Replace <simview_schema.sql> with absolute path of SQL file present in data folder (only one
file will be there, ignore migration folder)

Forward slash and no quotes in path in


Windows

Optional (use root user password in config.toml if not creating new user)
For creating user (replace <enter_password> with the password you want to use)
CREATE USER 'simview'@'localhost' IDENTIFIED BY <enter_password>;
GRANT ALL PRIVILEGES ON simview.* TO 'simview'@'localhost';
FLUSH PRIVILEGES;

Add your password here

2. Rename config.detail.toml file in config directory to config.toml and fill up the


configs as required for your AC Server configuration. This config file will be used by both
processes. All the config contains detail description.
In v1.0 by default 3 configs (game.path, app.cache.path, database.password) you need to
mandatory add these on fresh config.toml. You can change others depending on your
requirement

3. Start Writer and Http process in background using simview_writer and


simview_http in Linux. On Windows just run the .exe executables available in the root
folder.

4. Open HTTP port (http.port) set in config.toml and ac.server.udp.local.port (or writer.port
if set) to public for UI to be accessible to public.

Updating to new version


1. Backup your config.toml file and just replace the older SimView directory with new
folder. If config.detail.toml has changed with new version (will be mentioned in
ChangeLog) than you need to create new config.toml from it and update you configs
there.
2. Copy back your config.toml file into config directory

3. If underlying DB schema has changed with new version (will be mentioned in ChangeLog)
you have two options:
• If you want to start fresh and don’t want old data, just delete old DB and create new
one with the latest simview-<version>.sql file in data directory. Close all process
before creating new DB.
• If you want to retain data than you need to do migration following these steps:
◦ First close all the processes (HTTP + all Writers).

◦ Optional: Take the backup (dump) of your DB just to be safe in case migration fails.
◦ Start only one Writer process. It will perform the migration and when done (check
its logs) you can start other processes as well.
◦ If migration fails all process will fail to start. Report to dev with Writer process
logs. You can continue using old SimView version with old backup DB

SimViewTool
SimViewTool is separate executable available with the binaries. It can generate the required pit
boundary files from AC kn5 models for SimView pit detection. This allows you to not upload
kn5 files (if you were doing so just for SimView) to server as they are large in size and consume
lot of space.

Usage
SimViewTool need to be run on PC where you have AC installation not on server.
You can use it in following ways:
1. Put SimViewTool in <game_path>/content/track folder and run it. It will then
generate pit boundary files for all the tracks (and their configurations) present in the
folder.
2. Put SimViewTool executable inside a AC track folder (e.g.
<game_path>/content/track/<track_name>) for which you want to generate pit
boundary and run it. It will generate pit boundary file for all track configurations present
for this track.
3. You can run it from CMD/Powershell/Terminal like
SimViewTool [track_path] [track_config_name]. In this case if you don’t give
config name it will generate for all track configurations else just for that specific
configuration.

Once you have generated the pit boundary file (.pb extension), just put that in
<simview_cache>/track/ folder of your SimView installation on server.

Note: If your track’s model (KN5) files changes (most likely when track is being developed)
then you will have to re-generate pit boundary file and upload it to server.

Running Multiple AC servers


You need to run multiple Writer process each configured for one AC Server. You will need to
copy whole SimView folder to new location and only run writer process from there after
changing the config (specific ports for this AC server instance etc.). No need to run multiple
Http processes as all Writer process store data to same DB.

Known Issues
1. Sometime an extra empty session is getting created during startup of writer process
2. Teleport to pit detection does not work sometime when teleported from near your pit
box
Troubleshoot
1. P: Writer process crashed some exceptions shown in logs.
S: Restart both Writer process and AC server. Also report to dev with the relevant logs.
2. P: Updating to new version, changes are not reflected in UI
S: Clear browser cache.
3. P: Sectors time/Tyre not visible
S: Verify that AC server logs are accessible to SimViewWriter. Writer process log should
show it its able to read AC Server log.

FAQ
1. Q: Is this project open source?
A: No. Although UI code (html folder) available with binaries is under GPL -V3
2. Q: When is lap time and positions updated in live leader board?
A: For practice and qualification leader board is updated when a lap is completed. Only
valid laps are counted for these session. For race current sector time are shown as
driver completes it and position are show in real time.
3. Q: Does it work with sTracker?
A: Yes you can use sTracker proxy feature to send data to SimView. But this is not
regularly tested by the dev.
4. Q: Does it work with Assetto Corsa Server Manager (ACSM) v2?
A: Yes, from v1.1 SimView leaderboard works completely with ACSM v2.
5. Q: Does it support proxy service?
A: No
6. Q: How to run with other apps if it does not have proxy feature?
A: You can use app like ACSRelay to run multiple UDP apps
7. Q: When I need to start Writer / HTTP process?
A: Writer should always be started before AC server, even when you are using proxy.
You can start HTTP process any time.
8. Q: If I am restarting AC server do I need to restart any process?
A: No. Only needed when any of the process crashed.
9. Q: What to do when config.detail.toml file changes in new version?
A: Backup you current config.toml file. Create new config.toml file by copying
config.detail.toml file. Now only update the configs which you have set in your
old config.toml file (refer backed-up file).

10. Q: How to change name of a driver?


A: Enable driver rename feature through config. Restart Writer process and AC server. If
you cannot restart for some reason or if Teams are enabled on the server create a
separate server / writer process combo with this feature enabled. When the driver
connects with new name it will be changed by the time the game completely loads into
the server. No need to do any lap.
11. Q: How to enable Live Track Map?
A: Some live track maps will be provided with binaries. To use these just copy live-
track-maps folder to your SimView cache directory. For track which are not included
you can generate live track map, which is done by SimViewWriter process. The track's
fast_lane.ai file and pit_lane.ai (optional) in from ai folder and sections.ini
(optional) file from data folder need to be present on server to generate map. Only
fast_lane.ai is mandatory, but pit_lane.ai will add (obviously) red pit lane in map
and sections.ini will add corners/straight names in maps which can be when you
hover over those sections.

You might also like