Giter VIP home page Giter VIP logo

pyaccengineer's Introduction

PyAccEngineer v1.5.9

the app

For more images here

Download

Download the zip file from the Releases page.

Or use git: git clone https://github.com/rrennoir/PyAccEngineer.git --recursive

Prerequisite

To work the app need Python installed (for the user is enough, doesn't require admin access) and added to the path.

Don't use python 3.10 or greater as it has problem installing some modules, use 3.8 or 3.9 instead.

Preferrably anaconda, but the default python package work too python

And don't forget to add it to the PATH, it's one of the step in the installer as shown in the screenshot I found on Google Image.

Add python to path

Installation

Install the required Python modules by running the InstallModules.bat (or InstallModules.ps). However .bat is recommended since it doesn't have the permission limitation by default

For server host (any driver, just one of them)

Clients don't need to open anything on their router. Host open TCP and UDP port (4269 for TCP and UDP are the default) for incoming connections as shown below

port_forwarding_example

Open the app

Use the StartApp.bat / StartApp.ps1 script

Possible problems

Python isn't recognized

If you get the error python isn't recognized... and python is installed, check here how to add it your PATH

Nobody is able to connect

If nobody can connect and the address / port are correct that mean the TCP port forwarding isn't setup correctly on the host router or the firewall is blocking the packets.

Able to connect but no telemetry

If everyone can connect, but no telemetry is received to the clients that mean the UDP port forwarding isn't setup correctly on the host router or the firewall is blocking the packets.

How to use it

  • One user starts "As Server" and others connect to it
  • Choose the same username as in ACC ("firstname surname"), so that the user driving can be recognized and will be highlighted in green.
  • Update values will refresh the information on the strategy page to the lastest value in game (mfd page)
  • Set Strategy will send a command to the user who is currently driving and set the strategy accordingly

Run the server as headless (dedicated server)

Simply run the headless_server.py, default port is 4269 (TCP) and 4269 (UDP). Or use the command line switches -u or --udp_port to change the UDP port and -t or --tcp_port to change the TCP port. To change both port at the same time use -p or --port

# sets both UDP/TCP ports to 4275
python headless_server.py -p 4275
# sets ports for UDP to 4270 and TCP to 4269
python headless_server.py -u 4270 --tcp_port 4269

To stop the server simply press ctrl C in the cmd / powershell / Windows terminal

Important note for using this

  • Tyre change must be on before the strategy setter is started
  • At least one pit strategy must be set or different from the default (just setting aggresive preset will work)
  • When the strategy setter is started the driving user shouldn't alt tab (duh)

Will you control my PC for other things ?

No, and if you don't trust me just read the code ๐Ÿ˜‚

The app basicaly has 2 channels, an udp channel sending ACC telemetry and another sending application info like users update, update state, the strategy state, tyre wear data, etc

No keycode are sent over the network, only the desired state of the pit strategy, so the app received it and generate the virtual keypress necessary to fulfill that state.

Donation

If you have too much money you can donate here ๐Ÿ˜Š (and now gop will stop asking for a donate link ๐Ÿ’)

pyaccengineer's People

Contributors

gqgunhed avatar rrennoir avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.