1. Do you need support for Assetto Corsa Competizione? Please use the proper forum below and ALWAYS zip and attach the WHOLE "Logs" folder in your c:\users\*youruser*\AppData\Local\AC2\Saved. The "AppData" folder is hidden by default, check "Hidden items" in your Windows view properties. If you report a crash, ALWAYS zip and attach the WHOLE "Crashes" folder in the same directory. Do not post "I have the same issue" in an existing thread with a game crash, always open your own thread. Do not PM developers and staff members for personal troubleshooting and support.
  2. As part of our continuous maintenance and improvements to Assetto Corsa Competizione we will be releasing small updates on a regular basis during the esports season which might not go through the usual announcement process detailing the changes until a later version update where these changes will be listed retrospectively.
  3. If ACC doesn't start with an error or the executable is missing, please add your entire Steam directory to the exceptions in your antivirus software, run a Steam integrity check or reinstall the game altogether. Make sure you add the User/Documents/Assetto Corsa Competizione folder to your antivirus/Defender exceptions and exclude it from any file sharing app (GDrive, OneDrive or Dropbox)! The Corsair iCue software is also known to conflict with Input Device initialization, if the game does not start up and you have such devices, please try disabling the iCue software and try again. [file:unknown] [line: 95] secure crt: invalid error is a sign of antivirus interference, while [Pak chunk signing mismatch on chunk] indicates a corrupted installation that requires game file verification.
  4. When reporting an issue with saved games, please always zip and attach your entire User/Documents/Assetto Corsa Competizione/Savegame folder, along with the logs and the crash folder (when reporting related to a crash).

About that maybe-server-api

Discussion in 'Chit Chat Room' started by Minolin, Jun 11, 2015.

  1. Chaining might not be that bad - I mean the plugins normally do not have tight realtime constraints. So the little delay introduced by the chaining might not be a big issue. Problems occur only if one of the plugins is not stable - that would break the chain at that point.
     
  2. Minolin

    Minolin Staff Member KS Dev Team

    It probably starts sucking if you chain 10 plugins in a row, but I don't know if we ever see this.
    Maybe we can use the acServer listening port multiple times, so only the server->plugin messages had to be redirected. Of course there is still that interval thing.
     
  3. Thomas Gocke

    Thomas Gocke Alien

    bigbawmcgraw and Minolin like this.
  4. Minolin

    Minolin Staff Member KS Dev Team

    Sounds nice thomas, very nice. Yes Jaye, you may complain now. Or just sudo apt-get install mono-runtime :p

    I've just a) merged thomas stuff and b) checked in some serious changes like 4.0 cp compablity and auto-port detection. <= This might break your current env. You'll need a valid server config somewhere.


    This checkin didn't work properly, can somebody help me please?
    https://github.com/minolin/acplugins/issues/8

    Edit: Managed to repair it, nvm
     
    Last edited: Aug 6, 2015
  5. Jaye

    Jaye Alien

    Yeah I see ^^ I must start reading a little bit about that Mono stuff :mad:;)

    The only complaining I do is to myself, real life encumbers me to have impetus for taking part with this here :(
     
  6. jasjeet

    jasjeet Racer

    See my post in Admin2Chat thread by Minolin to get it running and compiling with mono in Linux.
     
    Jaye likes this.
  7. Minolin

    Minolin Staff Member KS Dev Team

    Na he doesn't want to compile, but is speaking as linux server admin.

    But @Jaye , mono is *exactly* like java on linux. Runtime install, then execute mono with the .exe as a parameter like
    Code:
    sudo apt-get install mono-runtime
    mono MinoratingPlugin.exe & 
    
     
    jasjeet likes this.
  8. Jaye

    Jaye Alien

    Ah thx didn't know that I can also run exe files with it... To say it with Loddars words: again what learned :D
     
    jasjeet likes this.
  9. @Lord Kunos The number of laps in the leaderboard (transferred by the LapCompleted packet) is currently only 8 bit - this is not that much (255 laps can easily be achieved in an endurance race). Any chance for a change there?

    EDIT: It would also be handy to get the total time as in the ENTRY http output.
     
    Last edited: Aug 7, 2015
  10. Minolin

    Minolin Staff Member KS Dev Team

    One of my "biggest" problems currently is a MODT-style info per driver that joins. Did anybody think about this?

    Currently a NewSession-event is fired as soon as the client is connected, but he wouldn't see a message due to the loading time. And that one is insanely different; one of the worst is @Hagen . His Weltkriegs-PC loaded (before 1.2) up to 1.5 minutes for example. So just a "we'll wait 20s and fire the MODT" isn't good enough.

    Ideas:
    - observe the log, I'm sure I've seen a logline for "is there". But it's pretty unsecure because we don't know where it is, and it's probably also resource consuming
    - observe activity, like chat messages (unreliable as well) (and currently only possible by observing the log) or start driving (complex, needs realtime tracking)
    - flag the new driver as "new" and give the MODT once a new session starts

    Your ideas?
    Currently my minorating-plugin spams a message for each new session - I do not like it at all.
     
  11. Thomas Gocke

    Thomas Gocke Alien

    I've completed the work on the AcServerPluginManager and I think it is ready to be merged into master.
    https://github.com/minolin/acplugins/pull/9
    The multiple internal .NET plugins and external plugins can either be configured programmatically or via the app.config.

    The new AcServerPlugin class should be compatible with plugins developed based on the old AcServerPlugin without any code changes needed in the derived classes.
    I've renamed the old AcServerPlugin to AcServerPluginOld, so if any problems occur, one might change back to the old simply by deriving from AcServerPluginOld instead of AcServerPlugin.
     
  12. What about waiting until the car moves?
     
  13. Minolin

    Minolin Staff Member KS Dev Team

    Great news! Thank you very much, looks very promising. Best of both worlds, really.
    I'll review and merge the pull as soon as I can. Can't wait to try it.

    Requires realtime requests, something I would like to dodge inside the Framework. But maybe it's just better to implement it inside the plugin itself and do request realtime data.
     
  14. Jaye

    Jaye Alien

    Don't take it as rock solid, but it would be easy to test:
    From the AC Logfile it seems that you should be able to handle this with the first occurrence of the change of tyres.
    Code:
    xyz [] changed tyres to S
    Maybe it is a client driven event (when the client loads the default setup) and I'm sure that it doesn't occure when a player lost connection after the join procedure (know it when trying to help somebody who wasn't able to connect to one of my servers).
     
  15. Minolin

    Minolin Staff Member KS Dev Team

    yeah, the logfile would solve a lot. But how can you reliably get a logfile? Some servers are started without, some just pipe the log somewhere.

    Including myself:
    upload_2015-8-7_14-3-29.png
     
  16. Jaye

    Jaye Alien

    So a 30 second delay or ask the Lord for a new API event ;)
     
  17. Minolin

    Minolin Staff Member KS Dev Team

    30s isn't enough for @Hagen *lol*
    And the Lord? No, he's got better things to do. My current favorite is sending a player into the pits (and lock him for the session), just like the current penalty-penalty reaction.
     
  18. Jaye

    Jaye Alien

    Without the logfile/server output I really see no chance to find a solid solution.
     
  19. Stereo

    Stereo Alien

    What happens to text sent while the client's loading, just falls into a black hole?

    I've got a suspicion from the way Spotter works online that disconnected cars are left reporting where the player DCed until someone new enters them and hits the pits, my question is - does the car immediately 'drop into pit' when they request to connect, or only after they finish loading. You only need to track their position at a low frequency (eg. 1Hz) to detect when they've moved anyway so it's not like it's a burden on the local udp.


    Beyond that there's a difference between 'reset to pit' and 'physically simulated by the client', maybe the car hovers 4 inches up until their game is loaded, my own car certainly appears to settle onto the suspension once my game loads.
     
  20. nonnex

    nonnex Alien

    I see how fast the development grows and thats awesome. But (theres always a but) I would wish to have more influence to the runtime.
    In fact: I'm still looking forward to more PlugIn -> Server actions. Because at the given possibilities we are "only" - does not mean that it is not usefull - restricted to statistically work. Ok except some special commands that a plugin can send atm.

    In my oppionion some - just a bit - more setters then getters would help to enhance the creativity.
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice